public function buildContent() { $RQ = GetArrayAdapter::inst(); $AL = PsLogger::controller(); $PARAMS['num'] = $AL->getLastSessionId(); $PARAMS['enabled'] = ConfigIni::isLoggingEnabled(); $mode = null; if ($RQ->has('file')) { $mode = self::MODE_FILE; $PARAMS['folder'] = $RQ->str('folder'); $PARAMS['files'] = $AL->getLogFiles($RQ->str('folder')); $PARAMS['file'] = $AL->getLogFile($RQ->str('folder'), $RQ->str('file')); } if (!$mode && $RQ->has('folder')) { $mode = self::MODE_FILES; $PARAMS['folder'] = $RQ->str('folder'); $PARAMS['files'] = $AL->getLogFiles($RQ->str('folder')); } if (!$mode) { $PARAMS['folders'] = $AL->getLogDirs(); $mode = self::MODE_FOLDERS; } $PARAMS['mode'] = $mode; echo $this->getFoldedEntity()->fetchTpl($PARAMS); }
public function buildContent() { $navigation = AdminPageNavigation::inst(); $RQ = GetArrayAdapter::inst(); $AL = PsProfiler::controller(); $PARAMS['enabled'] = PROFILING_ENABLED; $mode = null; if ($RQ->has('profiler')) { $mode = self::MODE_PROFILER; $profiler = $RQ->str('profiler'); $PARAMS['profilers'] = $AL->getStats($profiler); $navigation->addPath(self::url(), 'Профайлеры'); $navigation->setCurrent($profiler); } if (!$mode) { $mode = self::MODE_LIST; $PARAMS['profilers'] = $AL->getStats(); $navigation->setCurrent('Профайлеры'); } $PARAMS['mode'] = $mode; echo $this->getFoldedEntity()->fetchTpl($PARAMS); }
public function buildContent() { $navigation = AdminPageNavigation::inst(); $RQ = GetArrayAdapter::inst(); $mode = $RQ->get('mode', self::MODE_LIST); $PARAMS['mode'] = $mode; $PARAMS['galls'] = PsGallery::allInsts(); switch ($mode) { case self::MODE_LIST: $navigation->setCurrent('Все галереи'); break; case self::MODE_LAZY: $navigation->addPath(self::urlList(), 'Все галереи'); $navigation->setCurrent('Поздняя загрузка'); break; case self::MODE_GALL: $PARAMS['info'] = PsGallery::inst($RQ->str('gall')); $PARAMS['items'] = $PARAMS['info']->getAllGalleryItems(); $navigation->addPath(self::urlList(), 'Все галереи'); $navigation->setCurrent($RQ->str('gall')); break; } echo $this->getFoldedEntity()->fetchTpl($PARAMS); }
public final function buildDiscussion($postId, $limited) { $limited = $limited && !GetArrayAdapter::inst()->str(GET_PARAM_GOTO_MSG); return $this->DISCUSSION->buildDiscussion(true, $postId, $limited); }
public function buildContent() { PsDefines::setReplaceFormulesWithImages(false); $navigation = AdminPageNavigation::inst(); /* * Инициализируем необходимые менеджеры */ $TE = TableExporter::inst(); $RQ = GetArrayAdapter::inst(); $FORM = FORM_RecEditForm::getInstance(); $TABLES = PsTable::configured(); /* * Инициализируем параметры, которые нужно будет передать smarty */ $PARAMS['mode'] = null; $PARAMS['table'] = null; $PARAMS['error'] = null; $PARAMS['errors'] = PsDbIniHelper::validateAll(); /* * Обработаем форму */ try { if ($FORM->isValid4Process()) { $this->processForm($FORM->getData()); } else { if ($FORM->isErrorOccurred()) { $PARAMS['error'] = PsHtml::divErr($FORM->getError()); } } } catch (Exception $e) { $PARAMS['error'] = ExceptionHandler::getHtml($e); } /* * Обработаем параметры и определим режим работы */ $MODE = $RQ->str('mode', self::MODE_TABLES_LIST); /** @var PsTable */ $TABLE = null; // Таблица $ROW = null; // Редактируемая строка switch ($MODE) { case self::MODE_ROW_ADD: //Если передан фолдинг, то подставим в форму создания его параметры $folding = Handlers::getInstance()->getFolding($RQ->str('ftype'), $RQ->str('fsubtype'), false); $fident = $RQ->str('fident'); if ($folding && $folding->getTableName() && $fident) { $TABLE = $TE->getTable($folding); $ROW = $folding->getDbRec4Entity($fident); break; } $TABLE = PsTable::inst($RQ->str('table')); /* * Нам не удалось определить внешний вид создаваемой строки, * но если у данной таблицы один фолдинг - возмём вид строки у него. */ $folding = $TABLE->getSingleFolding(); $ROW = $folding ? $folding->getDbRec4Entity($folding->getNextEntityIdent()) : null; break; case self::MODE_TABLE_ROWS: case self::MODE_TABLE_SQL: case self::MODE_TABLE_ARR: case self::MODE_ROW_EDIT: case self::MODE_ROW_DELETE: $TABLE = PsTable::inst($RQ->str('table')); switch ($MODE) { case self::MODE_ROW_EDIT: case self::MODE_ROW_DELETE: $ROW = $TABLE->getRow($RQ->int($TABLE->getPk()->getName())); break; } break; case self::MODE_INSERTS: //Nothing to do break; default: //Защитимся от некорректного значения параметра 'mode' $MODE = self::MODE_TABLES_LIST; break; } $PARAMS['mode'] = $MODE; $PARAMS['table'] = $TABLE; /* * ВЫПОЛНЯЕМ ОБРАБОТКУ */ switch ($MODE) { case self::MODE_TABLES_LIST: $PARAMS['tables'] = $TABLES; $navigation->setCurrent('Список таблиц'); break; case self::MODE_INSERTS: $PARAMS['tables'] = $TABLES; $navigation->addPath(self::urlTables(), 'Список таблиц'); $navigation->setCurrent('Вставка данных'); break; case self::MODE_TABLE_ROWS: $PARAMS['rows'] = $TABLE->getRows(); $PARAMS['addurl'] = self::urlRecAdd($TABLE); $PARAMS['modified'] = $TABLE->getModifiedRows(); case self::MODE_TABLE_SQL: case self::MODE_TABLE_ARR: $navigation->addPath(self::urlTables(), 'Список таблиц'); $navigation->setCurrent($TABLE->getName()); break; default: switch ($MODE) { /* * Помимо действий над записью, мы ещё раздиляем действия над фолдингами * (если они есть для таблицы). Поэтому мы установм: * FormAction - для типа редактирования записи * FormButton - для типа работы с фолдингом */ case self::MODE_ROW_ADD: $FORM->setFormAction(PS_ACTION_CREATE); $FORM->setButtons(FORM_RecEditForm::BUTTON_CREATE); if ($TABLE->hasFoldings()) { $FORM->addButton(FORM_RecEditForm::BUTTON_CREATEF); } $navigation->setCurrent('Создание записи'); break; case self::MODE_ROW_EDIT: $FORM->setFormAction(PS_ACTION_EDIT); $FORM->setButtons(FORM_RecEditForm::BUTTON_EDIT); if ($TABLE->hasFoldings() && !$TABLE->hasFoldingEntity4DbRec($ROW, true)) { $FORM->addButton(FORM_RecEditForm::BUTTON_EDITF); } $navigation->setCurrent('Редактирование записи'); break; case self::MODE_ROW_DELETE: $FORM->setFormAction(PS_ACTION_DELETE); $FORM->setButtons(FORM_RecEditForm::BUTTON_DELETE); if ($TABLE->hasFoldingEntity4DbRec($ROW, true)) { $FORM->addButton(FORM_RecEditForm::BUTTON_DELETEF); } $navigation->setCurrent('Удаление записи'); break; default: raise_error("Неизвестный режим: [{$MODE}]"); } $FORM->setHidden('table', $TABLE->getName()); $FORM->setSmartyParam('table', $TABLE); $FORM->setSmartyParam('rec', $ROW); $navigation->addPath(self::urlTables(), 'Список таблиц'); $navigation->addPath(self::urlTableRows($TABLE), $TABLE->getName()); break; } echo $this->getFoldedEntity()->fetchTpl($PARAMS); }