本文整理汇总了PHP中Router::Action方法的典型用法代码示例。如果您正苦于以下问题:PHP Router::Action方法的具体用法?PHP Router::Action怎么用?PHP Router::Action使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Router
的用法示例。
在下文中一共展示了Router::Action方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: EventComments
/**
* Поиск комментариев
*
* @return unknown
*/
function EventComments()
{
/**
* Ищем
*/
$aReq = $this->PrepareRequest();
$aRes = $this->PrepareResults($aReq, Config::Get('module.comment.per_page'));
if (FALSE === $aRes) {
$this->Message_AddErrorSingle($this->Lang_Get('system_error'));
return Router::Action('error');
}
/**
* Если поиск дал результаты
*/
if ($this->bIsResults) {
/**
* Получаем топик-объекты по списку идентификаторов
*/
$aComments = $this->Comment_GetCommentsAdditionalData(array_keys($this->aSphinxRes['matches']));
/**
* Делаем сниппеты
*/
foreach ($aComments as $oComment) {
$oComment->setText($this->Sphinx_GetSnippet(htmlspecialchars($oComment->getText()), 'comments', $aReq['q'], '<span class="searched-item">', '</span>'));
}
/**
* Отправляем данные в шаблон
*/
$this->Viewer_Assign('aRes', $aRes);
$this->Viewer_Assign('aComments', $aComments);
}
}
示例2: EventAdd
/**
* Добавление новой записи
*/
protected function EventAdd()
{
/**
* Устанавливаем title страницы
*/
$this->Viewer_AddHtmlTitle($this->Lang_Get('plugin.testimonials.add_testimonial_title'));
/**
* Проверяем авторизован ли пользователь
*/
if (!$this->User_IsAuthorization()) {
$this->Message_AddErrorSingle($this->Lang_Get('not_access'), $this->Lang_Get('error'));
return Router::Action('error');
}
/**
* Запускаем проверку корректности ввода полей.
* Дополнительно проверяем, что был отправлен POST запрос.
*/
if (!$this->checkTestimonialFields()) {
return false;
}
/**
* Если все ок, заполняем свойства
*/
$oTestimonial = Engine::GetEntity('PluginTestimonials_Testimonials');
$oTestimonial->setTextSource(getRequestStr('text'));
/**
* Парсим текст на предмет разных ХТМЛ тегов
*/
$sText = $this->Text_Parser(getRequestStr('text'));
$oTestimonial->setText($sText);
$oTestimonial->setUserId($this->oUserCurrent->getId());
$oTestimonial->setDateAdd(date("Y-m-d H:i:s"));
/**
* Проверяем права на постинг
*/
if (!$this->PluginTestimonials_ACL_CanAddTestimonial($this->oUserCurrent)) {
$this->Message_AddErrorSingle($this->Lang_Get('plugin.testimonials.create_error_noallow'), $this->Lang_Get('error'));
return false;
}
/**
* Проверяем разрешено ли постить по времени
*/
if (isPost('submit_testimonial_save') and !$this->PluginTestimonials_ACL_CanPostTestimonialTime($this->oUserCurrent)) {
$this->Message_AddErrorSingle($this->Lang_Get('topic_time_limit'), $this->Lang_Get('error'));
return;
}
/**
* Добавляем запись
*/
if ($this->PluginTestimonials_Testimonials_AddTestimonial($oTestimonial)) {
/**
* Добавляем событие в ленту
*/
$this->Stream_write($oTestimonial->getUserId(), 'add_testimonial', $oTestimonial->getId());
Router::Location(Router::GetPath('testimonials'));
} else {
$this->Message_AddError($this->Lang_Get('system_error'));
}
}
示例3: EventMyStuff
protected function EventMyStuff()
{
$sUserLogin = $this->sCurrentEvent;
if (strtolower($this->GetParam(1, 'noth')) == 'new') {
return Router::Action('mine', 'new', array($sUserLogin, 'friends'));
}
return Router::Action('mine', 'index', array($sUserLogin, 'friends'));
}
示例4: Init
public function Init()
{
$this->oUserCurrent = $this->User_GetUserCurrent();
if (Config::Get('plugin.popupinfo.Only_Registered_Users_Can_See_Info_Tips') and !$this->oUserCurrent) {
return Router::Action('error');
}
$this->SetDefaultEvent('getuserinfo');
}
示例5: InitAction
public function InitAction()
{
if (Config::Get('general.close') and Config::Get('plugin.getlasttopics.enable_rss')) {
$sUrl = @$_SERVER['REDIRECT_URL'];
if (Router::GetAction() == 'login' and substr_count($sUrl, '/rss') > 0) {
Router::Action('rss', 'login');
}
}
}
示例6: InitAction
/**
* Обработка хука инициализации экшенов
* Может выполняться несколько раз, например, при использовании внутренних реврайтов
*/
public function InitAction()
{
/**
* Проверка на закрытый режим
*/
$oUserCurrent = $this->User_GetUserCurrent();
if (!$oUserCurrent and Config::Get('general.close') and !Router::CheckIsCurrentAction((array) Config::Get('general.close_exceptions'))) {
Router::Action('auth/login');
}
}
示例7: 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');
}
示例8: CheckSearch
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());
}
}
示例9: InitAction
/**
* Логика инициализации
*
*/
public function InitAction()
{
/**
* Проверяем наличие директории install
*/
if (is_dir(rtrim(Config::Get('path.root.server'), '/') . '/install')) {
$this->Message_AddErrorSingle($this->Lang_Get('install_directory_exists'));
Router::Action('error');
}
if (!$this->oUserCurrent and Config::Get('general.close') and Router::GetAction() != 'registration' and Router::GetAction() != 'login') {
Router::Action('login');
}
$this->Hook_Run('init_action');
}
示例10: EventAdd
protected function EventAdd()
{
$xResult = E::Module('PluginMagicrules\\Rule')->CheckRuleAction('create_topic', $this->oUserCurrent);
if ($xResult === true) {
return parent::EventAdd();
} else {
if (is_string($xResult)) {
E::ModuleMessage()->AddErrorSingle($xResult, E::ModuleLang()->Get('attention'));
return Router::Action('error');
} else {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('plugin.magicrules.check_rule_action_error'), E::ModuleLang()->Get('attention'));
return Router::Action('error');
}
}
}
示例11: Init
/**
* Инициализация
*
* @return unknown
*/
public function Init()
{
/**
* Проверяем авторизован ли юзер
*/
if (!$this->User_IsAuthorization()) {
$this->Message_AddErrorSingle($this->Lang_Get('not_access'), $this->Lang_Get('error'));
return Router::Action('error');
}
/**
* Получаем текущего юзера
*/
$this->oUserCurrent = $this->User_GetUserCurrent();
$this->SetDefaultEvent('profile');
$this->Viewer_AddHtmlTitle($this->Lang_Get('settings_menu'));
}
示例12: EventWallAdd
/**
* Добавление записи на стену
*/
public function EventWallAdd()
{
// * Устанавливаем формат Ajax ответа
E::ModuleViewer()->SetResponseAjax('json');
// * Пользователь авторизован?
if (!E::IsUser()) {
return parent::EventNotFound();
}
$xResult = E::Module('PluginMagicrules\\Rule')->CheckRuleAction('create_wall', E::User());
if ($xResult === true) {
return parent::EventWallAdd();
} else {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('plugin.magicrules.check_rule_action_error'), E::ModuleLang()->Get('attention'));
return Router::Action('error');
}
}
示例13: UserBanned
private function UserBanned($oUser)
{
if ($oUser) {
if ($oUser->IsBannedUnlim()) {
$sText = $this->Lang_Get('adm_banned2_text');
} else {
$sText = $this->Lang_Get('adm_banned1_text', array('date' => $oUser->GetBanLine()));
}
$this->Message_AddErrorSingle($sText, $this->Lang_Get('adm_denied_title'));
$oUser->setKey(uniqid(time(), true));
$this->User_Update($oUser);
$this->User_Logout();
}
$this->Session_DropSession();
Router::Action('error');
}
示例14: ajaxSendMessage
protected function ajaxSendMessage()
{
$this->Viewer_SetResponseAjax('json');
if (!$this->User_IsAuthorization()) {
return Router::Action('error');
}
$iTopicId = (int) getRequest('topicId');
$sEmail = trim((string) getRequest('email'));
$sMessage = htmlspecialchars(getRequest('message'));
if (preg_match('/^[a-z0-9](?:[-._a-z]+[a-z0-9])?@[a-z0-9][-_a-z]+[a-z0-9](?:\\.[a-z0-9][-_a-z0-9]+[a-z0-9])?\\.[a-z]{2,6}$/i', $sEmail)) {
if ($this->PluginSendtofriend_ModuleSendtofriend_SendMessage($sEmail, $sMessage, $iTopicId)) {
$this->Message_AddNoticeSingle($this->Lang_Get('sendtofriend_msg_success'), $this->Lang_Get('sendtofriend_msgTitle_success'));
return;
}
}
$this->Message_AddErrorSingle($this->Lang_Get('sendtofriend_msg_error'), $this->Lang_Get('sendtofriend_msgTitle_error'));
}
示例15: EventVoteUser
/**
* @return string|void
*/
protected function EventVoteUser()
{
// * Пользователь авторизован?
if (!E::IsUser()) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('need_authorization'), E::ModuleLang()->Get('error'));
return;
}
$xResult = E::Module('PluginMagicrules\\Rule')->CheckRuleAction('vote_user', E::User(), array('vote_value' => (int) $this->getPost('value')));
if (true === $xResult) {
return parent::EventVoteUser();
} else {
if (is_string($xResult)) {
E::ModuleMessage()->AddErrorSingle($xResult, E::ModuleLang()->Get('attention'));
return Router::Action('error');
} else {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('plugin.magicrules.check_rule_action_error'), E::ModuleLang()->Get('attention'));
return Router::Action('error');
}
}
}