protected function doBuild(\PageContext $ctxt, \PageBuilderContext $builderCtxt, \RequestArrayAdapter $requestParams, \ArrayAdapter $buildParams) { //1. ЗАГОЛОВОК $builderCtxt->setTitle($this->authed ? 'Админка | ' . $this->adminPage->title() : 'xxx'); //2. JAVASCRIPT $builderCtxt->setJsParams($this->authed ? $this->adminPage->getJsParams() : null); //3. SMARTY RESOURCES if ($this->authed) { $builderCtxt->setSmartyParams4Resources($this->adminPage->getSmartyParams4Resources()); $builderCtxt->setSmartyParam4Resources('IDENT', $this->adminPage->getPageIdent()); $builderCtxt->setSmartyParam4Resources('TIMELINE_ENABE', true); } $smartyParams['authed'] = $this->authed; if (!$this->authed) { return $smartyParams; } //Запустим неограниченный по времени режим - мало ли, что мы там будем делать:) PsUtil::startUnlimitedMode(); //Получаем содержимое админской страницы $content = ContentHelper::getContent($this->adminPage); //Добавляем к ней ресурсы $content = APagesResources::inst()->getResourcesLinks($this->adminPage->getPageIdent(), $content); $smartyParams['page'] = $this->adminPage; $smartyParams['content'] = $content; $smartyParams['pagesLayout'] = AdminPagesManager::getInstance()->getLayout(); return $smartyParams; }
public static function url($ftype = null, $fsubtype = null, $fident = null, $flist = null) { $params = array(); if ($ftype instanceof FoldedResources) { $params['ftype'] = $ftype->getFoldingType(); $params['fsubtype'] = $ftype->getFoldingSubType(); if ($fident) { $params['fident'] = $fident; } } elseif ($ftype instanceof FoldedEntity) { $params['ftype'] = $ftype->getFolding()->getFoldingType(); $params['fsubtype'] = $ftype->getFolding()->getFoldingSubType(); $params['fident'] = $ftype->getIdent(); } else { if ($ftype) { $params['ftype'] = $ftype; if ($fsubtype) { //Не забываем, что у фолдинга может и не быть подтипа, поэтому условный оператор не вложенный $params['fsubtype'] = $fsubtype; } if ($fident) { $params['fident'] = $fident; } } } if ($flist) { $params['flist'] = $flist; } return AdminPagesManager::getInstance()->pageUrl(self::getPageIdent(), $params); }
/** @return AdminPagesManager */ public static function getInstance() { if (self::$instance == NULL) { self::$instance = new AdminPagesManager(); } return self::$instance; }
private function url($params = null) { return AdminPagesManager::getInstance()->pageUrl(self::getPageIdent(), $params); }
protected function executeImpl(ArrayAdapter $params) { $APM = AdminPagesManager::getInstance(); $APM->saveLayout($params->arr('menu')); return new AjaxSuccess($APM->getLayout()); }
public static function pageUrl($params = null) { return AdminPagesManager::getInstance()->pageUrl(self::getPageIdent(), $params); }