You appear to be a bot. Output may be restricted
Description
Show report graphs of a specific product
Usage
$void = edd_reports_graph_of_download( $download_id );
Parameters
- $download_id
- ( mixed ) optional –
Returns
void
Source
File name: easy-digital-downloads/includes/admin/reporting/graphing.php
Lines:
1 to 100 of 247
function edd_reports_graph_of_download( $download_id = 0 ) { // Retrieve the queried dates $dates = edd_get_report_dates(); // Determine graph options switch ( $dates['range'] ) { case 'today' : case 'yesterday' : $day_by_day = true; break; case 'last_year' : case 'this_year' : $day_by_day = false; break; case 'last_quarter' : case 'this_quarter' : $day_by_day = false; break; case 'other' : if ( $dates['m_start'] == 12 && $dates['m_end'] == 1 ) { $day_by_day = true; } elseif ( $dates['m_end'] - $dates['m_start'] >= 3 || ( $dates['year_end'] > $dates['year'] && ( $dates['m_start'] - $dates['m_end'] ) != 10 ) ) { $day_by_day = false; } else { $day_by_day = true; } break; default: $day_by_day = true; break; } $earnings_totals = (float) 0.00; // Total earnings for time period shown $sales_totals = 0; // Total sales for time period shown $include_taxes = empty( $_GET['exclude_taxes'] ) ? true : false; $earnings_data = array(); $sales_data = array(); if ( $dates['range'] == 'today' || $dates['range'] == 'yesterday' ) { // Hour by hour $month = $dates['m_start']; $hour = 0; $minute = 0; $second = 0; while ( $hour <= 23 ) : if ( $hour == 23 ) { $minute = $second = 59; } $date = mktime( $hour, $minute, $second, $month, $dates['day'], $dates['year'] ); $date_end = mktime( $hour + 1, $minute, $second, $month, $dates['day'], $dates['year'] ); $sales = EDD()->payment_stats->get_sales( $download_id, $date, $date_end ); $sales_totals += $sales; $earnings = EDD()->payment_stats->get_earnings( $download_id, $date, $date_end, $include_taxes ); $earnings_totals += $earnings; $sales_data[] = array( $date * 1000, $sales ); $earnings_data[] = array( $date * 1000, $earnings ); $hour++; endwhile; } elseif( $dates['range'] == 'this_week' || $dates['range'] == 'last_week' ) { $num_of_days = cal_days_in_month( CAL_GREGORIAN, $dates['m_start'], $dates['year'] ); $report_dates = array(); $i = 0; while ( $i <= 6 ) { if ( ( $dates['day'] + $i ) <= $num_of_days ) { $report_dates[ $i ] = array( 'day' => (string) $dates['day'] + $i, 'month' => $dates['m_start'], 'year' => $dates['year'], ); } else { $report_dates[ $i ] = array( 'day' => (string) $i, 'month' => $dates['m_end'], 'year' => $dates['year_end'], ); } $i++; } foreach ( $report_dates as $report_date ) { $date = mktime( 0, 0, 0, $report_date['month'], $report_date['day'], $report_date['year'] ); $date_end = mktime( 23, 59, 59, $report_date['month'], $report_date['day'], $report_date['year'] ); $sales = EDD()->payment_stats->get_sales( $download_id, $date, $date_end ); $sales_totals += $sales; $earnings = EDD()->payment_stats->get_earnings( $download_id, $date, $date_end, $include_taxes ); $earnings_totals += $earnings; $sales_data[] = array( $date * 1000, $sales ); $earnings_data[] = array( $date * 1000, $earnings ); } } else {