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


PHP ModuleUser_EntityUser::isAdministrator方法代码示例

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


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

示例1: EventAjaxChangeOrderFields

 public function EventAjaxChangeOrderFields()
 {
     // * Устанавливаем формат ответа
     E::ModuleViewer()->SetResponseAjax('json');
     if (!E::ModuleUser()->IsAuthorization()) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('need_authorization'), E::ModuleLang()->Get('error'));
         return;
     }
     if (!$this->oUserCurrent->isAdministrator()) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('need_authorization'), E::ModuleLang()->Get('error'));
         return;
     }
     if (!F::GetRequest('order')) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
         return;
     }
     if (is_array(F::GetRequest('order'))) {
         foreach (F::GetRequest('order') as $oOrder) {
             if (is_numeric($oOrder['order']) && is_numeric($oOrder['id']) && ($oField = E::ModuleTopic()->GetContentFieldById($oOrder['id']))) {
                 $oField->setFieldSort($oOrder['order']);
                 E::ModuleTopic()->UpdateContentField($oField);
             }
         }
         E::ModuleMessage()->AddNoticeSingle(E::ModuleLang()->Get('action.admin.save_sort_success'));
         return;
     } else {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
         return;
     }
 }
开发者ID:ZeoNish,项目名称:altocms,代码行数:30,代码来源:ActionAdmin.class.php

示例2: GetIsAdmin

 /**
  * Проверяет является ли текущий пользователь администратором
  *
  * @param bool $bReturnUser Возвращать или нет объект пользователя
  *
  * @return bool|ModuleUser_EntityUser
  */
 public function GetIsAdmin($bReturnUser = false)
 {
     if ($this->oUserCurrent and $this->oUserCurrent->isAdministrator()) {
         return $bReturnUser ? $this->oUserCurrent : true;
     }
     return false;
 }
开发者ID:pinguo-liguo,项目名称:livestreet,代码行数:14,代码来源:User.class.php

示例3: Authorization

 /**
  * Авторизовывает юзера
  *
  * @param ModuleUser_EntityUser $oUser	Объект пользователя
  * @param bool $bRemember	Запоминать пользователя или нет
  * @param string $sKey	Ключ авторизации для куков
  * @return bool
  */
 public function Authorization(ModuleUser_EntityUser $oUser, $bRemember = true, $sKey = null)
 {
     if (!Config::Get('plugin.blacklist.check_authorization') || $oUser && $oUser->isAdministrator() || $oUser && !$this->PluginBlacklist_ModuleBlacklist_blackMail($oUser->getMail(), $oUser->getLogin())) {
         return parent::Authorization($oUser, $bRemember, $sKey);
     }
     $this->Message_AddErrorSingle($this->Lang_Get(Config::Get('plugin.blacklist.check_ip_exact') ? 'plugin.blacklist.user_in_exact_blacklist' : 'plugin.blacklist.user_in_blacklist'));
     return false;
 }
开发者ID:wasja1982,项目名称:livestreet_blacklist,代码行数:16,代码来源:User.class.php

示例4: CheckRuleAction

 /**
  * @param string                $sAction
  * @param ModuleUser_EntityUser $oUser
  * @param array                 $aParams
  *
  * @return bool|string
  */
 public function CheckRuleAction($sAction, $oUser, $aParams = array())
 {
     if ($oUser->isAdministrator()) {
         return true;
     }
     // * Проверка на наличие блокировок
     list($iBlockType, $sBlockTarget) = $this->GetTypeAndTargetByAction($sAction);
     $xResult = $this->CheckRuleBlock($iBlockType, $sBlockTarget, $oUser, $aParams);
     if (true !== $xResult) {
         return $xResult ? $xResult : false;
     }
     // * Проверка на запрещающие правила
     $bSkip = false;
     $aType = (array) Config::Get('plugin.magicrules.rule_disallow.' . $sAction . '.type');
     if ($iBlockType == self::BLOCK_TYPE_VOTE && isset($aParams['vote_value']) && count($aType) && !in_array($this->aVoteMirrow[$aParams['vote_value']], $aType)) {
         $bSkip = true;
     }
     $aGroups = (array) Config::Get('plugin.magicrules.rule_disallow.' . $sAction . '.groups');
     if (!$bSkip && count($aGroups)) {
         $sMsg = $this->_text(Config::Get('plugin.magicrules.rule_disallow.' . $sAction . '.msg'));
         foreach ($aGroups as $aRule) {
             $bCheck = true;
             foreach ($aRule as $sOption => $xValue) {
                 if (!$this->CheckRuleDisallowActionParam($sOption, $xValue, $oUser, $aParams)) {
                     $bCheck = false;
                     break;
                 }
             }
             if ($bCheck) {
                 return $sMsg ? $sMsg : false;
             }
         }
     }
     // * Проверка на разрешающие правила
     $aGroups = (array) Config::Get('plugin.magicrules.rule_allow.' . $sAction . '.groups');
     if (!count($aGroups)) {
         return true;
     }
     $sMsg = $this->_text(Config::Get('plugin.magicrules.rule_allow.' . $sAction . '.msg'));
     foreach ($aGroups as $aRule) {
         $bCheck = true;
         foreach ($aRule as $sOption => $xValue) {
             if (!$this->CheckRuleActionParam($sOption, $xValue, $oUser, $aParams)) {
                 $bCheck = false;
                 break;
             }
         }
         if ($bCheck) {
             return true;
         }
     }
     return $sMsg ? $sMsg : false;
 }
开发者ID:altocms,项目名称:alto-plugin-magicrules,代码行数:60,代码来源:Rule.class.php

示例5: Init

 /**
  * Инициализация
  *
  * @return null
  */
 public function Init()
 {
     /**
      * Проверяем авторизован ли юзер
      */
     if (!$this->User_IsAuthorization()) {
         $this->Message_AddErrorSingle($this->Lang_Get('not_access'));
         return Router::Action('error');
     }
     /**
      * Получаем текущего юзера
      */
     $this->oUserCurrent = $this->User_GetUserCurrent();
     /**
      * Проверяем является ли юзер администратором
      */
     if (!$this->oUserCurrent->isAdministrator()) {
         $this->Message_AddErrorSingle($this->Lang_Get('not_access'));
         return Router::Action('error');
     }
     $this->SetDefaultEvent('report');
 }
开发者ID:cbrspc,项目名称:LIVESTREET-1-DISTRIB,代码行数:27,代码来源:ActionProfiler.class.php

示例6: AjaxRemoveBlogInvite

 /**
  * Обработка ajax запроса на удаление вступить в закрытый блог
  */
 protected function AjaxRemoveBlogInvite()
 {
     /**
      * Устанавливаем формат Ajax ответа
      */
     $this->Viewer_SetResponseAjax('json');
     $sUserId = getRequestStr('idUser', null, 'post');
     $sBlogId = getRequestStr('idBlog', null, 'post');
     /**
      * Если пользователь не авторизирован, возвращаем ошибку
      */
     if (!$this->User_IsAuthorization()) {
         $this->Message_AddErrorSingle($this->Lang_Get('need_authorization'), $this->Lang_Get('error'));
         return;
     }
     $this->oUserCurrent = $this->User_GetUserCurrent();
     /**
      * Проверяем существование блога
      */
     if (!($oBlog = $this->Blog_GetBlogById($sBlogId))) {
         $this->Message_AddErrorSingle($this->Lang_Get('system_error'), $this->Lang_Get('error'));
         return;
     }
     /**
      * Пользователь существует и активен?
      */
     if (!($oUser = $this->User_GetUserById($sUserId)) or $oUser->getActivate() != 1) {
         $this->Message_AddErrorSingle($this->Lang_Get('system_error'), $this->Lang_Get('error'));
         return;
     }
     /**
      * Проверяем, имеет ли право текущий пользователь добавлять invite в blog
      */
     $oBlogUser = $this->Blog_GetBlogUserByBlogIdAndUserId($oBlog->getId(), $this->oUserCurrent->getId());
     $bIsAdministratorBlog = $oBlogUser ? $oBlogUser->getIsAdministrator() : false;
     if ($oBlog->getOwnerId() != $this->oUserCurrent->getId() and !$this->oUserCurrent->isAdministrator() and !$bIsAdministratorBlog) {
         $this->Message_AddErrorSingle($this->Lang_Get('system_error'), $this->Lang_Get('error'));
         return;
     }
     $oBlogUser = $this->Blog_GetBlogUserByBlogIdAndUserId($oBlog->getId(), $oUser->getId());
     if ($oBlogUser->getUserRole() == ModuleBlog::BLOG_USER_ROLE_INVITE) {
         /**
          * Удаляем связь/приглашение
          */
         $this->Blog_DeleteRelationBlogUser($oBlogUser);
         $this->Message_AddNoticeSingle($this->Lang_Get('blog_user_invite_remove_ok', array('login' => $oUser->getLogin())), $this->Lang_Get('attention'));
     } else {
         $this->Message_AddErrorSingle($this->Lang_Get('system_error'), $this->Lang_Get('error'));
     }
 }
开发者ID:lunavod,项目名称:bunker_stable,代码行数:53,代码来源:ActionBlog.class.php

示例7: EventInvite

 /**
  * Показ и обработка формы приглаешний
  *
  */
 protected function EventInvite()
 {
     /**
      * Только при активном режиме инвайтов
      */
     if (!Config::Get('general.reg.invite')) {
         return parent::EventNotFound();
     }
     $this->sMenuItemSelect = 'invite';
     $this->sMenuSubItemSelect = '';
     $this->Viewer_AddHtmlTitle($this->Lang_Get('settings_menu_invite'));
     /**
      * Если отправили форму
      */
     if (isPost('submit_invite')) {
         $this->Security_ValidateSendForm();
         $bError = false;
         /**
          * Есть права на отправку инфайтов?
          */
         if (!$this->ACL_CanSendInvite($this->oUserCurrent) and !$this->oUserCurrent->isAdministrator()) {
             $this->Message_AddError($this->Lang_Get('settings_invite_available_no'), $this->Lang_Get('error'));
             $bError = true;
         }
         /**
          * Емайл корректен?
          */
         if (!func_check(getRequestStr('invite_mail'), 'mail')) {
             $this->Message_AddError($this->Lang_Get('settings_invite_mail_error'), $this->Lang_Get('error'));
             $bError = true;
         }
         /**
          * Запускаем выполнение хуков
          */
         $this->Hook_Run('settings_invate_send_before', array('oUser' => $this->oUserCurrent));
         /**
          * Если нет ошибок, то отправляем инвайт
          */
         if (!$bError) {
             $oInvite = $this->User_GenerateInvite($this->oUserCurrent);
             $this->Notify_SendInvite($this->oUserCurrent, getRequestStr('invite_mail'), $oInvite);
             $this->Message_AddNoticeSingle($this->Lang_Get('settings_invite_submit_ok'));
             $this->Hook_Run('settings_invate_send_after', array('oUser' => $this->oUserCurrent));
         }
     }
     $this->Viewer_Assign('iCountInviteAvailable', $this->User_GetCountInviteAvailable($this->oUserCurrent));
     $this->Viewer_Assign('iCountInviteUsed', $this->User_GetCountInviteUsed($this->oUserCurrent->getId()));
     //	$this->Viewer_Assign('oAceUserProfile', $this->PluginAceadminpanel_Admin_GetUserByLogin($this->oUserProfile->getLogin()));
 }
开发者ID:lunavod,项目名称:bunker_stable,代码行数:53,代码来源:ActionSettings.class.php

示例8: CanPostTestimonialTime

 /**
  * Проверяет может ли пользователь создавать запись по времени
  */
 public function CanPostTestimonialTime(ModuleUser_EntityUser $oUser)
 {
     // Для администраторов ограничение по времени не действует
     if ($oUser->isAdministrator() or Config::Get('plugin.testimonials.acl.create.limit_time') == 0 or $oUser->getRating() >= Config::Get('plugin.testimonials.acl.create.limit_time_rating')) {
         return true;
     }
     /**
      * Проверяем, если топик опубликованный меньше чем acl.create.topic.limit_time секунд назад
      */
     $aTestimonials = $this->PluginTestimonials_Testimonials_GetTestimonialsItemsByFilter(array('#page' => array(1, 20), '#order' => array('id' => 'desc'), 'user_id' => $oUser->getId(), 'date_add >' => date("Y-m-d H:i:s", time() - Config::Get('plugin.testimonials.acl.create.limit_time'))));
     if (isset($aTestimonials['count']) and $aTestimonials['count'] > 0) {
         return false;
     }
     return true;
 }
开发者ID:vakulesh,项目名称:testimonials,代码行数:18,代码来源:ACL.class.php

示例9: EventInvite

 /**
  * Показ и обработка формы приглаешний
  *
  */
 protected function EventInvite()
 {
     /**
      * Только при активном режиме инвайтов
      */
     if (!Config::Get('general.reg.invite')) {
         return parent::EventNotFound();
     }
     $this->sMenuItemSelect = 'invite';
     $this->sMenuSubItemSelect = '';
     E::ModuleViewer()->AddHtmlTitle(E::ModuleLang()->Get('settings_menu_invite'));
     /**
      * Если отправили форму
      */
     if (isPost('submit_invite')) {
         E::ModuleSecurity()->ValidateSendForm();
         $bError = false;
         /**
          * Есть права на отправку инфайтов?
          */
         if (!E::ModuleACL()->CanSendInvite($this->oUserCurrent) && !$this->oUserCurrent->isAdministrator()) {
             E::ModuleMessage()->AddError(E::ModuleLang()->Get('settings_invite_available_no'), E::ModuleLang()->Get('error'));
             $bError = true;
         }
         /**
          * Емайл корректен?
          */
         if (!F::CheckVal(F::GetRequestStr('invite_mail'), 'mail')) {
             E::ModuleMessage()->AddError(E::ModuleLang()->Get('settings_invite_mail_error'), E::ModuleLang()->Get('error'));
             $bError = true;
         }
         /**
          * Запускаем выполнение хуков
          */
         E::ModuleHook()->Run('settings_invate_send_before', array('oUser' => $this->oUserCurrent));
         /**
          * Если нет ошибок, то отправляем инвайт
          */
         if (!$bError) {
             $oInvite = E::ModuleUser()->GenerateInvite($this->oUserCurrent);
             E::ModuleNotify()->SendInvite($this->oUserCurrent, F::GetRequestStr('invite_mail'), $oInvite);
             E::ModuleMessage()->AddNoticeSingle(E::ModuleLang()->Get('settings_invite_submit_ok'));
             E::ModuleHook()->Run('settings_invate_send_after', array('oUser' => $this->oUserCurrent));
         }
     }
     E::ModuleViewer()->Assign('iCountInviteAvailable', E::ModuleUser()->GetCountInviteAvailable($this->oUserCurrent));
     E::ModuleViewer()->Assign('iCountInviteUsed', E::ModuleUser()->GetCountInviteUsed($this->oUserCurrent->getId()));
 }
开发者ID:ZeoNish,项目名称:altocms,代码行数:52,代码来源:ActionSettings.class.php

示例10: 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

示例11: GetInaccessibleBlogsByUser

 /**
  * Получаем массив идентификаторов блогов, 
  * которые являются закрытыми для пользователя
  *
  * @param  ModuleUser_EntityUser $oUser
  * @return array
  */
 public function GetInaccessibleBlogsByUser($oUser = null)
 {
     if ($oUser && $oUser->isAdministrator()) {
         return array();
     }
     $sUserId = $oUser ? $oUser->getId() : 'quest';
     if (false === ($aCloseBlogs = $this->Cache_Get("blog_inaccessible_user_{$sUserId}"))) {
         $aCloseBlogs = array();
         $aCloseBlogs = $this->oMapperBlog->GetCloseBlogs();
         if ($oUser) {
             /**
              * Получаем массив идентификаторов блогов, 
              * которые являются откытыми для данного пользователя
              */
             $aOpenBlogs = array();
             $aOpenBlogs = $this->GetBlogUsersByUserId($oUser->getId(), null, true);
             $aCloseBlogs = array_diff($aCloseBlogs, $aOpenBlogs);
         }
         // Сохраняем в кеш
         if ($oUser) {
             $this->Cache_Set($aCloseBlogs, "blog_inaccessible_user_{$sUserId}", array('blog_new', 'blog_update', "blog_relation_change_{$oUser->getId()}"), 60 * 60 * 24);
         } else {
             $this->Cache_Set($aCloseBlogs, "blog_inaccessible_user_{$sUserId}", array('blog_new', 'blog_update'), 60 * 60 * 24 * 3);
         }
     }
     return $aCloseBlogs;
 }
开发者ID:lifecom,项目名称:test,代码行数:34,代码来源:Blog.class.php

示例12: SubmitEdit


//.........这里部分代码省略.........
     } else {
         $oBlog = $this->Blog_GetBlogById($iBlogId);
     }
     /**
      * Если блог не определен выдаем предупреждение
      */
     if (!$oBlog) {
         $this->Message_AddErrorSingle($this->Lang_Get('topic_create_blog_error_unknown'), $this->Lang_Get('error'));
         return false;
     }
     /**
      * Проверяем права на постинг в блог
      */
     if (!$this->ACL_IsAllowBlog($oBlog, $this->oUserCurrent)) {
         $this->Message_AddErrorSingle($this->Lang_Get('topic_create_blog_error_noallow'), $this->Lang_Get('error'));
         return false;
     }
     /**
      * Проверяем разрешено ли постить топик по времени
      */
     if (isPost('submit_topic_publish') and !$oTopic->getPublishDraft() and !$this->ACL_CanPostTopicTime($this->oUserCurrent)) {
         $this->Message_AddErrorSingle($this->Lang_Get('topic_time_limit'), $this->Lang_Get('error'));
         return;
     }
     /**
      * Теперь можно смело редактировать топик
      */
     $oTopic->setBlogId($oBlog->getId());
     $oTopic->setText($this->Text_Parser($oTopic->getTextSource()));
     $oTopic->setTextShort($oTopic->getText());
     /**
      * Публикуем или сохраняем в черновиках
      */
     $bSendNotify = false;
     if (isset($_REQUEST['submit_topic_publish'])) {
         $oTopic->setPublish(1);
         if ($oTopic->getPublishDraft() == 0) {
             $oTopic->setPublishDraft(1);
             $oTopic->setDateAdd(date("Y-m-d H:i:s"));
             $bSendNotify = true;
         }
     } else {
         $oTopic->setPublish(0);
     }
     /**
      * Принудительный вывод на главную
      */
     if ($this->ACL_IsAllowPublishIndex($this->oUserCurrent)) {
         if (getRequest('topic_publish_index')) {
             $oTopic->setPublishIndex(1);
         } else {
             $oTopic->setPublishIndex(0);
         }
     }
     /**
      * Запрет на комментарии к топику
      */
     $oTopic->setForbidComment(0);
     if (getRequest('topic_forbid_comment')) {
         $oTopic->setForbidComment(1);
     }
     $this->Hook_Run('topic_edit_before', array('oTopic' => $oTopic, 'oBlog' => $oBlog));
     /**
      * Сохраняем топик
      */
     if ($this->Topic_UpdateTopic($oTopic)) {
         $this->Hook_Run('topic_edit_after', array('oTopic' => $oTopic, 'oBlog' => $oBlog, 'bSendNotify' => &$bSendNotify));
         /**
          * Обновляем данные в комментариях, если топик был перенесен в новый блог
          */
         if ($sBlogIdOld != $oTopic->getBlogId()) {
             $this->Comment_UpdateTargetParentByTargetId($oTopic->getBlogId(), 'topic', $oTopic->getId());
             $this->Comment_UpdateTargetParentByTargetIdOnline($oTopic->getBlogId(), 'topic', $oTopic->getId());
         }
         /**
          * Обновляем количество топиков в блоге
          */
         if ($sBlogIdOld != $oTopic->getBlogId()) {
             $this->Blog_RecalculateCountTopicByBlogId($sBlogIdOld);
         }
         $this->Blog_RecalculateCountTopicByBlogId($oTopic->getBlogId());
         /**
          * Добавляем событие в ленту
          */
         $this->Stream_write($oTopic->getUserId(), 'add_topic', $oTopic->getId(), $oTopic->getPublish() && $oBlog->getType() != 'close');
         /**
          * Рассылаем о новом топике подписчикам блога
          */
         if ($bSendNotify) {
             $this->Topic_SendNotifyTopicNew($oBlog, $oTopic, $this->oUserCurrent);
         }
         if (!$oTopic->getPublish() and !$this->oUserCurrent->isAdministrator() and $this->oUserCurrent->getId() != $oTopic->getUserId()) {
             Router::Location($oBlog->getUrlFull());
         }
         Router::Location($oTopic->getUrl());
     } else {
         $this->Message_AddErrorSingle($this->Lang_Get('system_error'));
         return Router::Action('error');
     }
 }
开发者ID:lunavod,项目名称:bunker_stable,代码行数:101,代码来源:ActionLink.class.php

示例13: IsAllowEditForumPost

 /**
  * Проверяет можно или нет пользователю редактировать пост
  *
  * @param  object $oPost
  * @param  object $oUser
  * @return bool
  */
 public function IsAllowEditForumPost($oPost, ModuleUser_EntityUser $oUser)
 {
     /**
      * Разрешаем если это админ сайта
      */
     if ($oUser->isAdministrator()) {
         return true;
     }
     /**
      * Если модератор форума
      */
     $oModerator = $this->PluginForum_Forum_GetModeratorByForumIdAndUserId($oPost->getTopic()->getForumId(), $oUser->getId());
     if ($oModerator && $oModerator->getAllowEditPost()) {
         return true;
     }
     /**
      * Разрешаем если это автор топика
      */
     if ($oPost->getUserId() == $oUser->getId()) {
         $sDateComment = strtotime($oPost->getDateAdd());
         if ($sDateComment > time() - Config::Get('plugin.forum.acl.edit.post.time')) {
             return true;
         }
     }
     return false;
 }
开发者ID:Kreddik,项目名称:lsplugin-forum,代码行数:33,代码来源:ACL.class.php

示例14: AjaxAddTalkUser

 /**
  * Добавление нового участника разговора (ajax)
  *
  */
 public function AjaxAddTalkUser()
 {
     /**
      * Устанавливаем формат Ajax ответа
      */
     $this->Viewer_SetResponseAjax('json');
     $aUsers = getRequest('users', null, 'post');
     $idTalk = getRequestStr('target_id', null, 'post');
     /**
      * Валидация
      */
     if (!is_array($aUsers)) {
         return $this->EventErrorDebug();
     }
     /**
      * Если пользователь не авторизирован, возвращаем ошибку
      */
     if (!$this->User_IsAuthorization()) {
         $this->Message_AddErrorSingle($this->Lang_Get('common.error.need_authorization'), $this->Lang_Get('common.error.error'));
         return;
     }
     /**
      * Если разговор не найден, или пользователь не является его автором (или админом), возвращаем ошибку
      */
     if (!($oTalk = $this->Talk_GetTalkById($idTalk)) || $oTalk->getUserId() != $this->oUserCurrent->getId() && !$this->oUserCurrent->isAdministrator()) {
         $this->Message_AddErrorSingle($this->Lang_Get('talk.notices.not_found'), $this->Lang_Get('common.error.error'));
         return;
     }
     /**
      * Получаем список всех участников разговора
      */
     $aTalkUsers = $oTalk->getTalkUsers();
     /**
      * Получаем список пользователей, которые не принимают письма
      */
     $aUserInBlacklist = $this->Talk_GetBlacklistByTargetId($this->oUserCurrent->getId());
     /**
      * Ограничения на максимальное число участников разговора
      */
     if (count($aTalkUsers) >= Config::Get('module.talk.max_users') and !$this->oUserCurrent->isAdministrator()) {
         $this->Message_AddError($this->Lang_Get('talk.add.notices.users_error_many'), $this->Lang_Get('common.error.error'));
         return;
     }
     /**
      * Обрабатываем добавление по каждому переданному логину пользователя
      */
     foreach ($aUsers as $sUser) {
         $sUser = trim($sUser);
         if ($sUser == '') {
             continue;
         }
         /**
          * Попытка добавить себя
          */
         if (strtolower($sUser) == strtolower($this->oUserCurrent->getLogin())) {
             $aResult[] = array('bStateError' => true, 'sMsgTitle' => $this->Lang_Get('common.error.error'), 'sMsg' => $this->Lang_Get('user_list_add.notices.error_self'));
             continue;
         }
         if (($oUser = $this->User_GetUserByLogin($sUser)) && $oUser->getActivate() == 1) {
             if (!in_array($oUser->getId(), $aUserInBlacklist)) {
                 if (array_key_exists($oUser->getId(), $aTalkUsers)) {
                     switch ($aTalkUsers[$oUser->getId()]->getUserActive()) {
                         /**
                          * Если пользователь ранее был удален админом разговора, то добавляем его снова
                          */
                         case ModuleTalk::TALK_USER_DELETE_BY_AUTHOR:
                             if ($this->Talk_AddTalkUser(Engine::GetEntity('Talk_TalkUser', array('talk_id' => $idTalk, 'user_id' => $oUser->getId(), 'date_last' => null, 'talk_user_active' => ModuleTalk::TALK_USER_ACTIVE)))) {
                                 $this->Talk_SendNotifyTalkNew($oUser, $this->oUserCurrent, $oTalk);
                                 $oViewer = $this->Viewer_GetLocalViewer();
                                 $oViewer->Assign('user', $oUser, true);
                                 $oViewer->Assign('showActions', true, true);
                                 $aResult[] = array('bStateError' => false, 'sMsgTitle' => $this->Lang_Get('common.attention'), 'sMsg' => $this->Lang_Get('user_list_add.notices.success_add', array('login', htmlspecialchars($sUser))), 'user_id' => $oUser->getId(), 'user_login' => $oUser->getLogin(), 'html' => $oViewer->Fetch("component@talk.participants-item"));
                                 $bState = true;
                             } else {
                                 $aResult[] = array('bStateError' => true, 'sMsgTitle' => $this->Lang_Get('common.error.error'), 'sMsg' => $this->Lang_Get('common.error.system.base'));
                             }
                             break;
                             /**
                              * Если пользователь является активным участником разговора, возвращаем ошибку
                              */
                         /**
                          * Если пользователь является активным участником разговора, возвращаем ошибку
                          */
                         case ModuleTalk::TALK_USER_ACTIVE:
                             $aResult[] = array('bStateError' => true, 'sMsgTitle' => $this->Lang_Get('common.error.error'), 'sMsg' => $this->Lang_Get('user_list_add.notices.error_already_added', array('login' => htmlspecialchars($sUser))));
                             break;
                             /**
                              * Если пользователь удалил себя из разговора самостоятельно, то блокируем повторное добавление
                              */
                         /**
                          * Если пользователь удалил себя из разговора самостоятельно, то блокируем повторное добавление
                          */
                         case ModuleTalk::TALK_USER_DELETE_BY_SELF:
                             $aResult[] = array('bStateError' => true, 'sMsgTitle' => $this->Lang_Get('common.error.error'), 'sMsg' => $this->Lang_Get('talk.users.notices.deleted', array('login' => htmlspecialchars($sUser))));
                             break;
                         default:
//.........这里部分代码省略.........
开发者ID:Casper-SC,项目名称:livestreet,代码行数:101,代码来源:ActionTalk.class.php

示例15: IsAllowPublishIndex

 /**
  * Проверяет может ли пользователь публиковать на главной
  *
  * @param  Entity_User $oUser
  * @return bool
  */
 public function IsAllowPublishIndex(ModuleUser_EntityUser $oUser)
 {
     if ($oUser->isAdministrator()) {
         return true;
     }
     return false;
 }
开发者ID:narush,项目名称:livestreet,代码行数:13,代码来源:ACL.class.php


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