本文整理汇总了PHP中Router::GetPath方法的典型用法代码示例。如果您正苦于以下问题:PHP Router::GetPath方法的具体用法?PHP Router::GetPath怎么用?PHP Router::GetPath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Router
的用法示例。
在下文中一共展示了Router::GetPath方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: EventShowBlogs
protected function EventShowBlogs()
{
/**
* Передан ли номер страницы
*/
$iPage = preg_match("/^\\d+\$/i", $this->GetEventMatch(2)) ? $this->GetEventMatch(2) : 1;
/**
* Получаем список блогов
*/
$aResult = $this->Blog_GetBlogsRating($iPage, Config::Get('module.blog.per_page'));
$aBlogs = $aResult['collection'];
/**
* Формируем постраничность
*/
$aPaging = $this->Viewer_MakePaging($aResult['count'], $iPage, Config::Get('module.blog.per_page'), 4, Router::GetPath('blogs'));
/**
* Загружаем переменные в шаблон
*/
$this->Viewer_Assign('aPaging', $aPaging);
$this->Viewer_Assign("aBlogs", $aBlogs);
$this->Viewer_AddHtmlTitle($this->Lang_Get('blog_menu_all_list'));
/**
* Устанавливаем шаблон вывода
*/
$this->SetTemplateAction('index');
}
示例2: EventComments
/**
* Выводим комментарии
*
*/
protected function EventComments()
{
/**
* Передан ли номер страницы
*/
$iPage = $this->GetEventMatch(2) ? $this->GetEventMatch(2) : 1;
/**
* Исключаем из выборки идентификаторы закрытых блогов (target_parent_id)
*/
$aCloseBlogs = $this->oUserCurrent ? $this->Blog_GetInaccessibleBlogsByUser($this->oUserCurrent) : $this->Blog_GetInaccessibleBlogsByUser();
/**
* Получаем список комментов
*/
$aResult = $this->Comment_GetCommentsAll('topic', $iPage, Config::Get('module.comment.per_page'), array(), $aCloseBlogs);
$aComments = $aResult['collection'];
/**
* Формируем постраничность
*/
$aPaging = $this->Viewer_MakePaging($aResult['count'], $iPage, Config::Get('module.comment.per_page'), 4, Router::GetPath('comments'));
/**
* Загружаем переменные в шаблон
*/
$this->Viewer_Assign('aPaging', $aPaging);
$this->Viewer_Assign("aComments", $aComments);
$this->Viewer_AddHtmlTitle($this->Lang_Get('comments_all'));
$this->Viewer_SetHtmlRssAlternate(Router::GetPath('rss') . 'allcomments/', $this->Lang_Get('comments_all'));
/**
* Устанавливаем шаблон вывода
*/
$this->SetTemplateAction('index');
}
示例3: EventShowCatBlogs
protected function EventShowCatBlogs()
{
//Получаем категорию из адресной строки
$sFirstCat = $this->sCurrentEvent;
//Первая категория соответсвует имени эвента
$aParam = $this->GetParams();
//Последний параметр может оказаться номером страницы, проверяем
$iPage = 1;
if (isset($aParam[count($aParam) - 1])) {
if (preg_match("/^page\\d+\$/i", $aParam[count($aParam) - 1])) {
$sPage = array_pop($aParam);
$iPage = (int) substr($sPage, 4);
}
}
array_unshift($aParam, $sFirstCat);
$sFullCatName = strtoupper(implode(':', $aParam));
if (!$this->PluginCommunitycats_ModuleCategory_IsFullCategoryExist($sFullCatName)) {
return parent::EventNotFound();
}
//Получаем список блогов
$aFilter = array('in' => array('blog_type' => array('open', 'close')), 'beginLike' => array('blog_cat' => $sFullCatName));
$aBlogs = $this->PluginCommunitycats_ModuleCategory_GetBlogsByFilter($aFilter, array(), array('iPage' => $iPage, 'iElementsPerPage' => Config::Get('module.blog.per_page')), false);
$iCountBlogs = $this->PluginCommunitycats_ModuleCategory_GetCountBlogsByFilter($aFilter);
//Формируем постраничность
$aPaging = $this->Viewer_MakePaging($iCountBlogs, $iPage, Config::Get('module.blog.per_page'), 4, Router::GetPath('blogs') . implode('/', $aParam));
//Загружаем переменные в шаблон
$this->Viewer_Assign('aPath', $aParam);
$this->Viewer_Assign('aPaging', $aPaging);
$this->Viewer_Assign('aBlogs', $aBlogs);
$this->Viewer_AddHtmlTitle($this->Lang_Get('blog_menu_all_list'));
//Устанавливаем шаблон вывода
$this->SetTemplateAction('index');
}
示例4: SaveConfig
public function SaveConfig($sMode)
{
$this->Security_ValidateSendForm();
$aConfigSet = array();
foreach ($this->aFields[$sMode] as $sName => $aField) {
if ($aField['type'] != 'section') {
$aConfigField['key'] = 'config.all.' . $aField['config'];
if (!isset($_POST[$sName]) || !$_POST[$sName]) {
if (isset($aField['empty'])) {
$aConfigField['val'] = $aField['empty'];
} else {
if ($aField['valtype'] == 'boolean') {
$val = false;
} else {
$val = '';
}
}
} else {
$val = $_POST[$sName];
settype($val, $aField['valtype']);
}
$aConfigField['val'] = serialize($val);
$aConfigSet[] = $aConfigField;
}
}
$sDataFile = $this->PluginAceadminpanel_Admin_GetCustomConfigFile();
if ($this->PluginAceAdminPanel_Admin_SetValueArray($aConfigSet)) {
$aConfigSet = $this->PluginAceAdminPanel_Admin_GetValueArrayByPrefix('config.all.');
file_put_contents($sDataFile, serialize($aConfigSet));
$this->oAdminAction->Message('notice', $this->Lang_Get('adm_saved_ok'), null, true);
} else {
$this->oAdminAction->Message('error', $this->Lang_Get('adm_saved_err'), null, true);
}
admHeaderLocation(Router::GetPath('admin') . 'site/settings/' . $this->sMenuNavItemSelect);
}
示例5: eventSitemapIndex
/**
* Генерирует карту Sitemap-ов, разбивая каждый тип сущностей на наборы
*
* @return void
*/
protected function eventSitemapIndex()
{
$iPerPage = Config::Get('plugin.sitemap.objects_per_page');
$aCounters = array('general' => 1, 'blogs' => (int) ceil($this->PluginSitemap_Blog_GetOpenCollectiveBlogsCount() / $iPerPage), 'topics' => (int) ceil($this->PluginSitemap_Topic_GetOpenTopicsCount() / $iPerPage), 'users' => (int) ceil($this->PluginSitemap_User_GetUsersCount() / Config::Get('plugin.sitemap.users_per_page')));
// Возможность сторонними плагинами добавлять свои данные в Sitemap Index
$aExternalCounters = $this->PluginSitemap_Sitemap_GetExternalCounters();
if (is_array($aExternalCounters)) {
foreach ($aExternalCounters as $k => $v) {
if (is_string($k) && is_numeric($v)) {
$aCounters[$k] = (int) $v;
}
}
}
// /**
// * Вызов хуков
// */
// Engine::getInstance()->_CallModule('Hook_Run',array('sitemap_index_counters',&$aCounters));
// Генерируем ссылки на конечные Sitemap'ы для Sitemap Index
$aData = array();
$sRootWeb = rtrim(str_replace('index/', '', Router::GetPath('index')), '/');
foreach ($aCounters as $sType => $iCount) {
if ($iCount > 0) {
for ($i = 1; $i <= $iCount; ++$i) {
$aData[] = array('loc' => $sRootWeb . '/sitemap_' . $sType . '_' . $i . '.xml');
}
}
}
$aLinks = $this->PluginSitemap_Sitemap_GetExternalLinks();
foreach ($aLinks as $sLink) {
$aData[] = array('loc' => $sLink);
}
$this->_displaySitemap($aData, 'sitemap_index.tpl');
}
示例6: EventTags
/**
* Отображение топиков
*
*/
protected function EventTags()
{
/**
* Получаем тег из УРЛа
*/
$sTag = $this->sCurrentEvent;
/**
* Передан ли номер страницы
*/
$iPage = $this->GetParamEventMatch(0, 2) ? $this->GetParamEventMatch(0, 2) : 1;
/**
* Получаем список топиков
*/
$aResult = $this->Topic_GetTopicsByTag($sTag, $iPage, Config::Get('module.topic.per_page'));
$aTopics = $aResult['collection'];
/**
* Формируем постраничность
*/
$aPaging = $this->Viewer_MakePaging($aResult['count'], $iPage, Config::Get('module.topic.per_page'), 4, Router::GetPath('tag') . htmlspecialchars($sTag));
/**
* Загружаем переменные в шаблон
*/
$this->Viewer_Assign('aPaging', $aPaging);
$this->Viewer_Assign('aTopics', $aTopics);
$this->Viewer_Assign('sTag', $sTag);
$this->Viewer_AddHtmlTitle($this->Lang_Get('tag_title'));
$this->Viewer_AddHtmlTitle($sTag);
$this->Viewer_SetHtmlRssAlternate(Router::GetPath('rss') . 'tag/' . $sTag . '/', $sTag);
/**
* Устанавливаем шаблон вывода
*/
$this->SetTemplateAction('index');
}
示例7: AddRssLink
public function AddRssLink()
{
if (Config::Get('general.close') and Config::Get('plugin.getlasttopics.enable_rss')) {
$aHtmlRssAlternate = null;
$aHtmlRssAlternate['url'] = htmlspecialchars(Router::GetPath('rss'));
$aHtmlRssAlternate['title'] = htmlspecialchars(Config::Get('view.name'));
$this->Viewer_Assign('aHtmlRssAlternate', $aHtmlRssAlternate);
return $this->Viewer_Fetch(Plugin::GetTemplatePath(__CLASS__) . 'rsslink.tpl');
}
}
示例8: EventShowCatUsers
protected function EventShowCatUsers()
{
//Получаем категорию из адресной строки
$sFirstCat = $this->sCurrentEvent;
//Первая категория соответсвует имени эвента
$aParam = $this->GetParams();
//Последний параметр может оказаться номером страницы, проверяем
$iPage = 1;
if (isset($aParam[count($aParam) - 1])) {
if (preg_match("/^page\\d+\$/i", $aParam[count($aParam) - 1])) {
$sPage = array_pop($aParam);
$iPage = (int) substr($sPage, 4);
}
}
array_unshift($aParam, $sFirstCat);
//Категории пользователей отделяются от категорий блогов словом cat
$sFullBlogCatName = '';
$sFullUserCatName = '';
if (($iCatPosition = array_search('cat', $aParam)) !== false) {
$aUserCats = array_slice($aParam, 0, $iCatPosition);
$aBlogCats = array_slice($aParam, $iCatPosition + 1);
$sFullBlogCatName = strtoupper(implode(':', $aBlogCats));
} else {
$aUserCats = $aParam;
}
$sFullUserCatName = strtoupper(implode(':', $aUserCats));
if ($sFullUserCatName && !$this->PluginUsercats_ModuleCategory_IsFullCategoryExist($sFullUserCatName)) {
return parent::EventNotFound();
}
if ($sFullBlogCatName && !$this->PluginCommunitycats_ModuleCategory_IsFullCategoryExist($sFullBlogCatName)) {
return parent::EventNotFound();
}
if (!$sFullBlogCatName && !$sFullUserCatName) {
return Router::Action('people', 'good');
}
//Получаем список пользователей
$aFilters = array();
if ($sFullUserCatName) {
$aFilters['aUserFilter'] = array('beginLike' => array('user_cat' => $sFullUserCatName));
}
if ($sFullBlogCatName) {
$aFilters['aBlogFilter'] = array('beginLike' => array('blog_cat' => $sFullBlogCatName), 'eq' => array('blog_type' => 'personal'));
}
$aUsers = $this->PluginUsercats_ModuleCategory_GetUsersByFilters($aFilters, array(), array('iPage' => $iPage, 'iElementsPerPage' => Config::Get('module.user.per_page')), false);
$iCountUsers = $this->PluginUsercats_ModuleCategory_GetCountUsersByFilters($aFilters);
//Формируем постраничность
$aPaging = $this->Viewer_MakePaging($iCountUsers, $iPage, Config::Get('module.user.per_page'), 4, Router::GetPath('people') . implode('/', $aParam));
//Загружаем переменные в шаблон
$this->Viewer_Assign('aPath', $aParam);
$this->Viewer_Assign('aPaging', $aPaging);
$this->Viewer_Assign('aUsersRating', $aUsers);
$this->GetStats();
//Устанавливаем шаблон вывода
$this->SetTemplateAction('index');
}
示例9: EventSeopack
protected function EventSeopack()
{
$this->sMainMenuItem = 'content';
$this->_setTitle(E::ModuleLang()->Get('plugin.seopack.seopack_title'));
$nPage = $this->_getPageNum();
$aSeopack = E::ModuleSeopack()->GetSeopackItemsByFilter(array('#page' => 1, '#limit' => array(($nPage - 1) * Config::Get('admin.items_per_page'), Config::Get('admin.items_per_page'))));
$aPaging = E::ModuleViewer()->MakePaging($aSeopack['count'], $nPage, Config::Get('admin.items_per_page'), 4, Router::GetPath('admin') . 'seopack/');
E::ModuleViewer()->Assign('aSeopack', $aSeopack['collection']);
E::ModuleViewer()->Assign('aPaging', $aPaging);
$this->SetTemplateAction('seopack_list');
}
示例10: show
public function show($param = null, $template = null)
{
if (!$template) {
$path = Router::GetPath();
$template = trim($path, '/');
$template .= Template::DEFAULT_TEMPLATE_SUFFIX;
}
$param = $param ? $param : array();
$this->params = $this->params ? $this->params : array();
$param = array_merge($this->params, $param);
$this->params = $param;
Template::Show($template, $param);
}
示例11: EventTopics
protected function EventTopics()
{
/**
* Получаем логин из УРЛа
*/
$sUserLogin = $this->sCurrentEvent;
/**
* Проверяем есть ли такой юзер
*/
if (!($this->oUserProfile = $this->User_GetUserByLogin($sUserLogin))) {
return parent::EventNotFound();
}
/**
* Передан ли номер страницы
*/
if ($this->GetParamEventMatch(0, 0) == 'blog') {
$iPage = $this->GetParamEventMatch(1, 2) ? $this->GetParamEventMatch(1, 2) : 1;
} else {
$iPage = $this->GetParamEventMatch(0, 2) ? $this->GetParamEventMatch(0, 2) : 1;
}
/**
* Получаем список топиков (исключая зафиксированные)
*/
$aResultNotFixed = $this->PluginTopicfix_ModuleTofix_GetTopicsPersonalByUserNotFixed($this->oUserProfile->getId(), 1, $iPage, Config::Get('module.topic.per_page'));
$aTopics = $aResultNotFixed['collection'];
/**
* Получаем список зафиксированных топиков
*/
$aResultFixed = $this->PluginTopicfix_ModuleTofix_GetTopicsPersonalByUserFixed($this->oUserProfile->getId(), 1);
$aTopicsFixed = $aResultFixed['collection'];
/**
* Формируем постраничность
*/
$aPaging = $this->Viewer_MakePaging($aResultNotFixed['count'], $iPage, Config::Get('module.topic.per_page'), 4, Router::GetPath('my') . $this->oUserProfile->getLogin());
/**
* Загружаем переменные в шаблон
*/
$this->Viewer_Assign('aPaging', $aPaging);
$this->Viewer_Assign('aTopics', $aTopics);
$this->Viewer_Assign('aTopicsFixed', $aTopicsFixed);
$this->Viewer_Assign('oUserOwner', $this->oUserProfile);
$this->Viewer_AddHtmlTitle($this->Lang_Get('user_menu_publication') . ' ' . $this->oUserProfile->getLogin());
$this->Viewer_AddHtmlTitle($this->Lang_Get('user_menu_publication_blog'));
$this->Viewer_SetHtmlRssAlternate(Router::GetPath('rss') . 'personal_blog/' . $this->oUserProfile->getLogin() . '/', $this->oUserProfile->getLogin());
/**
* Устанавливаем шаблон вывода
*/
$this->SetTemplateAction('blog');
}
示例12: getDataForPages
/**
* Get data for static pages Sitemap
*
* @param integer $iCurrPage
* @return array
*/
public function getDataForPages($iCurrPage)
{
$iPerPage = Config::Get('plugin.sitemap.objects_per_page');
$sCacheKey = "sitemap_pages_{$iCurrPage}_" . $iPerPage;
if (false === ($aData = $this->Cache_Get($sCacheKey))) {
$iCount = 0;
$aPages = $this->PluginPage_Page_GetListOfActivePages($iCount, $iCurrPage, $iPerPage);
$aData = array();
foreach ($aPages as $oPage) {
$aData[] = $this->PluginSitemap_Sitemap_GetDataForSitemapRow(Router::GetPath('page') . $oPage->getUrlFull(), $oPage->getDateLastMod(), Config::Get('plugin.page.sitemap.sitemap_priority'), Config::Get('plugin.page.sitemap.sitemap_changefreq'));
}
$this->Cache_Set($aData, $sCacheKey, array('page_change'), Config::Get('plugin.page.sitemap.cache_lifetime'));
}
return $aData;
}
示例13: EventReceptiondeskIndex
protected function EventReceptiondeskIndex()
{
$iPage = $this->GetEventMatch(2) ? $this->GetEventMatch(2) : 1;
if ($iPage == 1) {
$this->Viewer_SetHtmlCanonical(Router::GetPath('receptiondesk'));
}
$aResult = $this->PluginReceptiondesk_Question_GetQuestionList($iPage, Config::Get('plugin.receptiondesk.receptiondesk_question_per_page'), 1);
$aPaging = $this->Viewer_MakePaging($aResult['count'], $iPage, Config::Get('plugin.receptiondesk.receptiondesk_question_per_page'), Config::Get('pagination.pages.count'), Router::GetPath('receptiondesk'));
$this->Viewer_Assign('aQuestionList', $aResult['collection']);
$this->Viewer_Assign('aPaging', $aPaging);
if (Config::Get('plugin.receptiondesk.receptiondesk_create_popup')) {
$this->Viewer_Assign('bPopup', true);
}
$this->SetTemplateAction('index');
}
示例14: EventUnsubscribe
/**
* Отписка от подписки
*/
protected function EventUnsubscribe()
{
if ($oSubscribe = $this->Subscribe_GetSubscribeByKey($this->getParam(0)) and $oSubscribe->getStatus() == 1) {
$oSubscribe->setStatus(0);
$oSubscribe->setDateRemove(date("Y-m-d H:i:s"));
$this->Subscribe_UpdateSubscribe($oSubscribe);
$this->Message_AddNotice($this->Lang_Get('subscribe_change_ok'), null, true);
}
/**
* Получаем URL для редиректа
*/
if (!($sUrl = $this->Subscribe_GetUrlTarget($oSubscribe->getTargetType(), $oSubscribe->getTargetId()))) {
$sUrl = Router::GetPath('index');
}
Router::Location($sUrl);
}
示例15: smarty_function_router
/**
* Плагин для смарти
* Позволяет получать данные о роутах
*
* @param array $aParams
* @param Smarty $oSmarty
* @return string
*/
function smarty_function_router($aParams, &$oSmarty)
{
if (empty($aParams['page'])) {
trigger_error("Router: missing 'page' parametr", E_USER_WARNING);
return;
}
require_once Config::Get('path.root.engine') . '/classes/Router.class.php';
if (!($sPath = Router::GetPath($aParams['page']))) {
trigger_error("Router: unknown 'page' given", E_USER_WARNING);
return;
}
/**
* Возвращаем полный адрес к указаному Action
*/
return isset($aParams['extend']) ? $sPath . $aParams['extend'] . "/" : $sPath;
}