private function _setEventAttributes($model, $params) { //Grid sends move request if (isset($params['offset'])) { $model->start_time = \GO\Base\Util\Date::roundQuarters($model->start_time + $params['offset']); $model->end_time = \GO\Base\Util\Date::roundQuarters($model->end_time + $params['offset']); } if (isset($params['offset_days'])) { $model->start_time = \GO\Base\Util\Date::date_add($model->start_time, $params['offset_days']); $model->end_time = \GO\Base\Util\Date::date_add($model->end_time, $params['offset_days']); } //when a user resizes an event if (isset($params['duration_end_time'])) { //only use time for the update $old_end_date = getdate($model->end_time); $new_end_time = getdate($params['duration_end_time']); $model->end_time = mktime($new_end_time['hours'], $new_end_time['minutes'], 0, $old_end_date['mon'], $old_end_date['mday'], $old_end_date['year']); } if (!empty($params['freq'])) { $rRule = new \GO\Base\Util\Icalendar\Rrule(); $rRule->readJsonArray($params); $model->rrule = $rRule->createRrule(); } elseif (isset($params['freq'])) { $model->rrule = ""; } if (isset($params['reminder_value']) && isset($params['reminder_multiplier'])) { $model->reminder = \GO\Base\Util\Number::unlocalize($params['reminder_value']) * $params['reminder_multiplier']; } // else // $model->reminder = 0; $model->setAttributes($params); }
protected function beforeSubmit(&$response, &$model, &$params) { if (isset($params['freq'])) { if (!empty($params['freq'])) { $rRule = new \GO\Base\Util\Icalendar\Rrule(); $rRule->readJsonArray($params); $model->rrule = $rRule->createRrule(); } else { $model->rrule = ''; } } if (!empty($params['remind'])) { // Check for a setted reminder $model->reminder = \GO\Base\Util\Date::to_unixtime($params['remind_date'] . ' ' . $params['remind_time']); } else { $model->reminder = 0; } if ($model->isNew && empty($params['remind']) && !isset($params['priority'])) { //This checks if it is called from the quickadd bar $model->reminder = $model->getDefaultReminder(\GO\Base\Util\Date::to_unixtime($params['start_time'])); } return parent::beforeSubmit($response, $model, $params); }