Esempio n. 1
0
 /**
  * Редактируем события
  * @param Calendar_Event $event
  * @return bool
  */
 public function edit(Calendar_Event $event)
 {
     $eventArray = Calendar_Model::getByChain($this->_user, $event->getChain());
     if (count($eventArray) == 0) {
         $this->_errors[] = "Событие не найдено";
     }
     // Если повторять каждый день
     if ($event->getEvery() == 1) {
         $arrayDays = $this->_repeat($event, 'day');
         // Неделя
     } elseif ($event->getEvery() == 7) {
         $arrayDays = $this->_repeat($event, 'week');
         // Месяц
     } elseif ($event->getEvery() == 30) {
         $arrayDays = $this->_repeat($event, 'month');
         // Квартал (сейчас не работает!)
     } elseif ($event->getEvery() == 90) {
         $arrayDays = $this->_repeat($event, '3 month');
         // Год
     } elseif ($event->getEvery() == 365) {
         $arrayDays = $this->_repeat($event, 'year');
         // Без повторения
     } else {
         $arrayDays = array($event->getDate());
     }
     if (count($this->getErrors()) == 0) {
         // Сперва удаляем все подтверждённые, затем создаём новые :)
         if ($this->deleteEvents($event->getChain())) {
             $model = Calendar_Model::update($this->_user, $event, $arrayDays);
         }
     } else {
         return false;
     }
     return true;
 }
Esempio n. 2
0
 /**
  * Обновляет события
  * @param oldUser $user
  * @param Calendar_Event $event
  * @param array $array
  * @return bool
  */
 public static function update(oldUser $user, Calendar_Event $event, $array)
 {
     // Создаём само событие
     $sql = "UPDATE calendar_chains c\n            SET `last` = ?, `every` = ?, `repeat` = ?, `week` = ?\n            WHERE `user_id` = ? AND id = ? ;";
     // Создаём событие в календаре
     Core::getInstance()->db->query($sql, $event->getLast(), $event->getEvery(), $event->getRepeat(), $event->getWeek(), $user->getId(), $event->getChain());
     // Возвращает даты подтверждённых в этой серии
     $accepted = self::loadAcceptedByChain($user, $event->getChain());
     // Создаём повторы события
     $arrayDays = array();
     foreach ($array as $value) {
         if (in_array($value, $accepted)) {
             continue;
         }
         $arrayDays[] = $value;
     }
     return self::createOperations($user, $event, $event->getChain(), $arrayDays);
 }