protected function summaryEnrols() { $this->mTemplate->sSectionTitle = $this->getLang('summary_meals'); // $aCalendarData = $this->generateCalendarData( time(), '/account/summary/' ); // $aData[ 'calendar' ] = View::factory( 'calendar', $aCalendarData )->render(); $sCurrentDate = date('Y-m-d'); $bSeparateDay = false; if (isset($_POST['submit'])) { $sFrom = $this->post('from'); $sTo = $this->post('to'); $oValidator = new Module_Validator(); $oValidator->field('summary_from', $sFrom, $this->getLang('summary_from'))->rules('required|date'); $oValidator->field('summary_to', $sTo, $this->getLang('summary_to'))->rules('required|date'); if ($oValidator->validate()) { $bSeparateDay = isset($_POST['separate_day']) ? (bool) $_POST['separate_day'] : false; $oOrder = new Model_Order(); $aSummary = $oOrder->getSummaryDay((int) $this->oCurrentUser->account_id, $sFrom, $sTo, $bSeparateDay); // $aData[ 'error' ] = '[<pre>' . print_r( $aSummary, 1 ) . '</pre>]'; $iSuma = 0; // start if ($bSeparateDay) { foreach ($aSummary as $aPosition) { if (!isset($aData['aSummary'][$aPosition['date']]['aColumns'])) { $aData['aSummary'][$aPosition['date']]['aColumns'] = $this->getLang('account.summary_columns'); $aData['aSummary'][$aPosition['date']]['sDate'] = $aPosition['date']; $aData['aSummary'][$aPosition['date']]['sWeekDay'] = $this->getLang('Catering.week_days[' . date('w', strtotime($aPosition['date'])) . ']'); } $aData['aSummary'][$aPosition['date']]['aPositions'][] = $aPosition; $iSuma = isset($aData['aSummary'][$aPosition['date']]['aFooter']) ? $aData['aSummary'][$aPosition['date']]['aFooter'][3] + $aPosition['price'] : $aPosition['price']; $aData['aSummary'][$aPosition['date']]['aFooter'] = array('', '', '', $iSuma); } } else { foreach ($aSummary as $aPosition) { $iSuma += $aPosition['price']; } $aData['aSummary'][0]['aColumns'] = $this->getLang('summary_columns'); $aData['aSummary'][0]['aPositions'] = $aSummary; $aData['aSummary'][0]['aFooter'] = array('', '', '', $iSuma); $aData['aSummary'][0]['sDate'] = $sFrom . ' - ' . $sTo; } // end } else { $aErrors = $oValidator->getError(); foreach ($aErrors as $sField => $aError) { $sMsg .= '<br />' . $this->getLang($aError['msg'], $aError['field_name']); } $aData['error'] = $this->getLang('input_validation_failed') . $sMsg; } } else { $sFrom = date('Y-m-d'); $sTo = date('Y-m-d'); } $aData['aForm'] = array('sPeriod' => $this->getLang('summary_period'), 'sFrom' => $this->getLang('summary_from'), 'sTo' => $this->getLang('summary_to'), 'sSeparateDay' => $this->getLang('summary_separate_days'), 'sDateFrom' => $sFrom, 'sDateTo' => $sTo, 'bSeparateDay' => $bSeparateDay, 'sSubmit' => $this->getLang('summary_generate')); $this->mTemplate->content = View::factory('account/summary_current', $aData)->render(); }