本文整理汇总了PHP中E::User方法的典型用法代码示例。如果您正苦于以下问题:PHP E::User方法的具体用法?PHP E::User怎么用?PHP E::User使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类E
的用法示例。
在下文中一共展示了E::User方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getComments
public function getComments($iTopicId, $iPageNum, $iPageSize)
{
$sCacheKey = 'api_topic_' . $iTopicId;
$oTopic = E::ModuleCache()->GetTmp($sCacheKey);
if (!$oTopic) {
$oTopic = E::ModuleTopic()->GetTopicById($iTopicId);
}
if (!$oTopic || !($oBlog = $oTopic->getBlog())) {
return array();
}
$oBlogType = $oBlog->GetBlogType();
if ($oBlogType) {
$bCloseBlog = !$oBlog->CanReadBy(E::User());
} else {
// if blog type not defined then it' open blog
$bCloseBlog = false;
}
if ($bCloseBlog) {
return array();
}
$aComments = E::ModuleComment()->GetCommentsByTargetId($oTopic, 'topic', $iPageNum, $iPageSize);
$aResult = array('total' => $oTopic->getCountComment(), 'list' => array());
foreach ($aComments['comments'] as $oComment) {
$aResult['list'][] = $oComment->getApiData();
}
return $aResult;
}
示例2: getPosts
/**
* @param int $iBlogId
* @param int $iPageNum
* @param int $iPageSize
*
* @return array
*/
public function getPosts($iBlogId, $iPageNum, $iPageSize)
{
$sCacheKey = 'api_blog_' . $iBlogId;
$oBlog = E::ModuleCache()->GetTmp($sCacheKey);
if (!$oBlog) {
$oBlog = E::ModuleBlog()->GetBlogById($iBlogId);
}
$oBlogType = $oBlog->GetBlogType();
if ($oBlogType) {
$bCloseBlog = !$oBlog->CanReadBy(E::User());
} else {
// if blog type not defined then it' open blog
$bCloseBlog = false;
}
if ($bCloseBlog) {
return array();
}
$aTopics = E::ModuleTopic()->GetTopicsByBlog($oBlog, $iPageNum, $iPageSize, 'newall', null);
$aResult = array('total' => $aTopics['count'], 'list' => array());
/** @var PluginAltoApi_ModuleApiPosts_EntityPost $oTopic */
foreach ($aTopics['collection'] as $oTopic) {
$aResult['list'][] = $oTopic->getApiData();
}
return $aResult;
}
示例3: Init
public function Init()
{
E::ModuleViewer()->SetResponseAjax('json');
if (!E::IsAdmin()) {
Router::Location('error/404/');
}
$this->oUserCurrent = E::User();
}
示例4: getLink
public function getLink()
{
$oUser = $this->getProp('user');
if (!$oUser) {
$oUser = E::User();
}
if ($oUser) {
return $oUser->getProfileUrl() . 'favourites/topics/tag/' . F::UrlEncode($this->getText()) . '/';
}
}
示例5: _addTopic
/**
* Adds new topic
*
* @param $oTopic
*
* @return bool|ModuleTopic_EntityTopic
*/
protected function _addTopic($oTopic)
{
if (!E::IsAdminOrModerator()) {
$xUserRatingOut = C::Val('plugin.sandbox.user_rating_out', false);
if ($xUserRatingOut === false || E::User()->getUserRating() < $xUserRatingOut) {
$oTopic->setTopicStatus(TOPIC_STATUS_SANDBOX);
}
}
return parent::_addTopic($oTopic);
}
示例6: CompileTheme
/**
* Компилирует тему
*
* @param array $aParams Передаваемые параметры
* @return bool
*/
public function CompileTheme($aParams, $bDownload = FALSE)
{
if (!E::User()) {
return FALSE;
}
$sCompiledStyle = E::ModuleLess()->CompileFile(array(C::Get('path.skins.dir') . 'experience-simple/themes/custom/less/theme.less' => C::Get('path.root.web')), __DIR__ . '/../../../cache/', C::Get('path.skins.dir') . 'experience-simple/themes/custom/css/theme.custom.css.map', $aParams, $bDownload);
if ($sCompiledStyle) {
if (!$bDownload || E::IsAdmin()) {
F::File_PutContents(C::Get('path.skins.dir') . 'experience-simple/themes/custom/css/theme.custom.css', $sCompiledStyle);
} else {
$sPath = C::Get('plugin.estheme.path_for_download') . E::UserId() . '/theme.custom.css';
F::File_PutContents($sPath, $sCompiledStyle);
}
}
}
示例7: EventWallAdd
/**
* Добавление записи на стену
*/
public function EventWallAdd()
{
// * Устанавливаем формат Ajax ответа
E::ModuleViewer()->SetResponseAjax('json');
// * Пользователь авторизован?
if (!E::IsUser()) {
return parent::EventNotFound();
}
$xResult = E::Module('PluginMagicrules\\Rule')->CheckRuleAction('create_wall', E::User());
if ($xResult === true) {
return parent::EventWallAdd();
} else {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('plugin.magicrules.check_rule_action_error'), E::ModuleLang()->Get('attention'));
return Router::Action('error');
}
}
示例8: EventEsTheme
public function EventEsTheme()
{
if (!E::User() || !C::Get('plugin.estheme.use_client')) {
return R::Action('error');
}
$aProcessData = $this->PluginEstheme_Estheme_GetProcessData();
if (getRequest('submit_estheme')) {
$sCSSDownloadPath = F::File_Dir2Url(C::Get('plugin.estheme.path_for_download') . E::UserId() . '/theme.custom.css');
$aCompiledData = $this->_processConfig($aProcessData, TRUE);
$this->PluginEstheme_Estheme_CompileTheme($aCompiledData, TRUE);
} else {
$sCSSDownloadPath = FALSE;
$this->_processConfig($aProcessData, FALSE);
}
E::ModuleViewer()->Assign('sCSSDownloadPath', $sCSSDownloadPath);
}
示例9: CodeHook
public function CodeHook()
{
// Если пользоватль авторизован и у него не заполнено поле о себе, то
if (E::IsUser() && trim(E::User()->getProfileAbout()) == '') {
// Получим меню пользователя
/** @var ModuleMenu_EntityMenu $oMenu */
$oMenu = E::ModuleMenu()->GetMenu('user');
// Проверим, может в этой теме меню не объектное
if ($oMenu && !$oMenu->GetItemById('plugin_menutest_my_menu')) {
// Создадим элемент меню
$oMenuItem = E::ModuleMenu()->CreateMenuItem('plugin_menutest_my_menu', array('text' => '{{plugin.menutest.empty_about}}', 'link' => E::User()->getProfileUrl() . 'settings/', 'display' => array('not_event' => array('settings')), 'options' => array('class' => 'btn right create')));
// Добавим в меню
$oMenu->AddItem('first', $oMenuItem);
// Сохраним
E::ModuleMenu()->SaveMenu($oMenu);
}
}
}
示例10: EventVoteUser
/**
* @return string|void
*/
protected function EventVoteUser()
{
// * Пользователь авторизован?
if (!E::IsUser()) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('need_authorization'), E::ModuleLang()->Get('error'));
return;
}
$xResult = E::Module('PluginMagicrules\\Rule')->CheckRuleAction('vote_user', E::User(), array('vote_value' => (int) $this->getPost('value')));
if (true === $xResult) {
return parent::EventVoteUser();
} else {
if (is_string($xResult)) {
E::ModuleMessage()->AddErrorSingle($xResult, E::ModuleLang()->Get('attention'));
return Router::Action('error');
} else {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('plugin.magicrules.check_rule_action_error'), E::ModuleLang()->Get('attention'));
return Router::Action('error');
}
}
}
示例11: CodeHook
/**
* Метод, который вызывается после создания меню
*/
public function CodeHook()
{
// Получим результат выполнения метода-источника хука
/** @var ModuleMenu_EntityMenu $oMenu */
$oMenu = $this->GetSourceResult();
// Убеждаемся, что было создано нужное нам меню - меню пользователя
if ($oMenu && $oMenu->getId() == 'user') {
// Если пользователь авторизован и у него не заполнено поле о себе, то
if (E::IsUser() && trim(E::User()->getProfileAbout()) == '') {
// Проверим, есть ли в меню нужный элемент
if (!$oMenu->GetItemById('plugin.menutest.my_menu')) {
// Создадим элемент меню
$oMenuItem = E::ModuleMenu()->CreateMenuItem('plugin.menutest.my_menu', array('text' => '{{plugin.menutest.empty_about}}', 'link' => E::User()->getProfileUrl() . 'settings/', 'display' => array('not_event' => array('settings')), 'options' => array('class' => 'btn right create')));
// Добавим в меню
$oMenu->AddItem($oMenuItem, 'first');
// Сохраним
E::ModuleMenu()->SaveMenu($oMenu);
}
}
}
}
示例12: EventRemoveImage
/**
* Удаление картинки
*/
public function EventRemoveImage()
{
// * Устанавливаем формат Ajax ответа
E::ModuleViewer()->SetResponseAjax('json');
// Проверяем, целевой объект и права на его редактирование
if (!($oTarget = E::ModuleUploader()->CheckAccessAndGetTarget($sTargetType = F::GetRequest('target', FALSE), $sTargetId = F::GetRequest('target_id', FALSE)))) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('not_access'), E::ModuleLang()->Get('error'));
return;
}
$bResult = E::ModuleHook()->Run('uploader_remove_image_before', array('sTargetId' => $sTargetId, 'sTarget' => $sTargetType, 'oTarget' => $oTarget));
if ($bResult !== false) {
// * Удаляем картинку
E::ModuleUploader()->DeleteImage($sTargetType, $sTargetId, E::User());
// Запускаем хук на действия после удаления картинки
E::ModuleHook()->Run('uploader_remove_image_after', array('sTargetId' => $sTargetId, 'sTarget' => $sTargetType, 'oTarget' => $oTarget));
}
// * Возвращает сообщение
E::ModuleViewer()->AssignAjax('sTitleUpload', E::ModuleLang()->Get('uploader_upload_success'));
}
示例13: EventImageManagerLoadImages
/**
* Загрузка страницы картинок
*/
protected function EventImageManagerLoadImages()
{
E::ModuleSecurity()->ValidateSendForm();
// Менеджер изображений может запускаться в том числе и из админки
// Если передано название скина админки, то используем его, если же
// нет, то ту тему, которая установлена для сайта
if (($sAdminTheme = F::GetRequest('admin')) && E::IsAdmin()) {
C::Set('view.skin', $sAdminTheme);
}
// Получим идентификатор пользователя, изображения которого нужно загрузить
$iUserId = (int) F::GetRequest('profile', FALSE);
if ($iUserId && E::ModuleUser()->GetUserById($iUserId)) {
C::Set('menu.data.profile_images.uid', $iUserId);
} else {
// Только пользователь может смотреть своё дерево изображений
if (!E::IsUser()) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'));
return;
}
$iUserId = E::UserId();
}
$sCategory = F::GetRequestStr('category', FALSE);
$iPage = intval(F::GetRequestStr('page', '1'));
$sTopicId = F::GetRequestStr('topic_id', FALSE);
$sTargetType = F::GetRequestStr('target');
if (!$sCategory) {
return;
}
$aTplVariables = array('sTargetType' => $sTargetType, 'sTargetId' => $sTopicId);
// Страница загрузки картинки с компьютера
if ($sCategory == 'insert-from-pc') {
$sImages = E::ModuleViewer()->Fetch('modals/insert_img/inject.pc.tpl', $aTplVariables);
E::ModuleViewer()->AssignAjax('images', $sImages);
return;
}
// Страница загрузки из интернета
if ($sCategory == 'insert-from-link') {
$sImages = E::ModuleViewer()->Fetch('modals/insert_img/inject.link.tpl', $aTplVariables);
E::ModuleViewer()->AssignAjax('images', $sImages);
return;
}
$sTemplateName = 'inject.images.tpl';
$aResources = array('collection' => array());
$iPagesCount = 0;
if ($sCategory == 'user') {
//ок
// * Аватар и фото пользователя
$aResources = E::ModuleMresource()->GetMresourcesByFilter(array('target_type' => array('profile_avatar', 'profile_photo'), 'user_id' => $iUserId), $iPage, Config::Get('module.topic.images_per_page'));
$sTemplateName = 'inject.images.user.tpl';
$iPagesCount = 0;
} elseif ($sCategory == '_topic') {
// * Конкретный топик
$oTopic = E::ModuleTopic()->GetTopicById($sTopicId);
if ($oTopic && ($oTopic->isPublished() || $oTopic->getUserId() == E::UserId()) && E::ModuleACL()->IsAllowShowBlog($oTopic->getBlog(), E::User())) {
$aResourcesId = E::ModuleMresource()->GetCurrentTopicResourcesId($iUserId, $sTopicId);
if ($aResourcesId) {
$aResources = E::ModuleMresource()->GetMresourcesByFilter(array('user_id' => $iUserId, 'mresource_id' => $aResourcesId), $iPage, Config::Get('module.topic.images_per_page'));
$aResources['count'] = count($aResourcesId);
$iPagesCount = ceil($aResources['count'] / Config::Get('module.topic.images_per_page'));
$aTplVariables['oTopic'] = $oTopic;
}
}
$sTemplateName = 'inject.images.tpl';
} elseif ($sCategory == 'talk') {
// * Письмо
/** @var ModuleTalk_EntityTalk $oTopic */
$oTopic = E::ModuleTalk()->GetTalkById($sTopicId);
if ($oTopic && E::ModuleTalk()->GetTalkUser($sTopicId, $iUserId)) {
$aResources = E::ModuleMresource()->GetMresourcesByFilter(array('user_id' => $iUserId, 'target_type' => 'talk', 'target_id' => $sTopicId), $iPage, Config::Get('module.topic.images_per_page'));
$aResources['count'] = E::ModuleMresource()->GetMresourcesCountByTargetIdAndUserId('talk', $sTopicId, $iUserId);
$iPagesCount = ceil($aResources['count'] / Config::Get('module.topic.images_per_page'));
$aTplVariables['oTopic'] = $oTopic;
}
$sTemplateName = 'inject.images.tpl';
} elseif ($sCategory == 'comments') {
// * Комментарии
$aResources = E::ModuleMresource()->GetMresourcesByFilter(array('user_id' => $iUserId, 'target_type' => array('talk_comment', 'topic_comment')), $iPage, Config::Get('module.topic.images_per_page'));
$aResources['count'] = E::ModuleMresource()->GetMresourcesCountByTargetAndUserId(array('talk_comment', 'topic_comment'), $iUserId);
$iPagesCount = ceil($aResources['count'] / Config::Get('module.topic.images_per_page'));
$sTemplateName = 'inject.images.tpl';
} elseif ($sCategory == 'current') {
//ок
// * Картинки текущего топика (текст, фотосет, одиночные картинки)
$aResourcesId = E::ModuleMresource()->GetCurrentTopicResourcesId($iUserId, $sTopicId);
if ($aResourcesId) {
$aResources = E::ModuleMresource()->GetMresourcesByFilter(array('user_id' => $iUserId, 'mresource_id' => $aResourcesId), $iPage, Config::Get('module.topic.images_per_page'));
$aResources['count'] = count($aResourcesId);
$iPagesCount = ceil($aResources['count'] / Config::Get('module.topic.images_per_page'));
}
$sTemplateName = 'inject.images.tpl';
} elseif ($sCategory == 'blog_avatar') {
// ок
// * Аватары созданных блогов
$aResources = E::ModuleMresource()->GetMresourcesByFilter(array('target_type' => 'blog_avatar', 'user_id' => $iUserId), $iPage, Config::Get('module.topic.group_images_per_page'));
$aResources['count'] = E::ModuleMresource()->GetMresourcesCountByTargetAndUserId('blog_avatar', $iUserId);
// Получим блоги
$aBlogsId = array();
//.........这里部分代码省略.........
示例14: CheckAccessAndGetTarget
/**
* Проверяет доступность того или иного целевого объекта, переопределяется
* плагинами. По умолчанию всё грузить запрещено.
* Если всё нормально и пользователю разрешено сюда загружать картинки,
* то метод возвращает целевой объект, иначе значение FALSE.
*
* @param string $sTarget
* @param int $iTargetId
*
* @return bool
*/
public function CheckAccessAndGetTarget($sTarget, $iTargetId = null)
{
// Проверяем право пользователя на прикрепление картинок к топику
if (mb_strpos($sTarget, 'single-image-uploader') === 0 || $sTarget == 'photoset') {
// Проверям, авторизован ли пользователь
if (!E::IsUser()) {
return FALSE;
}
// Топик редактируется
if ($oTopic = E::ModuleTopic()->GetTopicById($iTargetId)) {
if (!E::ModuleACL()->IsAllowEditTopic($oTopic, E::User())) {
return FALSE;
}
return $oTopic;
}
return TRUE;
}
// Загружать аватарки можно только в свой профиль
if ($sTarget == 'profile_avatar') {
if ($iTargetId && E::IsUser() && $iTargetId == E::UserId()) {
return E::User();
}
return FALSE;
}
// Загружать аватарки можно только в свой профиль
if ($sTarget == 'profile_photo') {
if ($iTargetId && E::IsUser() && $iTargetId == E::UserId()) {
return E::User();
}
return FALSE;
}
if ($sTarget == 'blog_avatar') {
/** @var ModuleBlog_EntityBlog $oBlog */
$oBlog = E::ModuleBlog()->GetBlogById($iTargetId);
if (!E::IsUser()) {
return false;
}
if (!$oBlog) {
// Блог еще не создан
return E::ModuleACL()->CanCreateBlog(E::User()) || E::IsAdminOrModerator();
}
if ($oBlog && (E::ModuleACL()->CheckBlogEditBlog($oBlog, E::User()) || E::IsAdminOrModerator())) {
return $oBlog;
}
return '';
}
if ($sTarget == 'topic') {
if (!E::IsUser()) {
return false;
}
/** @var ModuleTopic_EntityTopic $oTopic */
$oTopic = E::ModuleTopic()->GetTopicById($iTargetId);
if (!$oTopic) {
// Топик еще не создан
return TRUE;
}
if ($oTopic && (E::ModuleACL()->IsAllowEditTopic($oTopic, E::User()) || E::IsAdminOrModerator())) {
return $oTopic;
}
return '';
}
if ($sTarget == 'topic_comment') {
if (!E::IsUser()) {
return false;
}
/** @var ModuleComment_EntityComment $oComment */
$oComment = E::ModuleComment()->GetCommentById($iTargetId);
if (!$oComment) {
// Комментарий еще не создан
return TRUE;
}
if ($oComment && (E::ModuleACL()->CanPostComment(E::User(), $oComment->getTarget()) && E::ModuleAcl()->CanPostCommentTime(E::User()) || E::IsAdminOrModerator())) {
return $oComment;
}
return '';
}
if ($sTarget == 'talk_comment') {
if (!E::IsUser()) {
return false;
}
/** @var ModuleComment_EntityComment $oComment */
$oComment = E::ModuleComment()->GetCommentById($iTargetId);
if (!$oComment) {
// Комментарий еще не создан
return TRUE;
}
if ($oComment && (E::ModuleAcl()->CanPostTalkCommentTime(E::User()) || E::IsAdminOrModerator())) {
return $oComment;
}
//.........这里部分代码省略.........
示例15: GetNamedFilter
/**
* Return filter for blog list by name and params
*
* @param string $sFilterName
* @param array $aParams
*
* @return array
*/
public function GetNamedFilter($sFilterName, $aParams = array())
{
$aFilter = $this->GetBlogsFilter();
$aFilter['include_type'] = $this->GetAllowBlogTypes(E::User(), 'list', true);
switch ($sFilterName) {
case 'top':
$aFilter['order'] = array('blog_rating' => 'desc');
break;
default:
break;
}
if (!empty($aParams['exclude_type'])) {
$aFilter['exclude_type'] = $aParams['exclude_type'];
}
if (!empty($aParams['owner_id'])) {
$aFilter['user_owner_id'] = $aParams['owner_id'];
}
return $aFilter;
}