public function Exec()
 {
     $aPages = $this->PluginPage_Page_GetPages(array('pid' => Config::Get('block.pageslist.pid'), 'active' => 1));
     //Для того, чтобы не допустить конфликта создаем локальный объект представления
     $oViewer = $this->Viewer_GetLocalViewer();
     $sAction = strtolower(Router::GetAction());
     $sParams = Router::GetParams();
     $oViewer->Assign('aPages', $aPages);
     $oViewer->Assign('sAction', $sAction);
     $oViewer->Assign('sParams', $sParams);
     $sPagesList = $oViewer->Fetch('block.pageslist_content.tpl');
     //Передаем данные уже в глобальный объект вида
     $this->Viewer_Assign('sPagesList', $sPagesList);
 }
Example #2
0
 public function CheckSearch($aVars)
 {
     if (!MYSEARCH_HOOK_ENABLE) {
         return;
     }
     if (Router::GetAction() == 'search') {
         if (getRequest('q') && isset($_SERVER["HTTP_REFERER"]) && preg_match('|/search/(\\w+)/|', $_SERVER["HTTP_REFERER"], $m)) {
             $sActionEvent = $m[1];
         } else {
             $sActionEvent = Router::GetActionEvent();
         }
         Router::Action('mysearch', $sActionEvent, Router::GetParams());
     }
 }
Example #3
0
 /**
  * Установить значение параметра(эмуляция параметра в URL).
  * После установки занова считывает параметры из роутера - для корректной работы
  *
  * @param int $iOffset Номер параметра, но по идеи может быть не только числом
  * @param string $value
  */
 public function SetParam($iOffset, $value)
 {
     Router::SetParam($iOffset, $value);
     $this->aParams = Router::GetParams();
 }
Example #4
0
 public function VarAssign()
 {
     $this->_extSortBlocks();
     parent::VarAssign();
     $aPlugins = $this->Plugin_GetActivePlugins();
     $plugins = array();
     foreach ($aPlugins as $sPlugin) {
         $plugins[$sPlugin] = array('skin' => array('name' => HelperPlugin::GetPluginSkin($sPlugin), 'path' => HelperPlugin::GetPluginSkinPath($sPlugin), 'url' => HelperPlugin::GetPluginSkinUrl($sPlugin)), 'config' => Config::Get('plugin.' . $sPlugin));
     }
     $ls = array('site' => array('skin' => array('name' => Config::Get($this->sPlugin . '.saved.view.skin') ? Config::Get($this->sPlugin . '.saved.view.skin') : Config::Get('view.skin'), 'path' => Config::Get($this->sPlugin . '.saved.path.smarty.template') ? Config::Get($this->sPlugin . '.saved.path.smarty.template') : Config::Get('path.smarty.template'), 'url' => Config::Get($this->sPlugin . '.saved.path.static.skin') ? Config::Get($this->sPlugin . '.saved.path.static.skin') : Config::Get('path.static.skin'))), 'js' => array('lib' => Config::Get('js.lib'), 'jquery' => Config::Get('js.jquery'), 'mootools' => Config::Get('js.mootools')), 'router' => array('action' => Router::GetAction(), 'event' => Router::GetActionEvent(), 'param' => Router::GetParams()), 'url' => $this->oSmarty->getTemplateVars('aRouter'), 'plugin' => $plugins);
     $this->AssignArray('ls', $ls);
 }
 protected function GetLastParam($default = null)
 {
     $nNumParams = sizeof(Router::GetParams());
     if ($nNumParams > 0) {
         $iOffset = $nNumParams - 1;
         return $this->GetParam($iOffset, $default);
     }
     return null;
 }
Example #6
0
 static function CurrentRoute()
 {
     $sCurentRoute = Router::GetAction() . '/';
     if (Router::GetActionEvent()) {
         $sCurentRoute .= Router::GetActionEvent() . '/';
     }
     if (Router::GetParams()) {
         $sCurentRoute .= implode('/', Router::GetParams()) . '/';
     }
     return $sCurentRoute;
 }
Example #7
0
 /**
  * Логика по ЧПУ топиков
  * Если URL соответствует шаблону ЧПУ топика, перенаправляем обработку на экшен/евент /blog/_show_topic_url/
  * Через свои параметры конфига передаем исходный URL
  * Суть обработки _show_topic_url в том, чтобы определить ID топика и корректность его URL, если он некорректен, то произвести его корректировку через внешний редирект на правильный URL
  * Если удалось определить топик и URL корректный, то происходит внутренний редирект на стандартный евент отображения топика по ID (/blog/12345.html)
  */
 $sUrlRequest = '';
 if (Router::GetAction()) {
     $sUrlRequest .= Router::GetAction();
 }
 if (Router::GetActionEvent()) {
     $sUrlRequest .= '/' . Router::GetActionEvent();
 }
 if (Router::GetParams()) {
     $sUrlRequest .= '/' . join('/', Router::GetParams());
 }
 /**
  * Функция для формирования регулярного выражения по маске URL топика
  *
  * @param string $sUrl
  * @return string
  */
 $funcMakePreg = function ($sUrl) {
     $sUrl = preg_quote(trim($sUrl, '/ '));
     return strtr($sUrl, Config::Get('module.topic.url_preg'));
 };
 $sPreg = $funcMakePreg(Config::Get('module.topic.url'));
 if (preg_match('@^' . $sPreg . '$@iu', $sUrlRequest)) {
     Router::SetAction(Router::getInstance()->Rewrite('blog'));
     Router::SetActionEvent('_show_topic_url');