/**
  * Получение токена в админке
  */
 protected function EventGetAccessToken()
 {
     if (!LS::Adm()) {
         return parent::EventNotFound();
     }
     $this->SetTemplateAction('access_token');
 }
Example #2
0
 /**
  * Добавляем чекбокс для публикации в группу
  */
 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;
 }
Example #3
0
 /**
  * Формируем права доступа
  *
  * @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();
     }
 }