Пример #1
0
 public function ajaxSetFilterDayAction()
 {
     $day = $this->_getParam('day');
     $filter = $this->getCurrentDisplayFilter();
     $time = 0;
     if ($day == 'next') {
         $time = '+1 day';
         $date = strtotime($time, strtotime($filter->date));
     } else {
         if ($day == 'previous') {
             $time = '-1 day';
             $date = strtotime($time, strtotime($filter->date));
         } else {
             $x = explode('-', $day);
             $m = $x[1];
             $d = $x[2];
             $y = $x[0];
             if (count($x) != 3 || !checkdate($m, $d, $y)) {
                 $msg = 'Invalid date format!';
                 throw new Exception($msg);
             }
             $date = strtotime($day);
         }
     }
     $this->_session->filter->date = date('Y-m-d', $date);
     $columns = $this->_session->filter->columns;
     foreach ($columns as $index => $col) {
         if (!isset($col['dateFilter'])) {
             continue;
         }
         if ($time === 0) {
             $tmpDate = $this->_session->filter->date;
         } else {
             $tmpDate = date('Y-m-d', strtotime($time, strtotime($col['dateFilter'])));
         }
         $this->_session->filter->columns[$index]['dateFilter'] = $tmpDate;
         $fs = $this->_session->filter->columns[$index];
         if (isset($fs['filterStateId'])) {
             $filterState = new FilterState();
             $filterState->filterStateId = (int) $fs['filterStateId'];
             $filterState->populate();
             $filterState->populateWithArray($fs);
             $filterState->persist();
         }
     }
     $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json');
     $json->suppressExit = true;
     $data = array();
     $json->direct($data);
 }
 public function processAddColumnAction()
 {
     $calendar = $this->_getParam('calendar');
     $filter = $this->getCurrentDisplayFilter();
     $providerId = $calendar['providerId'];
     $roomId = $calendar['roomId'];
     /*
     $scheduleEvent = new ScheduleEvent();
     $scheduleEvent->providerId = $providerId;
     $scheduleEvent->roomId = $roomId;
     $scheduleEvent->title = "Event {$providerId}";
     $scheduleEvent->start = $filter->date . ' ' . $filter->end;
     $scheduleEvent->end = $filter->date . ' ' . $filter->start;
     $scheduleEvent->persist();
     */
     $filterState = new FilterState();
     if (!isset($calendar['tabName'])) {
         $filterState->tabName = Menu::getCurrentlySelectedActivityGroup();
     }
     $filterState->populateWithArray($calendar);
     $filterState->persist();
     $this->_session->filter->columns[] = $filterState->toArray();
     $data = array();
     $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json');
     $json->suppressExit = true;
     $data['providerId'] = $providerId;
     $data['columnId'] = max(array_keys($this->_session->filter->columns));
     $json->direct($data);
 }