예제 #1
0
파일: Catering.php 프로젝트: maxwroc/PHP
 protected function getMealsForDay($iAccountId, $iYear, $iMonth, $iDay)
 {
     $oMeal = new Model_Meal();
     $sStart = date('Y-m-d H:i:s', mktime(0, 0, 0, $iMonth, $iDay, $iYear));
     $sEnd = date('Y-m-d H:i:s', mktime(23, 59, 59, $iMonth, $iDay, $iYear));
     return $oMeal->getMeals($iAccountId, $sStart, $sEnd);
 }
예제 #2
0
파일: Account.php 프로젝트: maxwroc/PHP
 protected function generateEnrolData($iUserId, $iWeekNumber = 0)
 {
     // gdy nie wybrano zadnej daty
     $iDay = date('j');
     $iMonth = date('n');
     $iYear = date('Y');
     $iTime = time();
     // jezeli wybrano inny tydzien
     if ($iWeekNumber != 0) {
         $iWeekNumber = (int) $iWeekNumber;
         $iTime = mktime(0, 0, 0, $iMonth, $iDay + $iWeekNumber * 7, $iYear);
         $iDay = date('j', $iTime);
         $iMonth = date('n', $iTime);
         $iYear = date('Y', $iTime);
     }
     $iWeekDay = date('w', $iTime) == 0 ? 7 : date('w', $iTime);
     // obliczamy poczatek i koniec tygodnia
     $iStartTime = mktime(0, 0, 0, $iMonth, $iDay - ($iWeekDay - 1), $iYear);
     $sStartDate = date('Y-m-d', $iStartTime);
     $iEndTime = mktime(0, 0, 0, $iMonth, $iDay + (7 - $iWeekDay), $iYear);
     $sEndDate = date('Y-m-d', $iEndTime);
     $aWeek = array();
     $oMeal = new Model_Meal();
     // zapisujemy
     if (isset($_POST['submit']) and !isset($_POST['user_id'])) {
         $aMeals = $oMeal->getMeals($this->oCurrentUser->account_id, $sStartDate, $sEndDate);
         $bSaved = $this->saveOrders($this->oCurrentUser->account_id, $iUserId, $aMeals);
         if ($bSaved) {
             $aMeta = $this->mTemplate->aMeta;
             $aMeta[] = '<meta http-equiv="refresh" content="1;url=' . $this->mTemplate->anchor() . '" />';
             $this->mTemplate->aMeta = $aMeta;
             return $this->getLang('Catering.save_meals_successfully');
         } else {
             return $this->getLang('Catering.save_meals_failed');
         }
     }
     // wyszukujemy posików i grupujemy po dacie
     $aMeals = $oMeal->getMeals($this->oCurrentUser->account_id, $sStartDate, $sEndDate, 'date');
     // wyszukujemy zamowienia
     $aOrderedMeals = array();
     $oOrder = new Model_Order();
     $aOrders = $oOrder->where('user_id', $iUserId)->getAll();
     foreach ($aOrders as $aOrder) {
         $aOrderedMeals[] = $aOrder['meal_id'];
     }
     foreach ($aMeals as $sDate => $aMeal) {
         $aWeek[$sDate]['aMeals'][0] = array('name' => $this->getLang('Catering.no_order'), 'meal_id' => 0, 'optional' => 0, 'bChecked' => false, 'bDisabled' => false);
         $aWeek[$sDate]['sWeekday'] = date('l', strtotime($sDate));
         foreach ($aMeal as $iMealId => $aMealData) {
             $aWeek[$sDate]['aMeals'][] = array('name' => $aMealData['lname'], 'fname' => $aMealData['fname'], 'meal_id' => $iMealId, 'price' => $aMealData['price'] . $this->getLang('Catering.currency'), 'optional' => $aMealData['optional'], 'bChecked' => in_array($iMealId, $aOrderedMeals) ? true : false, 'bDisabled' => false);
         }
     }
     $aData['aWeek'] = $aWeek;
     $aData['sNextText'] = $this->getLang('Catering.next');
     $aData['sNextLink'] = '/account/orders/' . $iUserId . '/' . ($iWeekNumber + 1) . '/';
     $aData['sPrevText'] = $this->getLang('Catering.prev');
     $aData['sPrevLink'] = '/account/orders/' . $iUserId . '/' . ($iWeekNumber - 1) . '/';
     $aData['submit'] = 'Zapisz';
     return $aData;
 }