chart-body.php
7 years ago
earning-report-top-menu.php
7 years ago
report-date_range.php
7 years ago
report-last_month.php
7 years ago
report-last_week.php
7 years ago
report-last_year.php
7 years ago
report-this_month.php
7 years ago
report-this_week.php
7 years ago
report-this_year.php
7 years ago
report.php
7 years ago
statements.php
7 years ago
report-date_range.php
106 lines
| 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-earning-info-row"> |
| 74 | |
| 75 | <div class="tutor-dashboard-earning-sum"> |
| 76 | <h3><?php echo tutor_utils()->tutor_price($earning_sum->instructor_amount); ?></h3> |
| 77 | <p><?php _e('My Earning', 'tutor'); ?></p> |
| 78 | <p class="text-small"><?php _e('All time', 'tutor'); ?></p> |
| 79 | </div> |
| 80 | |
| 81 | <div class="tutor-dashboard-earning-sum"> |
| 82 | <h3><?php echo tutor_utils()->tutor_price($earning_sum->course_price_total); ?></h3> |
| 83 | <p><?php _e('All time sales.', 'tutor'); ?></p> |
| 84 | <p class="text-small"><?php _e('Based on course price.', 'tutor'); ?></p> |
| 85 | </div> |
| 86 | |
| 87 | <div class="tutor-dashboard-earning-sum"> |
| 88 | <h3><?php echo tutor_utils()->tutor_price($earning_sum->admin_amount); ?></h3> |
| 89 | <p><?php _e('Deducted Commissions', 'tutor'); ?></p> |
| 90 | </div> |
| 91 | |
| 92 | <?php |
| 93 | if ($earning_sum->deduct_fees_amount > 0){ |
| 94 | ?> |
| 95 | <div class="tutor-dashboard-earning-sum"> |
| 96 | <h3><?php echo tutor_utils()->tutor_price($earning_sum->deduct_fees_amount); ?></h3> |
| 97 | <p><?php _e('Deducted Fees', 'tutor'); ?></p> |
| 98 | </div> |
| 99 | <?php } ?> |
| 100 | </div> |
| 101 | |
| 102 | |
| 103 | |
| 104 | <h4><?php echo sprintf(__("Showing Result from %s to %s", 'tutor-report'), $begin->format('d F, Y'), $end->format('d F, Y')); ?></h4> |
| 105 | |
| 106 | <?php tutor_load_template('dashboard.earning.chart-body', compact('chartData', 'statements')); ?> |