protected function doBuild(PageContext $ctxt, PageBuilderContext $builderCtxt, RequestArrayAdapter $requestParams, ArrayAdapter $buildParams) { //1. ЗАГОЛОВОК $builderCtxt->setTitle($this->basicPage->getTitle()); //2. JAVASCRIPT $jsParams['postId'] = $ctxt->getPostId(); $jsParams['rubricId'] = $ctxt->getRubricId(); $jsParams['postType'] = $ctxt->getPostType(); $jsParams['isPostsListPage'] = $ctxt->isPostsListPage(); $jsParams['isRubricPage'] = $ctxt->isRubricPage(); $jsParams['isPostPage'] = $ctxt->isPostPage(); //Разборы, пройденные пользователем $passed = TrainManager::inst()->getUserPassedLessons(); $jsParams['passedLessons'] = empty($passed) ? null : $passed; //Структура проекта $jsParams['structure'] = NavigationManager::inst()->getStructure(); $builderCtxt->setJsParams($jsParams); //Параметры, зависимые от страницы $builderCtxt->setJsParams($this->basicPage->getJsParams()); //3. SMARTY RESOURCES $builderCtxt->setSmartyParams4Resources($this->basicPage->getSmartyParams4Resources()); //4. GET SMARTY PARAMS FOR TPL $smartyParams['host'] = ServerArrayAdapter::HTTP_HOST(); $smartyParams['content'] = BasicPagesManager::inst()->getResourcesLinks($this->basicPage->getIdent(), ContentHelper::getContent($this->basicPage)); return $smartyParams; }
/** * Метод загружает текущую страницу. * При этом он имеет ввиду, что страница может и не быть зарегистрирована. * Все методы, вне методов WebPages, должны работать в предположении, что текущая * страница существует и установлена. Данный метод нужен только для нужд этого класса. * * @return WebPage - текущая страница или null */ private static function loadCurPage($ensure) { if (!self::$CURPAGE_SETTED) { self::$CURPAGE_SETTED = true; self::$CURPAGE = self::getPage(ServerArrayAdapter::PHP_SELF(), false); } check_condition(!$ensure || self::$CURPAGE instanceof WebPage, 'Текущая страница не установлена'); return self::$CURPAGE; }
protected function doBuild(PageContext $ctxt, PageBuilderContext $builderCtxt, RequestArrayAdapter $requestParams, ArrayAdapter $buildParams) { //1. ЗАГОЛОВОК $builderCtxt->setTitle('Моя страница'); //2. JAVASCRIPT $jsParams['param1'] = $ctxt->getPostId(); $jsParams['param2'] = 'My value'; $builderCtxt->setJsParams($jsParams); //3. SMARTY RESOURCES $builderCtxt->setSmartyParam4Resources('TIMELINE_ENABE', true); //4. GET SMARTY PARAMS FOR TPL $smartyParams['host'] = ServerArrayAdapter::HTTP_HOST(); return $smartyParams; }
public function send($email) { //Загружаем код пользователя по e-mail $userId = PsUser::instByMail($email)->getId(); //Генерируем код $CODE = PsUserCode::passRecover()->generateAndSave($userId); //Отправляем письмо try { $content = $this->foldedEntity->fetchTpl(array('code' => $CODE->getCode())); PsMailSender::fastSend('Восстановление пароля на ' . ServerArrayAdapter::HTTP_HOST(), $content, $email); } catch (Exception $ex) { //Коды, высланные пользователю, нужно удалить $CODE->dropUnusedCodes($userId); throw $ex; } }
/** * @covers PsUrl::current */ public function testCurrent() { $this->assertEquals(PsUrl::current(), 'http://127.0.0.1'); //Меняем HTTP_HOST $host = 'postupayu.ru'; ServerArrayAdapter::inst()->set('HTTP_HOST', $host, true); $this->assertEquals(PsUrl::current(), "http://{$host}"); //Меняем SERVER_PORT $port = 100; ServerArrayAdapter::inst()->set('SERVER_PORT', $port, true); $this->assertEquals(PsUrl::current(), "http://{$host}:{$port}"); //Меняем HTTPS ServerArrayAdapter::inst()->set('HTTPS', 'on', true); $this->assertEquals(PsUrl::current(), "https://{$host}:{$port}"); //Отменяем и проверим, что всё вернулось ServerArrayAdapter::inst()->restoreStory(); $this->assertEquals(PsUrl::current(), 'http://127.0.0.1'); }
public function isAjax() { return $this->isAjax || ServerArrayAdapter::IS_AJAX(); }
/** * Метод полностью очищает состояние отправщика писем, подготовливая его к отправке нового письма * * @return PsMailSender */ public function reset() { $this->ClearAllRecipients(); $this->ClearAttachments(); $this->ClearCustomHeaders(); $this->SetSubject(''); $this->SetBody(''); $this->SetFrom(PS_MAIL_NO_REPLY . '@' . ServerArrayAdapter::HTTP_HOST(), PS_MAIL_NO_REPLY); return $this; }
/** * Аудит входа пользователя в систему */ public function afterLogin($userId) { $data['ip'] = ServerArrayAdapter::REMOTE_ADDR(); $data['agent'] = ServerArrayAdapter::HTTP_USER_AGENT(); $this->doAudit(self::ACTION_LOGIN, $userId, $data, true, self::ACTION_REGISTER); }
/** * Метод запускается после регистрации всех страниц */ private final function init() { $this->curpage = $this->searchPage(ServerArrayAdapter::PHP_SELF()); //Если страница не определена, то, возможно, это страница рабочего окружения (другой CMS). if (!$this->curpage && PsEnvironment::isIncluded()) { $this->curpage = $this->getPage(PAGE_ENV); } $this->LOGGER->info('CURRENT: {}', $this->curpage); }
/** * Метод возвращает текущий открытый url: * http://postupayu.ru/t.php?a=b */ public static function current() { return self::toHttp(ServerArrayAdapter::REQUEST_URI()); }
function smarty_function_PSHOST($params, Smarty_Internal_Template &$smarty) { $host = ServerArrayAdapter::HTTP_HOST(); $ucf = ArrayAdapter::inst($params)->bool('ucf'); echo $ucf ? ucfirst($host) : $host; }