PluginProbe
Tutor LMS – eLearning and online course solution / 1.3.7
Tutor LMS – eLearning and online course solution v1.3.7
4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 4.0.2 4.0.1 4.0.0 3.9.15 3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 All 191 releases
tutor / templates / dashboard / earning / report-date_range.php
report-date_range.php
119 lines 4.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Template for displaying instructors earnings
4 *
5 * @since v.1.1.2
6 *
7 * @author Themeum
8 * @url https://themeum.com
9 */
10
11 global $wpdb;
12
13 $user_id = get_current_user_id();
14
15 /**
16 * Getting the This Week
17 */
18
19 $start_date = sanitize_text_field(tutor_utils()->avalue_dot('date_range_from', $_GET));
20 $end_date = sanitize_text_field(tutor_utils()->avalue_dot('date_range_to', $_GET));
21
22 $earning_sum = tutor_utils()->get_earning_sum($user_id, compact('start_date', 'end_date'));
23 if ( ! $earning_sum){
24 echo '<p>'.__('No Earning info available', 'tutor' ).'</p>';
25 return;
26 }
27
28 $complete_status = tutor_utils()->get_earnings_completed_statuses();
29 $statuses = $complete_status;
30 $complete_status = "'".implode("','", $complete_status)."'";
31
32 /**
33 * Format Date Name
34 */
35 $begin = new DateTime($start_date);
36 $end = new DateTime($end_date.' + 1 day');
37 $interval = DateInterval::createFromDateString('1 day');
38 $period = new DatePeriod($begin, $interval, $end);
39
40 $datesPeriod = array();
41 foreach ($period as $dt) {
42 $datesPeriod[$dt->format("Y-m-d")] = 0;
43 }
44
45 /**
46 * Query This Month
47 */
48
49 $salesQuery = $wpdb->get_results( "
50 SELECT SUM(instructor_amount) as total_earning,
51 DATE(created_at) as date_format
52 from {$wpdb->prefix}tutor_earnings
53 WHERE user_id = {$user_id} AND order_status IN({$complete_status})
54 AND (created_at BETWEEN '{$start_date}' AND '{$end_date}')
55 GROUP BY date_format
56 ORDER BY created_at ASC ;");
57
58 $total_earning = wp_list_pluck($salesQuery, 'total_earning');
59 $queried_date = wp_list_pluck($salesQuery, 'date_format');
60 $dateWiseSales = array_combine($queried_date, $total_earning);
61
62 $chartData = array_merge($datesPeriod, $dateWiseSales);
63 foreach ($chartData as $key => $salesCount){
64 unset($chartData[$key]);
65 $formatDate = date('d M', strtotime($key));
66 $chartData[$formatDate] = $salesCount;
67 }
68
69 $statements = tutor_utils()->get_earning_statements($user_id, compact('start_date', 'end_date', 'statuses'));
70
71 ?>
72
73 <div class="tutor-dashboard-info-cards">
74 <div class="tutor-dashboard-info-card" title="<?php _e('All time', 'tutor'); ?>">
75 <p>
76 <span> <?php _e('My Earning', 'tutor'); ?> </span>
77 <span class="tutor-dashboard-info-val"><?php echo tutor_utils()->tutor_price($earning_sum->instructor_amount); ?></span>
78 </p>
79 </div>
80 <div class="tutor-dashboard-info-card" title="<?php _e('Based on course price', 'tutor'); ?>">
81 <p>
82 <span> <?php _e('All time sales', 'tutor'); ?> </span>
83 <span class="tutor-dashboard-info-val"><?php echo tutor_utils()->tutor_price($earning_sum->course_price_total); ?></span>
84 </p>
85 </div>
86 <div class="tutor-dashboard-info-card">
87 <p>
88 <span> <?php _e('Deducted Commissions', 'tutor'); ?> </span>
89 <span class="tutor-dashboard-info-val"><?php echo tutor_utils()->tutor_price($earning_sum->admin_amount); ?></span>
90 </p>
91 </div>
92
93
94 <?php if ($earning_sum->deduct_fees_amount > 0){ ?>
95 <div class="tutor-dashboard-info-card" title="<?php _e('Deducted Fees', 'tutor'); ?>">
96 <p>
97 <span> <?php _e('Deducted Fees', 'tutor'); ?> </span>
98 <span class="tutor-dashboard-info-val"><?php echo tutor_utils()->tutor_price($earning_sum->deduct_fees_amount); ?></span>
99 </p>
100 </div>
101 <?php } ?>
102 </div>
103
104
105 <div class="tutor-dashboard-item-group">
106 <h4><?php echo sprintf(__("Showing Result from %s to %s", 'tutor-report'), $begin->format('d F, Y'), $end->format('d F, Y')); ?></h4>
107 <?php
108 tutor_load_template('dashboard.earning.chart-body', compact('chartData', 'statements'));
109 ?>
110 </div>
111
112 <div class="tutor-dashboard-item-group">
113 <h4><?php _e('Sales statements for this period', 'tutor') ?></h4>
114 <?php tutor_load_template('dashboard.earning.statement', compact('chartData', 'statements')); ?>
115 </div>
116
117
118
119