/** * Получение токена в админке */ protected function EventGetAccessToken() { if (!LS::Adm()) { return parent::EventNotFound(); } $this->SetTemplateAction('access_token'); }
/** * Добавляем чекбокс для публикации в группу */ public function AddCheckBox($aA) { if (LS::Adm()) { if ($iTopicId = Router::GetParam(0)) { $oTopic = $this->Topic_GetTopicById($iTopicId); if ($oTopic) { $this->Viewer_Assign('sVkPostId', $oTopic->getExtraValue('vk_post_id')); } } return $this->Viewer_Fetch(Plugin::GetTemplatePath(__CLASS__) . 'field.checkbox.tpl'); } return null; }
/** * Формируем права доступа * * @param object $oForum * @return object */ public function BuildPerms($oForum, $bNoModers = false) { $oUser = $this->User_GetUserCurrent(); $oParent = $oForum->getParentId() ? $this->BuildPerms($oForum->getParent(), true) : null; /** * Права модератора */ if (!$bNoModers) { $sId = $oUser ? $oUser->getId() : 0; $oModerator = $this->PluginForum_Forum_GetModeratorByUserIdAndForumId($sId, $oForum->getId()); $oForum->setIsModerator(LS::Adm() || $oModerator); $oForum->setModViewIP(LS::Adm() || $oModerator && $oModerator->getViewIp()); $oForum->setModDeletePost(LS::Adm() || $oModerator && $oModerator->getAllowDeletePost()); $oForum->setModDeleteTopic(LS::Adm() || $oModerator && $oModerator->getAllowDeleteTopic()); $oForum->setModMovePost(LS::Adm() || $oModerator && $oModerator->getAllowMovePost()); $oForum->setModMoveTopic(LS::Adm() || $oModerator && $oModerator->getAllowMoveTopic()); $oForum->setModOpencloseTopic(LS::Adm() || $oModerator && $oModerator->getAllowOpencloseTopic()); $oForum->setModPinTopic(LS::Adm() || $oModerator && $oModerator->getAllowPinTopic()); } $aPermissions = unserialize(stripslashes($oForum->getPermissions())); $oForum->setAllowShow(forum_check_perms($aPermissions['show_perms'], $oUser, true)); $oForum->setAllowRead(forum_check_perms($aPermissions['read_perms'], $oUser, true)); $oForum->setAllowReply(forum_check_perms($aPermissions['reply_perms'], $oUser)); $oForum->setAllowStart(forum_check_perms($aPermissions['start_perms'], $oUser)); /** * Авторизован ли текущий пользователь в данном форуме, при условии что форум запоролен */ $oForum->setAutorization($this->isForumAuthorization($oForum)); /** * Если у нас нет прав для просмотра родителя данного форума, запрещаем просмотр */ if ($oParent && !$oParent->getAllowShow()) { $oForum->setAllowShow($oParent->getAllowShow()); } return $oForum; }
/** * Админка */ public function EventAdmin() { if (!LS::Adm()) { return parent::EventNotFound(); } $this->sMenuItemSelect = 'admin'; $this->_addTitle($this->Lang_Get('plugin.forum.acp')); /** * Подключаем CSS */ $this->Viewer_AppendStyle(Plugin::GetTemplatePath(__CLASS__) . 'css/admin.css'); /** * Подключаем JS */ $this->Viewer_AppendScript(Plugin::GetWebPath(__CLASS__) . 'templates/framework/js/forum.admin.js'); $sCategory = $this->GetParam(0); $sAction = $this->GetParam(1); /** * Раздел админки */ switch ($sCategory) { /** * Управление форумами */ case 'forums': /** * Раздел */ switch ($sAction) { /** * Новый форум */ case 'new': $this->_adminForumForm('new'); break; /** * Редактирование форума */ /** * Редактирование форума */ case 'edit': $this->_adminForumForm('edit'); break; /** * Удаление форума */ /** * Удаление форума */ case 'delete': $this->_adminForumDelete(); break; /** * Изменение сортировки */ /** * Изменение сортировки */ case 'sort': $this->_adminForumSort(); break; /** * Права доступа */ /** * Права доступа */ case 'perms': $this->_adminForumPerms(); break; /** * Пересчет счетчиков */ /** * Пересчет счетчиков */ case 'refresh': $this->_adminForumRefresh(); break; /** * Список форумов */ /** * Список форумов */ case null: $this->_adminForums(); break; default: return parent::EventNotFound(); } $this->sMenuSubItemSelect = 'forums'; break; /** * Пользователи */ /** * Пользователи */ case 'users': $this->_adminUsers(); break; /** * Права доступа */ /** * Права доступа */ case 'perms': $this->_adminPerms(); break; /** * Файлы */ /** * Файлы */ case 'files': $this->_adminFiles(); break; /** * Главная */ /** * Главная */ case null: $this->_adminMain(); break; default: return parent::EventNotFound(); } }