protected function afterLoad(&$response, &$model, &$params) { if (!empty($model->rrule)) { $rRule = new \GO\Base\Util\Icalendar\Rrule(); $rRule->readIcalendarRruleString($model->due_time, $model->rrule); $createdRule = $rRule->createJSONOutput(); $response['data'] = array_merge($response['data'], $createdRule); } $settings = \GO\Tasks\Model\Settings::model()->findByPk(\GO::user()->id); $response['data']['remind_before'] = $settings->reminder_days; if (!empty($response['data']['reminder'])) { $response['data']['remind'] = 1; $response['data']['remind_date'] = date(\GO::user()->completeDateFormat, $model->reminder); $response['data']['remind_time'] = date(\GO::user()->time_format, $model->reminder); } else { $response['data']['remind_date'] = date(\GO::user()->completeDateFormat, $model->getDefaultReminder($model->start_time)); $response['data']['remind_time'] = date(\GO::user()->time_format, $model->getDefaultReminder($model->start_time)); } if (!empty($params['project_id']) && empty($params['id'])) { $findParams = \GO\Base\Db\FindParams::newInstance()->select('count(*) AS count')->single(); $findParams->getCriteria()->addCondition('project_id', $params['project_id']); $record = \GO\Tasks\Model\Task::model()->find($findParams); $response['data']['name'] = '[' . ($record->count + 1) . '] '; } //$response['data']['remind_time']=date(\GO::user()->time_format, strtotime($response['data']['reminder'])); return parent::afterLoad($response, $model, $params); }
public function getDefaultReminder($startTime) { $settings = Settings::model()->getDefault(\GO::user()); $tmp = \GO\Base\Util\Date::date_add($startTime, -$settings->reminder_days); // Set default to 8:00 when reminder_time is not set. $rtime = empty($settings->reminder_time) ? "08:00" : $settings->reminder_time; $dateString = date('Y-m-d', $tmp) . ' ' . $rtime; $time = strtotime($dateString); return $time; }