本文整理汇总了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'));
}
}
示例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;
}
示例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;
}
示例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;
}
示例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);
}
// * Принудительный вывод на главную
//.........这里部分代码省略.........