当前位置: 首页>>代码示例>>PHP>>正文


PHP ModuleUser_EntityUser::isModerator方法代码示例

本文整理汇总了PHP中ModuleUser_EntityUser::isModerator方法的典型用法代码示例。如果您正苦于以下问题:PHP ModuleUser_EntityUser::isModerator方法的具体用法?PHP ModuleUser_EntityUser::isModerator怎么用?PHP ModuleUser_EntityUser::isModerator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ModuleUser_EntityUser的用法示例。


在下文中一共展示了ModuleUser_EntityUser::isModerator方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: AjaxRemoveBlogInvite

 /**
  * Обработка ajax-запроса на удаление приглашения подписаться на приватный блог
  *
  */
 protected function AjaxRemoveBlogInvite()
 {
     //  Устанавливаем формат Ajax ответа
     E::ModuleViewer()->SetResponseAjax('json');
     $sUserId = F::GetRequestStr('idUser', null, 'post');
     $sBlogId = F::GetRequestStr('idBlog', null, 'post');
     //  Если пользователь не авторизирован, возвращаем ошибку
     if (!E::ModuleUser()->IsAuthorization()) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('need_authorization'), E::ModuleLang()->Get('error'));
         return;
     }
     $this->oUserCurrent = E::ModuleUser()->GetUserCurrent();
     //  Проверяем существование блога
     if (!($oBlog = E::ModuleBlog()->GetBlogById($sBlogId))) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
         return;
     }
     $this->oCurrentBlog = $oBlog;
     //  Пользователь существует и активен?
     $oUser = E::ModuleUser()->GetUserById($sUserId);
     if (!$oUser || $oUser->getActivate() != 1) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
         return;
     }
     //  Проверяем, имеет ли право текущий пользователь добавлять invite в blog
     $oBlogUser = E::ModuleBlog()->GetBlogUserByBlogIdAndUserId($oBlog->getId(), $this->oUserCurrent->getId());
     $bBlogAdministrator = $oBlogUser ? $oBlogUser->IsBlogAdministrator() : false;
     if ($oBlog->getOwnerId() != $this->oUserCurrent->getId() && !$this->oUserCurrent->isAdministrator() && !$this->oUserCurrent->isModerator() && !$bBlogAdministrator) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
         return;
     }
     $oBlogUser = E::ModuleBlog()->GetBlogUserByBlogIdAndUserId($oBlog->getId(), $oUser->getId());
     if ($oBlogUser->getUserRole() == ModuleBlog::BLOG_USER_ROLE_INVITE) {
         //  Удаляем связь/приглашение
         E::ModuleBlog()->DeleteRelationBlogUser($oBlogUser);
         E::ModuleMessage()->AddNoticeSingle(E::ModuleLang()->Get('blog_user_invite_remove_ok', array('login' => $oUser->getLogin())), E::ModuleLang()->Get('attention'));
     } else {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
     }
 }
开发者ID:anp135,项目名称:altocms,代码行数:44,代码来源:ActionBlog.class.php

示例2: GetAllowContentTypeByUserId

 /**
  * Возвращает доступные для создания пользователем типы контента
  *
  * @param ModuleUser_EntityUser $oUser
  *
  * @return ModuleTopic_EntityContentType[]
  */
 public function GetAllowContentTypeByUserId($oUser)
 {
     if ($oUser && ($oUser->isAdministrator() || $oUser->isModerator())) {
         // Для админа и модератора доступны все активные типы контента
         /** @var ModuleTopic_EntityContentType[] $aContentTypes */
         $aContentTypes = E::ModuleTopic()->GetContentTypes(array('content_active' => 1));
         return $aContentTypes;
     }
     // Получим все блоги пользователя
     $aBlogs = E::ModuleBlog()->GetBlogsAllowByUser($oUser, false);
     // Добавим персональный блог пользователю
     if ($oUser) {
         $aBlogs[] = E::ModuleBlog()->GetPersonalBlogByUserId($oUser->getId());
     }
     // Получим типы контента
     /** @var ModuleTopic_EntityContentType[] $aContentTypes */
     $aContentTypes = E::ModuleTopic()->GetContentTypes(array('content_active' => 1));
     $aAllowContentTypes = array();
     /** @var ModuleBlog_EntityBlog $oBlog */
     foreach ($aBlogs as $oBlog) {
         // Пропускаем блог, если в него нельзя добавлять топики
         if (!E::ModuleACL()->CanAddTopic($oUser, $oBlog)) {
             continue;
         }
         if ($aContentTypes) {
             foreach ($aContentTypes as $k => $oContentType) {
                 if ($oBlog->IsContentTypeAllow($oContentType->getContentUrl())) {
                     $aAllowContentTypes[] = $oContentType;
                     // Удалим, что бы повторное не проверять, ведь в каком-то
                     // блоге пользвоателя этот тип контента уже разрешён
                     unset($aContentTypes[$k]);
                 }
             }
         }
     }
     return $aAllowContentTypes;
 }
开发者ID:AlexSSN,项目名称:altocms,代码行数:44,代码来源:Topic.class.php

示例3: CanAddWallTime

 /**
  * Проверка на ограничение по времени на постинг на стене
  *
  * @param ModuleUser_EntityUser $oUser    Пользователь
  * @param ModuleWall_EntityWall $oWall    Объект сообщения на стене
  *
  * @return bool
  */
 public function CanAddWallTime($oUser, $oWall)
 {
     // * Для администраторов ограничение по времени не действует
     if ($oUser->isAdministrator() || $oUser->isModerator() || Config::Get('acl.create.wall.limit_time') == 0 || $oUser->getRating() >= Config::Get('acl.create.wall.limit_time_rating')) {
         return true;
     }
     if ($oWall->getUserId() == $oWall->getWallUserId()) {
         return true;
     }
     // * Получаем последнее сообщение
     $aWall = E::ModuleWall()->GetWall(array('user_id' => $oWall->getUserId()), array('id' => 'desc'), 1, 1, array());
     // * Если сообщений нет
     if ($aWall['count'] == 0) {
         return true;
     }
     $oWallLast = array_shift($aWall['collection']);
     $sDate = strtotime($oWallLast->getDateAdd());
     if ($sDate && time() - $sDate < Config::Get('acl.create.wall.limit_time')) {
         return false;
     }
     return true;
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:30,代码来源:ACL.class.php

示例4: GetAllowBlogTypes

 /**
  * Возвращает список доступных типов для определенного действия
  *
  * @param ModuleUser_EntityUser $oUser
  * @param string                $sAction
  * @param bool                  $bTypeCodesOnly
  *
  * @return array
  */
 public function GetAllowBlogTypes($oUser, $sAction, $bTypeCodesOnly = false)
 {
     $aFilter = array('exclude_type' => in_array($sAction, array('add', 'list')) ? 'personal' : null, 'is_active' => true);
     if ($sAction && !in_array($sAction, array('add', 'list', 'write'))) {
         return array();
     }
     if (!$oUser) {
         // Если пользователь не задан
         if ($sAction == 'add') {
             $aFilter['allow_add'] = true;
         } elseif ($sAction == 'list') {
             $aFilter['allow_list'] = true;
         }
     } elseif ($oUser && !$oUser->IsAdministrator() && !$oUser->isModerator()) {
         // Если пользователь задан и он не админ, то надо учитывать рейтинг
         if ($sAction == 'add') {
             $aFilter['allow_add'] = true;
             $aFilter['min_rate_add'] = $oUser->GetUserRating();
         } elseif ($sAction == 'list') {
             $aFilter['allow_list'] = true;
             $aFilter['min_rate_list'] = $oUser->GetUserRating();
         } elseif ($sAction == 'write') {
             $aFilter['min_rate_write'] = $oUser->GetUserRating();
         }
     }
     $aBlogTypes = $this->GetBlogTypes($aFilter, $bTypeCodesOnly);
     return $aBlogTypes;
 }
开发者ID:AlexSSN,项目名称:altocms,代码行数:37,代码来源:Blog.class.php

示例5: SubmitEdit

 /**
  * Обработка редактирования топика
  *
  * @param ModuleTopic_EntityTopic $oTopic
  *
  * @return mixed
  */
 protected function SubmitEdit($oTopic)
 {
     $oTopic->_setValidateScenario('topic');
     // * Сохраняем старое значение идентификатора блога
     $iBlogIdOld = $oTopic->getBlogId();
     // * Заполняем поля для валидации
     $iBlogId = F::GetRequestStr('blog_id');
     // if blog_id is empty then save blog not changed
     if (is_numeric($iBlogId)) {
         $oTopic->setBlogId($iBlogId);
     }
     // issue 151 (https://github.com/altocms/altocms/issues/151)
     // Некорректная обработка названия блога
     // $oTopic->setTitle(strip_tags(F::GetRequestStr('topic_title')));
     $oTopic->setTitle(E::ModuleTools()->RemoveAllTags(F::GetRequestStr('topic_title')));
     $oTopic->setTextSource(F::GetRequestStr('topic_text'));
     if ($this->oContentType->isAllow('link')) {
         $oTopic->setSourceLink(F::GetRequestStr('topic_field_link'));
     }
     $oTopic->setTags(F::GetRequestStr('topic_field_tags'));
     $oTopic->setUserIp(F::GetUserIp());
     if ($this->oUserCurrent && ($this->oUserCurrent->isAdministrator() || $this->oUserCurrent->isModerator())) {
         if (F::GetRequestStr('topic_url') && $oTopic->getTopicUrl() != F::GetRequestStr('topic_url')) {
             $sTopicUrl = E::ModuleTopic()->CorrectTopicUrl(F::TranslitUrl(F::GetRequestStr('topic_url')));
             $oTopic->setTopicUrl($sTopicUrl);
         }
     }
     // * Проверка корректности полей формы
     if (!$this->checkTopicFields($oTopic)) {
         return false;
     }
     // * Определяем в какой блог делаем запись
     $nBlogId = $oTopic->getBlogId();
     if ($nBlogId == 0) {
         $oBlog = E::ModuleBlog()->GetPersonalBlogByUserId($oTopic->getUserId());
     } else {
         $oBlog = E::ModuleBlog()->GetBlogById($nBlogId);
     }
     // * Если блог не определен выдаем предупреждение
     if (!$oBlog) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('topic_create_blog_error_unknown'), E::ModuleLang()->Get('error'));
         return false;
     }
     // * Проверяем права на постинг в блог
     if (!E::ModuleACL()->IsAllowBlog($oBlog, $this->oUserCurrent)) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('topic_create_blog_error_noallow'), E::ModuleLang()->Get('error'));
         return false;
     }
     // * Проверяем разрешено ли постить топик по времени
     if (isPost('submit_topic_publish') && !$oTopic->getPublishDraft() && !E::ModuleACL()->CanPostTopicTime($this->oUserCurrent)) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('topic_time_limit'), E::ModuleLang()->Get('error'));
         return;
     }
     $oTopic->setBlogId($oBlog->getId());
     // * Получаемый и устанавливаем разрезанный текст по тегу <cut>
     list($sTextShort, $sTextNew, $sTextCut) = E::ModuleText()->Cut($oTopic->getTextSource());
     $oTopic->setCutText($sTextCut);
     $oTopic->setText(E::ModuleText()->Parser($sTextNew));
     // Получаем ссылки, полученные при парсинге текста
     $oTopic->setTextLinks(E::ModuleText()->GetLinks());
     $oTopic->setTextShort(E::ModuleText()->Parser($sTextShort));
     // * Изменяем вопрос/ответы, только если еще никто не голосовал
     if ($this->oContentType->isAllow('poll') && F::GetRequestStr('topic_field_question') && F::GetRequest('topic_field_answers', array()) && $oTopic->getQuestionCountVote() == 0) {
         $oTopic->setQuestionTitle(strip_tags(F::GetRequestStr('topic_field_question')));
         $oTopic->clearQuestionAnswer();
         $aAnswers = F::GetRequest('topic_field_answers', array());
         foreach ($aAnswers as $sAnswer) {
             $sAnswer = trim((string) $sAnswer);
             if ($sAnswer) {
                 $oTopic->addQuestionAnswer($sAnswer);
             }
         }
     }
     $aPhotoSetData = E::ModuleMresource()->GetPhotosetData('photoset', $oTopic->getId());
     $oTopic->setPhotosetCount($aPhotoSetData['count']);
     $oTopic->setPhotosetMainPhotoId($aPhotoSetData['cover']);
     // * Publish or save as a draft
     $bSendNotify = false;
     if (isset($_REQUEST['submit_topic_publish'])) {
         // If the topic has not been published then sets date of show (publication date)
         if (!$oTopic->getPublish() && !$oTopic->getDateShow()) {
             $oTopic->setDateShow(F::Now());
         }
         $oTopic->setPublish(1);
         if ($oTopic->getPublishDraft() == 0) {
             $oTopic->setPublishDraft(1);
             $oTopic->setDateAdd(F::Now());
             $bSendNotify = true;
         }
     } else {
         $oTopic->setPublish(0);
     }
     // * Принудительный вывод на главную
//.........这里部分代码省略.........
开发者ID:AntiqS,项目名称:altocms,代码行数:101,代码来源:ActionContent.class.php


注:本文中的ModuleUser_EntityUser::isModerator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。