Example #1
0
 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();
 }