private function _fixAllDayEvents() { foreach ($this->_getData() as $e) { $eeModel = EventEntry::findOne($e['event_entry_id']); $startDate = date('d-m-Y', $eeModel->start_timestamp); $dateArray = explode('-', $startDate); $endDate = date('d-m-Y', $eeModel->end_timestamp); $newStartTimestamp = mktime(7, 0, 0, $dateArray[1], $dateArray[0], $dateArray[2]); $newEndTimestamp = mktime(21, 0, 0, $dateArray[1], $dateArray[0], $dateArray[2]); $eeModel->start_timestamp = $newStartTimestamp; $eeModel->end_timestamp = $newEndTimestamp; //if (! $eeModel->save()) // print_r($eeModel->getErrors()); } }
public function actionUpdateevent() { $request = \yii::$app->request; if (yii::$app->CalendarComponent->eventEntryRecord($request->post('pk') !== null)) { $post = $request->post('pk'); } // check to see if we are doing an update via form and not resize or drag if ($request->post('name')) { $post[$request->post('name')] = $request->post('value'); } $eventEntryRecord = yii::$app->CalendarComponent->eventEntryRecord($post['ee_id']); $eventEntryModel = EventEntry::findOne($post['ee_id']); $eventModel = Event::findOne($eventEntryModel->event->id); if (!yii::$app->CalendarComponent->canUpdateEvent(array_merge($eventEntryRecord, $post))) { throw new \yii\web\HttpException(403, sprintf('Event update not authorized for use')); } $bookingModel = new Booking(); $bookingModel->attributes = array_merge($eventEntryRecord, $eventModel->attributes, $post); if ($bookingModel->validate()) { $eventEntryModel->load(['EventEntry' => $bookingModel->attributes]); $eventModel->load(['Event' => $bookingModel->attributes]); if ($eventEntryModel->validate() && $eventModel->validate()) { $eventEntryModel->save(); $eventModel->save(); yii::$app->AjaxResponse->error = false; yii::$app->AjaxResponse->message = $bookingModel->jsObject; } else { yii::$app->AjaxResponse->message = array_values($eventEntryModel->getErrors() + $eventModel->getErrors()); } } else { yii::$app->AjaxResponse->message = array_values($bookingModel->getErrors()); } yii::$app->AjaxResponse->sendContent(); }
/** * Finds the EventEntry model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return EventEntry the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = EventEntry::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }