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(); }
/** * 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(); }
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(); }