public function actionAttributes($params)
 {
     $store = new \GO\Base\Data\ArrayStore();
     $attr = $this->exportableAttributes();
     $className = get_class($this);
     $selected = \GO::config()->get_setting($className . '_attributes');
     if ($selected) {
         $selected = unserialize($selected);
     } else {
         $selected = array();
     }
     foreach ($attr as $attribute => $label) {
         $store->addRecord(array('id' => $attribute, 'name' => $label, 'checked' => in_array($attribute, $selected)));
     }
     return $store->getData();
 }
Exemple #2
0
 /**
  * Get the data for the grid that shows all the tasks from the selected calendars.
  * 
  * @param Array $params
  * @return Array The array with the data for the grid. 
  */
 protected function actionPortletGrid($params)
 {
     $local_time = time();
     $year = date("Y", $local_time);
     $month = date("m", $local_time);
     $day = date("j", $local_time);
     $periodStartTime = mktime(0, 0, 0, $month, $day, $year);
     $periodEndTime = mktime(0, 0, 0, $month, $day + 2, $year);
     $today_end = mktime(0, 0, 0, $month, $day + 1, $year);
     $joinCriteria = \GO\Base\Db\FindCriteria::newInstance()->addCondition('user_id', \GO::user()->id, '=', 'pt')->addCondition('calendar_id', 'pt.calendar_id', '=', 't', true, true);
     $calendarJoinCriteria = \GO\Base\Db\FindCriteria::newInstance()->addCondition('calendar_id', 'tl.id', '=', 't', true, true);
     $findParams = \GO\Base\Db\FindParams::newInstance()->select('t.*, tl.name AS calendar_name')->join(\GO\Calendar\Model\PortletCalendar::model()->tableName(), $joinCriteria, 'pt')->join(\GO\Calendar\Model\Calendar::model()->tableName(), $calendarJoinCriteria, 'tl');
     $events = \GO\Calendar\Model\Event::model()->findCalculatedForPeriod($findParams, $periodStartTime, $periodEndTime);
     $store = new \GO\Base\Data\ArrayStore();
     foreach ($events as $event) {
         $record = $event->getResponseData();
         $record['day'] = $event->getAlternateStartTime() < $today_end ? \GO::t('today') : \GO::t('tomorrow');
         $record['time'] = $event->getEvent()->all_day_event == 1 ? '-' : $record['time'];
         $store->addRecord($record);
     }
     return $store->getData();
 }
Exemple #3
0
 protected function actionHandlers($params)
 {
     if (!empty($params['path'])) {
         $folder = \GO\Files\Model\Folder::model()->findByPath(dirname($params['path']));
         $file = $folder->hasFile(\GO\Base\Fs\File::utf8Basename($params['path']));
     } else {
         $file = \GO\Files\Model\File::model()->findByPk($params['id'], false, true);
     }
     if (empty($params['all'])) {
         $fileHandlers = array($file->getDefaultHandler());
     } else {
         $fileHandlers = $file->getHandlers();
     }
     //	var_dump($fileHandlers);
     $store = new \GO\Base\Data\ArrayStore();
     foreach ($fileHandlers as $fileHandler) {
         $store->addRecord(array('name' => $fileHandler->getName(), 'handler' => $fileHandler->getHandler($file), 'iconCls' => $fileHandler->getIconCls(), 'cls' => get_class($fileHandler), 'extension' => $file->extension));
     }
     return $store->getData();
 }
 public function actionGetUserGroups($params)
 {
     $ids = json_decode($params['groups']);
     $store = new \GO\Base\Data\ArrayStore();
     $addedUsers = array();
     foreach ($ids as $group_id) {
         $group = \GO\Base\Model\Group::model()->findByPk($group_id, false, true);
         $stmt = $group->users();
         foreach ($stmt as $user) {
             if (!in_array($user->id, $addedUsers)) {
                 $addedUsers[] = $user->id;
                 $participant = new \GO\Calendar\Model\Participant();
                 $participant->user_id = $user->id;
                 $participant->name = $user->name;
                 $participant->email = $user->email;
                 $store->addRecord($participant->toJsonArray($params['start_time'], $params['end_time']));
             }
         }
     }
     return $store->getData();
 }