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); }
public function defaultAttributes() { $defaults = array('status' => self::STATUS_CONFIRMED, 'start_time' => \GO\Base\Util\Date::roundQuarters(time()), 'end_time' => \GO\Base\Util\Date::roundQuarters(time() + 3600)); $settings = Settings::model()->getDefault(\GO::user()); if ($settings) { $defaults = array_merge($defaults, array('reminder' => $settings->reminder, 'calendar_id' => $settings->calendar_id, 'background' => $settings->background)); } return $defaults; }