Beispiel #1
0
 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);
 }
Beispiel #2
0
 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);
 }
Beispiel #3
0
 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);
 }
Beispiel #4
0
 public final function buildDiscussion($postId, $limited)
 {
     $limited = $limited && !GetArrayAdapter::inst()->str(GET_PARAM_GOTO_MSG);
     return $this->DISCUSSION->buildDiscussion(true, $postId, $limited);
 }
Beispiel #5
0
 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);
 }