예제 #1
0
 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);
 }
예제 #2
0
 protected function afterLoad(&$response, &$model, &$params)
 {
     // create message model from client's content field, turned into HTML format
     $message = \GO\Email\Model\SavedMessage::model()->createFromMimeData($model->content);
     $html = empty($params['content_type']) || $params['content_type'] == 'html';
     $response['data'] = array_merge($response['data'], $message->toOutputArray($html));
     unset($response['data']['content']);
     return parent::afterLoad($response, $model, $params);
 }
예제 #3
0
 protected function afterLoad(&$response, &$model, &$params)
 {
     $modelTypeModel = \GO\Base\Model\ModelType::model()->findSingleByAttribute('id', $model->model_type_id);
     if ($modelTypeModel->model_name == 'GO\\Addressbook\\Model\\Contact') {
         $modelWithComment = \GO::getModel($modelTypeModel->model_name)->findByPk($model->model_id);
         $actionDate = $modelWithComment->getAttribute('action_date');
         $response['data']['action_date'] = \GO\Base\Util\Date::get_timestamp($actionDate, false);
     }
     return parent::afterLoad($response, $model, $params);
 }
예제 #4
0
 protected function afterLoad(&$response, &$model, &$params)
 {
     $url = \GO::createExternalUrl('calendar', 'openCalendar', array('calendars' => array($response['data']['id']), 'group_id' => $response['data']['group_id']));
     // Show "None" in the Caldav Tasklist selection when tasklist_id is 0
     if (empty($response['data']['tasklist_id'])) {
         $response['data']['tasklist_id'] = "";
     }
     $response['data']['url'] = '<a class="normal-link" target="_blank" href="' . $url . '">' . \GO::t('rightClickToCopy', 'calendar') . '</a>';
     // Get a link to the ics exporter
     //$response['data']['ics_url']='<a class="normal-link" target="_blank" href="'.\GO::url("calendar/calendar/exportIcs", array("calendar_id"=>$response['data']['id'],"months_in_past"=>1)).'">'.\GO::t('rightClickToCopy','calendar').'</a>';
     // Get a link to the ics file that is exported
     $response['data']['ics_url'] = '<a class="normal-link" target="_blank" href="' . $model->getPublicIcsUrl() . '">' . \GO::t('rightClickToCopy', 'calendar') . '</a>';
     return parent::afterLoad($response, $model, $params);
 }
예제 #5
0
 protected function afterLoad(&$response, &$model, &$params)
 {
     //Join the contact that belongs to the user in the form response.
     if (\GO::modules()->isInstalled('addressbook')) {
         $contact = false;
         if (!empty($model->id)) {
             $contact = $model->contact;
         } elseif (!empty($params['contact_id'])) {
             $contact = \GO\Addressbook\Model\Contact::model()->findByPk($params['contact_id']);
             $response['data']['contact_id'] = $contact->id;
         }
         if (!$contact) {
             $contact = new \GO\Addressbook\Model\Contact();
         }
         if ($contact) {
             $attr = $contact->getAttributes();
             // Set the default addressbook ID to the "Users" addressbook when it is a new User
             if ($model->isNew) {
                 $addressbook = \GO\Addressbook\Model\Addressbook::model()->getUsersAddressbook();
                 if ($addressbook) {
                     $attr['addressbook_id'] = $addressbook->id;
                     if (empty($response['remoteComboTexts'])) {
                         $response['remoteComboTexts'] = array();
                     }
                     $response['remoteComboTexts']['addressbook_id'] = $addressbook->name;
                     // Add remote combo text
                 }
             }
             $response['data'] = array_merge($attr, $response['data']);
             if (empty($response['data']['company_id'])) {
                 $response['data']['company_id'] = "";
             }
         }
         if (!empty($response['data']['date_separator']) && !empty($response['data']['date_format'])) {
             $response['data']['dateformat'] = $response['data']['date_separator'] . ':' . $response['data']['date_format'];
         }
         unset($response['data']['password']);
     }
     return parent::afterLoad($response, $model, $params);
 }
예제 #6
0
 protected function afterLoad(&$response, &$model, &$params)
 {
     $response['data']['email_enable_labels'] = !empty(GO::config()->email_enable_labels);
     $response['data']['smtp_auth'] = !empty($model->smtp_username);
     //hide passwords
     $response['data']['password'] = '';
     $response['data']['smtp_password'] = '';
     //		$response['data']['password'] = $model->decryptPassword();
     //		$response['data']['smtp_password'] = $model->decryptSmtpPassword();
     $alias = $model->getDefaultAlias();
     $response['data']['mbroot'] = trim($response['data']['mbroot'], './');
     $response['data']['email'] = $alias->email;
     $response['data']['name'] = $alias->name;
     $response['data']['signature'] = $alias->signature;
     if (\GO::modules()->isInstalled('addressbook')) {
         $defaultTemplateModel = \GO\Addressbook\Model\DefaultTemplateForAccount::model()->findByPk($model->id);
         if ($defaultTemplateModel) {
             $response['data']['default_account_template_id'] = $defaultTemplateModel->template_id;
         } else {
             $response['data']['default_account_template_id'] = '';
         }
     }
     return parent::afterLoad($response, $model, $params);
 }
예제 #7
0
 protected function afterLoad(&$response, &$model, &$params)
 {
     $response['data']['path'] = $model->path;
     $response['data']['size'] = \GO\Base\Util\Number::formatSize($model->fsFile->size());
     $response['data']['extension'] = strtolower($model->fsFile->extension());
     $response['data']['type'] = \GO::t($response['data']['extension'], 'base', 'filetypes');
     $response['data']['name'] = $model->fsFile->nameWithoutExtension();
     if (!empty($model->user)) {
         $response['data']['username'] = $model->user->name;
     }
     if (!empty($model->mUser)) {
         $response['data']['musername'] = $model->mUser->name;
     }
     $response['data']['locked_user_name'] = $model->lockedByUser ? $model->lockedByUser->name : '';
     if (\GO::modules()->customfields) {
         $response['customfields'] = \GO\Customfields\Controller\CategoryController::getEnabledCategoryData("GO\\Files\\Model\\File", $model->folder_id);
     }
     $fh = \GO\Files\Model\FileHandler::model()->findByPk(array('extension' => $model->extension, 'user_id' => \GO::user()->id));
     if ($fh) {
         $fileHandler = new $fh->cls();
         $response['data']['handlerCls'] = $fh->cls;
         $response['data']['handlerName'] = $fileHandler->getName();
     } else {
         $response['data']['handlerCls'] = "";
         $response['data']['handlerName'] = "";
     }
     return parent::afterLoad($response, $model, $params);
 }
예제 #8
0
 protected function afterLoad(&$response, &$model, &$params)
 {
     if (\GO::modules()->customfields) {
         $response['customfields'] = \GO\Customfields\Controller\CategoryController::getEnabledCategoryData("GO\\Addressbook\\Model\\Company", $model->addressbook_id);
     }
     $response['data']['photo_url'] = $model->photoThumbURL;
     $response['data']['original_photo_url'] = $model->photoURL;
     $stmt = $model->addresslists();
     while ($addresslist = $stmt->fetch()) {
         $response['data']['addresslist_' . $addresslist->id] = 1;
     }
     $response['data']['name_and_name2'] = $model->name;
     if (!empty($model->name2)) {
         $response['data']['name_and_name2'] .= ' - ' . $model->name2;
     }
     return parent::afterLoad($response, $model, $params);
 }
예제 #9
0
 protected function afterLoad(&$response, &$model, &$params)
 {
     unset($response['data']['content']);
     return parent::afterLoad($response, $model, $params);
 }
예제 #10
0
 protected function afterLoad(&$response, &$model, &$params)
 {
     $url = \GO::createExternalUrl('calendar', 'openCalendar', array('view_id' => $response['data']['id']));
     $response['data']['url'] = '<a class="normal-link" target="_blank" href="' . $url . '">' . \GO::t('rightClickToCopy', 'calendar') . '</a>';
     return parent::afterLoad($response, $model, $params);
 }
예제 #11
0
 protected function afterLoad(&$response, &$model, &$params)
 {
     if (\GO::modules()->customfields) {
         $response['customfields'] = \GO\Customfields\Controller\CategoryController::getEnabledCategoryData("GO\\Addressbook\\Model\\Contact", $model->addressbook_id);
     }
     $response['data']['photo_url'] = $model->photoThumbURL;
     $response['data']['original_photo_url'] = $model->photoURL;
     if ($model->action_date > 0) {
         $response['data']['action_date'] = \GO\Base\Util\Date::get_timestamp($model->action_date, false);
     }
     $stmt = $model->addresslists();
     while ($addresslist = $stmt->fetch()) {
         $response['data']['addresslist_' . $addresslist->id] = 1;
     }
     return parent::afterLoad($response, $model, $params);
 }
예제 #12
0
 protected function afterLoad(&$response, &$model, &$params)
 {
     $response['data']['path'] = $model->path;
     $response['data']['notify'] = $model->hasNotifyUser(\GO::user()->id);
     $response['data']['is_someones_home_dir'] = $model->isSomeonesHomeFolder();
     $response['data']['username'] = !empty($model->user) ? $model->user->name : '';
     $response['data']['musername'] = !empty($model->mUser) ? $model->mUser->name : '';
     $response['data']['url'] = $model->externalUrl;
     return parent::afterLoad($response, $model, $params);
 }
예제 #13
0
 public function afterLoad(&$response, &$model, &$params)
 {
     //		if (isset($response['data']['name']))
     //			$response['data']['subject'] = $response['data']['name'];
     $response = self::reminderSecondsToForm($response);
     $response['data']['start_time'] = date(\GO::user()->time_format, $model->start_time);
     $response['data']['end_time'] = date(\GO::user()->time_format, $model->end_time);
     if (isset($response['data']['rrule']) && !empty($response['data']['rrule'])) {
         $rRule = new \GO\Base\Util\Icalendar\Rrule();
         $rRule->readIcalendarRruleString($model->start_time, $model->rrule);
         $createdRule = $rRule->createJSONOutput();
         $response['data'] = array_merge($response['data'], $createdRule);
     }
     $response['data']['start_date'] = \GO\Base\Util\Date::get_timestamp($model->start_time, false);
     $response['data']['end_date'] = \GO\Base\Util\Date::get_timestamp($model->end_time, false);
     if (\GO::modules()->customfields) {
         $response['customfields'] = \GO\Customfields\Controller\CategoryController::getEnabledCategoryData("GO\\Calendar\\Model\\Event", $model->calendar->group_id);
     }
     $response['group_id'] = $model->calendar->group_id;
     if (!$model->id) {
         $days = array('SU', 'MO', 'TU', 'WE', 'TH', 'FR', 'SA');
         $response['data'][$days[date('w', $model->start_time)]] = 1;
     }
     if (!$model->isResource() && $model->id > 0) {
         $this->_loadResourceEvents($model, $response);
     }
     //		$response['data']['has_other_participants']=$model->hasOtherParticipants(\GO::user()->id);
     $response['data']['user_name'] = $model->user ? $model->user->name : "Unknown";
     if (empty($params['id'])) {
         $participantModel = $model->getDefaultOrganizerParticipant();
         $response['participants'] = array('results' => array($participantModel->toJsonArray($model->start_time, $model->end_time)), 'total' => 1, 'success' => true);
         if (!empty($params['linkModelNameAndId'])) {
             $arr = explode(':', $params['linkModelNameAndId']);
             if ($arr[0] == 'GO\\Addressbook\\Model\\Contact') {
                 $contact = \GO\Addressbook\Model\Contact::model()->findByPk($arr[1]);
                 if ($contact) {
                     $participantModel = new \GO\Calendar\Model\Participant();
                     $participantModel->setContact($contact);
                     $response['participants']['results'][] = $participantModel->toJsonArray($model->start_time, $model->end_time);
                     $response['participants']['total'] = 2;
                 }
             }
         }
     } else {
         $particsStmt = \GO\Calendar\Model\Participant::model()->findByAttribute('event_id', $params['id']);
         $response['participants'] = array('results' => array(), 'total' => 0, 'success' => true);
         while ($participantModel = $particsStmt->fetch()) {
             $record = $participantModel->toJsonArray($model->start_time, $model->end_time);
             if (!empty($params['exception_date'])) {
                 unset($record['id']);
             }
             $response['participants']['results'][] = $record;
             $response['participants']['total'] += 1;
         }
         if ($response['participants']['total'] == 0) {
             $participantModel = $model->getDefaultOrganizerParticipant();
             $response['participants'] = array('results' => array($participantModel->toJsonArray($model->start_time, $model->end_time)), 'total' => 1, 'success' => true);
         }
     }
     return parent::afterLoad($response, $model, $params);
 }
예제 #14
0
 protected function afterLoad(&$response, &$model, &$params)
 {
     $response['data']['date'] = date(\GO::user()->completeDateFormat, $model->time);
     $response['data']['time'] = date(\GO::user()->time_format, $model->time);
     return parent::afterLoad($response, $model, $params);
 }