本文整理汇总了PHP中E::ModuleUserfeed方法的典型用法代码示例。如果您正苦于以下问题:PHP E::ModuleUserfeed方法的具体用法?PHP E::ModuleUserfeed怎么用?PHP E::ModuleUserfeed使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类E
的用法示例。
在下文中一共展示了E::ModuleUserfeed方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Exec
/**
* Запуск обработки
*/
public function Exec()
{
/**
* Пользователь авторизован?
*/
if ($oUserCurrent = E::ModuleUser()->GetUserCurrent()) {
/**
* Получаем необходимые переменные и передаем в шаблон
*/
$aUserSubscribes = E::ModuleUserfeed()->GetUserSubscribes($oUserCurrent->getId());
$aFriends = E::ModuleUser()->GetUsersFriend($oUserCurrent->getId());
E::ModuleViewer()->Assign('aUserfeedSubscribedUsers', $aUserSubscribes['users']);
E::ModuleViewer()->Assign('aUserfeedFriends', $aFriends['collection']);
}
}
示例2: Exec
public function Exec()
{
// For authorized users only
if ($oUserCurrent = E::ModuleUser()->GetUserCurrent()) {
$aUserSubscribes = E::ModuleUserfeed()->GetUserSubscribes($oUserCurrent->getId());
// Get ID list of blogs to which you subscribe
$aBlogsId = E::ModuleBlog()->GetBlogUsersByUserId($oUserCurrent->getId(), array(ModuleBlog::BLOG_USER_ROLE_USER, ModuleBlog::BLOG_USER_ROLE_MODERATOR, ModuleBlog::BLOG_USER_ROLE_ADMINISTRATOR), true);
// Get ID list of blogs where the user is the owner
$aBlogsOwnerId = E::ModuleBlog()->GetBlogsByOwnerId($oUserCurrent->getId(), true);
$aBlogsId = array_merge($aBlogsId, $aBlogsOwnerId);
$aBlogs = E::ModuleBlog()->GetBlogsAdditionalData($aBlogsId, array('owner' => array()), array('blog_title' => 'asc'));
/**
* Выводим в шаблон
*/
E::ModuleViewer()->Assign('aUserfeedSubscribedBlogs', $aUserSubscribes['blogs']);
E::ModuleViewer()->Assign('aUserfeedBlogs', $aBlogs);
}
}
示例3: Exec
/**
* Запуск обработки
*/
public function Exec()
{
/**
* Пользователь авторизован?
*/
if ($oUserCurrent = E::ModuleUser()->GetUserCurrent()) {
$aUserSubscribes = E::ModuleUserfeed()->GetUserSubscribes($oUserCurrent->getId());
/**
* Получаем список ID блогов, в которых состоит пользователь
*/
$aBlogsId = E::ModuleBlog()->GetBlogUsersByUserId($oUserCurrent->getId(), array(ModuleBlog::BLOG_USER_ROLE_USER, ModuleBlog::BLOG_USER_ROLE_MODERATOR, ModuleBlog::BLOG_USER_ROLE_ADMINISTRATOR), true);
/**
* Получаем список ID блогов, которые создал пользователь
*/
$aBlogsOwnerId = E::ModuleBlog()->GetBlogsByOwnerId($oUserCurrent->getId(), true);
$aBlogsId = array_merge($aBlogsId, $aBlogsOwnerId);
$aBlogs = E::ModuleBlog()->GetBlogsAdditionalData($aBlogsId, array('owner' => array()), array('blog_title' => 'asc'));
/**
* Выводим в шаблон
*/
E::ModuleViewer()->Assign('aUserfeedSubscribedBlogs', $aUserSubscribes['blogs']);
E::ModuleViewer()->Assign('aUserfeedBlogs', $aBlogs);
}
}
示例4: CountTrack
/**
* Вызывается по строке "count_track"
* @param string $sIcon
* @return bool
*/
public function CountTrack($sIcon = '')
{
if (!E::IsUser()) {
return '';
}
$sKeyString = 'menu_count_track_' . E::User()->getId() . '_' . $sIcon;
if (FALSE === ($xData = E::ModuleCache()->GetTmp($sKeyString))) {
$sCount = E::ModuleUserfeed()->GetCountTrackNew(E::User()->getId());
$xData = $sIcon . ($sCount ? '+' . $sCount : '0');
E::ModuleCache()->SetTmp($xData, $sKeyString);
}
return $xData;
}
示例5: Shutdown
/**
* При завершенни модуля загружаем в шалон объект текущего юзера
*
*/
public function Shutdown()
{
if ($this->oUserCurrent) {
E::ModuleViewer()->Assign('iUserCurrentCountTrack', E::ModuleUserfeed()->GetCountTrackNew($this->oUserCurrent->getId()));
E::ModuleViewer()->Assign('iUserCurrentCountTalkNew', E::ModuleTalk()->GetCountTalkNew($this->oUserCurrent->getId()));
E::ModuleViewer()->Assign('iUserCurrentCountTopicDraft', E::ModuleTopic()->GetCountDraftTopicsByUserId($this->oUserCurrent->getId()));
}
E::ModuleViewer()->Assign('oUserCurrent', $this->oUserCurrent);
E::ModuleViewer()->Assign('aContentTypes', E::ModuleTopic()->GetContentTypes(array('content_active' => 1)));
if ($this->oUserCurrent) {
E::ModuleViewer()->Assign('aAllowedContentTypes', E::ModuleTopic()->GetAllowContentTypeByUserId($this->oUserCurrent));
}
}
示例6: AjaxBlogJoin
/**
* Подключение/отключение к блогу
*
*/
protected function AjaxBlogJoin()
{
// Устанавливаем формат Ajax ответа
E::ModuleViewer()->SetResponseAjax('json');
// Пользователь авторизован?
if (!$this->oUserCurrent) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('need_authorization'), E::ModuleLang()->Get('error'));
return;
}
// Блог существует?
$nBlogId = intval(F::GetRequestStr('idBlog', null, 'post'));
if (!$nBlogId || !($oBlog = E::ModuleBlog()->GetBlogById($nBlogId))) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
return;
}
$this->oCurrentBlog = $oBlog;
// Type of the blog
$oBlogType = $oBlog->getBlogType();
// Current status of user in the blog
/** @var ModuleBlog_EntityBlogUser $oBlogUser */
$oBlogUser = E::ModuleBlog()->GetBlogUserByBlogIdAndUserId($oBlog->getId(), $this->oUserCurrent->getId());
if (!$oBlogUser || $oBlogUser->getUserRole() < ModuleBlog::BLOG_USER_ROLE_GUEST && (!$oBlogType || $oBlogType->IsPrivate())) {
// * Проверяем тип блога на возможность свободного вступления или вступления по запросу
if ($oBlogType && !$oBlogType->GetMembership(ModuleBlog::BLOG_USER_JOIN_FREE) && !$oBlogType->GetMembership(ModuleBlog::BLOG_USER_JOIN_REQUEST)) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('blog_join_error_invite'), E::ModuleLang()->Get('error'));
return;
}
if ($oBlog->getOwnerId() != $this->oUserCurrent->getId()) {
// Subscribe user to the blog
if ($oBlogType->GetMembership(ModuleBlog::BLOG_USER_JOIN_FREE)) {
$bResult = false;
if ($oBlogUser) {
$oBlogUser->setUserRole(ModuleBlog::BLOG_USER_ROLE_USER);
$bResult = E::ModuleBlog()->UpdateRelationBlogUser($oBlogUser);
} elseif ($oBlogType->GetMembership(ModuleBlog::BLOG_USER_JOIN_FREE)) {
// User can free subscribe to blog
/** @var ModuleBlog_EntityBlogUser $oBlogUserNew */
$oBlogUserNew = E::GetEntity('Blog_BlogUser');
$oBlogUserNew->setBlogId($oBlog->getId());
$oBlogUserNew->setUserId($this->oUserCurrent->getId());
$oBlogUserNew->setUserRole(ModuleBlog::BLOG_USER_ROLE_USER);
$bResult = E::ModuleBlog()->AddRelationBlogUser($oBlogUserNew);
}
if ($bResult) {
E::ModuleMessage()->AddNoticeSingle(E::ModuleLang()->Get('blog_join_ok'), E::ModuleLang()->Get('attention'));
E::ModuleViewer()->AssignAjax('bState', true);
// Увеличиваем число читателей блога
$oBlog->setCountUser($oBlog->getCountUser() + 1);
E::ModuleBlog()->UpdateBlog($oBlog);
E::ModuleViewer()->AssignAjax('iCountUser', $oBlog->getCountUser());
// Добавляем событие в ленту
E::ModuleStream()->Write($this->oUserCurrent->getId(), 'join_blog', $oBlog->getId());
// Добавляем подписку на этот блог в ленту пользователя
E::ModuleUserfeed()->SubscribeUser($this->oUserCurrent->getId(), ModuleUserfeed::SUBSCRIBE_TYPE_BLOG, $oBlog->getId());
} else {
$sMsg = $oBlogType->IsPrivate() ? E::ModuleLang()->Get('blog_join_error_invite') : E::ModuleLang()->Get('system_error');
E::ModuleMessage()->AddErrorSingle($sMsg, E::ModuleLang()->Get('error'));
return;
}
}
// Подписываем по запросу
if ($oBlogType->GetMembership(ModuleBlog::BLOG_USER_JOIN_REQUEST)) {
// Подписка уже была запрошена, но результатов пока нет
if ($oBlogUser && $oBlogUser->getUserRole() == ModuleBlog::BLOG_USER_ROLE_WISHES) {
E::ModuleMessage()->AddNoticeSingle(E::ModuleLang()->Get('blog_join_request_already'), E::ModuleLang()->Get('attention'));
E::ModuleViewer()->AssignAjax('bState', true);
return;
}
if ($oBlogUser) {
if (!in_array($oBlogUser->getUserRole(), array(ModuleBlog::BLOG_USER_ROLE_REJECT, ModuleBlog::BLOG_USER_ROLE_WISHES))) {
$sMessage = E::ModuleLang()->Get('blog_user_status_is') . ' "' . E::ModuleBlog()->GetBlogUserRoleName($oBlogUser->getUserRole()) . '"';
E::ModuleMessage()->AddNoticeSingle($sMessage, E::ModuleLang()->Get('attention'));
E::ModuleViewer()->AssignAjax('bState', true);
return;
} else {
$oBlogUser->setUserRole(ModuleBlog::BLOG_USER_ROLE_WISHES);
$bResult = E::ModuleBlog()->UpdateRelationBlogUser($oBlogUser);
}
} else {
// Подписки ещё не было - оформим ее
/** @var ModuleBlog_EntityBlogUser $oBlogUserNew */
$oBlogUserNew = E::GetEntity('Blog_BlogUser');
$oBlogUserNew->setBlogId($oBlog->getId());
$oBlogUserNew->setUserId($this->oUserCurrent->getId());
$oBlogUserNew->setUserRole(ModuleBlog::BLOG_USER_ROLE_WISHES);
$bResult = E::ModuleBlog()->AddRelationBlogUser($oBlogUserNew);
}
if ($bResult) {
// Отправим сообщение модераторам и администраторам блога о том, что
// этот пользоватлеь захотел присоединиться к нашему блогу
$aBlogUsersResult = E::ModuleBlog()->GetBlogUsersByBlogId($oBlog->getId(), array(ModuleBlog::BLOG_USER_ROLE_MODERATOR, ModuleBlog::BLOG_USER_ROLE_ADMINISTRATOR), null);
if ($aBlogUsersResult) {
/** @var ModuleUser_EntityUser[] $aBlogModerators */
$aBlogModerators = array();
/** @var ModuleBlog_EntityBlogUser $oCurrentBlogUser */
foreach ($aBlogUsersResult['collection'] as $oCurrentBlogUser) {
//.........这里部分代码省略.........
示例7: EventUnsubscribe
/**
* Отписка от блога или пользователя
*
*/
protected function EventUnsubscribe()
{
// * Устанавливаем формат Ajax ответа
E::ModuleViewer()->SetResponseAjax('json');
if (!F::GetRequest('id')) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
return;
}
$sType = F::GetRequestStr('type');
$iType = null;
// * Определяем от чего отписываемся
switch ($sType) {
case 'blogs':
case 'blog':
$iType = ModuleUserfeed::SUBSCRIBE_TYPE_BLOG;
break;
case 'users':
case 'user':
$iType = ModuleUserfeed::SUBSCRIBE_TYPE_USER;
break;
default:
E::ModuleMessage()->AddError(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
return;
}
// * Отписываем пользователя
E::ModuleUserfeed()->UnsubscribeUser($this->oUserCurrent->getId(), $iType, F::GetRequestStr('id'));
E::ModuleMessage()->AddNotice(E::ModuleLang()->Get('userfeed_subscribes_updated'), E::ModuleLang()->Get('attention'));
}