$m_start = $y == $year_start ? intval($month_start) : 1; $m_end = $y == $year_end ? intval($month_end) : 12; for ($m = $m_start; $m <= $m_end; $m++) { $period = $y . str_pad($m, 2, '0', STR_PAD_LEFT); ReportBookkeeping::$output_query_as_table = true; $result = ReportBookkeeping::queryInvoices($period); echo '<h3 style="margin:0 0 10px 0;">' . $period . '</h3>'; foreach ($result as $key => $value) { if (strpos($key, 'qty') !== false) { $value_used = intval($value); } else { $value_used = number_format($value, 2); } echo '<div>' . ucwords(str_replace('_', ' ', $key)) . ' = ' . $value_used . '</div>'; } $receipts = ReportBookkeeping::getTotalReceipts($period); $returns = ReportBookkeeping::getTotalReturns($period); echo '<div>Total Amount Received = ' . number_format($receipts, 2) . '</div>' . '<div>Total Returns (including refund & non refund, ' . 'shipping cost and small amount adjustment) = ' . number_format($returns, 2) . '</div>' . '<div> <br /> </div>'; } } } } else { //WHEN CALLED WITHOUT SPECIFIC PERIOD (BY CRON) //NO NEED TO DISPLAY RESULT AND SAVE QUERIED DATA OF CURRENT PERIOD //set timetamp based on when cron is called, //if >=23 then consider grabbing today as period //else then always use previous day as period ReportBookkeeping::setOptionArchiveQueryAsExcel(true); $logger->write('Generating Period'); $period_timestamp = date('G') >= 23 ? time() : strtotime('-1 day'); $period = date(ReportBookkeeping::PERIOD_DATE_FORMAT, $period_timestamp);