/** * Выполняется при завершении работы экшена */ public function EventShutdown() { if (!$this->oUserProfile) { return; } /** * Загружаем в шаблон необходимые переменные */ $iCountTopicFavourite = E::ModuleTopic()->GetCountTopicsFavouriteByUserId($this->oUserProfile->getId()); $iCountTopicUser = E::ModuleTopic()->GetCountTopicsPersonalByUser($this->oUserProfile->getId(), 1); $iCountCommentUser = E::ModuleComment()->GetCountCommentsByUserId($this->oUserProfile->getId(), 'topic'); $iCountCommentFavourite = E::ModuleComment()->GetCountCommentsFavouriteByUserId($this->oUserProfile->getId()); $iCountNoteUser = E::ModuleUser()->GetCountUserNotesByUserId($this->oUserProfile->getId()); // Получим информацию об изображениях пользовтеля // И посчитаем общее количество картинок /** @var ModuleMresource_EntityMresourceCategory[] $aUserImagesInfo */ $aUserImagesInfo = E::ModuleMresource()->GetAllImageCategoriesByUserId($this->oUserProfile->getId()); $iPhotoCount = E::ModuleMresource()->GetCountImagesByUserId($this->oUserProfile->getId()); E::ModuleViewer()->Assign('oUserProfile', $this->oUserProfile); E::ModuleViewer()->Assign('iCountTopicUser', $iCountTopicUser); E::ModuleViewer()->Assign('iCountCommentUser', $iCountCommentUser); E::ModuleViewer()->Assign('iCountTopicFavourite', $iCountTopicFavourite); E::ModuleViewer()->Assign('iCountCommentFavourite', $iCountCommentFavourite); E::ModuleViewer()->Assign('iCountNoteUser', $iCountNoteUser); E::ModuleViewer()->Assign('iCountWallUser', E::ModuleWall()->GetCountWall(array('wall_user_id' => $this->oUserProfile->getId(), 'pid' => null))); E::ModuleViewer()->Assign('oUserImagesInfo', $aUserImagesInfo); E::ModuleViewer()->Assign('iPhotoCount', $iPhotoCount); /** * Общее число публикаций и избранного */ E::ModuleViewer()->Assign('iCountCreated', ($this->oUserCurrent && $this->oUserCurrent->getId() == $this->oUserProfile->getId() ? $iCountNoteUser : 0) + $iCountTopicUser + $iCountCommentUser + $iPhotoCount); E::ModuleViewer()->Assign('iCountFavourite', $iCountCommentFavourite + $iCountTopicFavourite); /** * Заметка текущего пользователя о юзере */ if ($this->oUserCurrent) { E::ModuleViewer()->Assign('oUserNote', $this->oUserProfile->getUserNote()); } E::ModuleViewer()->Assign('iCountFriendsUser', E::ModuleUser()->GetCountUsersFriend($this->oUserProfile->getId())); E::ModuleViewer()->Assign('sMenuSubItemSelect', $this->sMenuSubItemSelect); E::ModuleViewer()->Assign('sMenuHeadItemSelect', $this->sMenuHeadItemSelect); E::ModuleViewer()->Assign('USER_FRIEND_NULL', ModuleUser::USER_FRIEND_NULL); E::ModuleViewer()->Assign('USER_FRIEND_OFFER', ModuleUser::USER_FRIEND_OFFER); E::ModuleViewer()->Assign('USER_FRIEND_ACCEPT', ModuleUser::USER_FRIEND_ACCEPT); E::ModuleViewer()->Assign('USER_FRIEND_REJECT', ModuleUser::USER_FRIEND_REJECT); E::ModuleViewer()->Assign('USER_FRIEND_DELETE', ModuleUser::USER_FRIEND_DELETE); }
/** * Выполняется при завершении работы экшена */ public function EventShutdown() { if (!$this->oUserProfile) { return; } /** * Загружаем в шаблон необходимые переменные */ $iCountTopicFavourite = $this->Topic_GetCountTopicsFavouriteByUserId($this->oUserProfile->getId()); $iCountTopicUser = $this->Topic_GetCountTopicsPersonalByUser($this->oUserProfile->getId(), 1); $iCountCommentUser = $this->Comment_GetCountCommentsByUserId($this->oUserProfile->getId(), 'topic'); $iCountCommentFavourite = $this->Comment_GetCountCommentsFavouriteByUserId($this->oUserProfile->getId()); $iCountNoteUser = $this->User_GetCountUserNotesByUserId($this->oUserProfile->getId()); $this->Viewer_Assign('oUserProfile', $this->oUserProfile); $this->Viewer_Assign('iCountTopicUser', $iCountTopicUser); $this->Viewer_Assign('iCountCommentUser', $iCountCommentUser); $this->Viewer_Assign('iCountTopicFavourite', $iCountTopicFavourite); $this->Viewer_Assign('iCountCommentFavourite', $iCountCommentFavourite); $this->Viewer_Assign('iCountNoteUser', $iCountNoteUser); $this->Viewer_Assign('iCountWallUser', $this->Wall_GetCountWall(array('wall_user_id' => $this->oUserProfile->getId(), 'pid' => null))); /** * Общее число публикация и избранного */ $this->Viewer_Assign('iCountCreated', (($this->oUserCurrent and $this->oUserCurrent->getId() == $this->oUserProfile->getId()) ? $iCountNoteUser : 0) + $iCountTopicUser + $iCountCommentUser); $this->Viewer_Assign('iCountFavourite', $iCountCommentFavourite + $iCountTopicFavourite); /** * Заметка текущего пользователя о юзере */ if ($this->oUserCurrent) { $this->Viewer_Assign('oUserNote', $this->oUserProfile->getUserNote()); } $this->Viewer_Assign('iCountFriendsUser', $this->User_GetCountUsersFriend($this->oUserProfile->getId())); $this->Viewer_Assign('sMenuSubItemSelect', $this->sMenuSubItemSelect); $this->Viewer_Assign('sMenuHeadItemSelect', $this->sMenuHeadItemSelect); $this->Viewer_Assign('sMenuProfileItemSelect', $this->sMenuProfileItemSelect); $this->Viewer_Assign('USER_FRIEND_NULL', ModuleUser::USER_FRIEND_NULL); $this->Viewer_Assign('USER_FRIEND_OFFER', ModuleUser::USER_FRIEND_OFFER); $this->Viewer_Assign('USER_FRIEND_ACCEPT', ModuleUser::USER_FRIEND_ACCEPT); $this->Viewer_Assign('USER_FRIEND_REJECT', ModuleUser::USER_FRIEND_REJECT); $this->Viewer_Assign('USER_FRIEND_DELETE', ModuleUser::USER_FRIEND_DELETE); }
/** * Выполняется при завершении работы экшена */ public function EventShutdown() { if (!$this->oUserProfile) { return; } $iProfileUserId = $this->oUserProfile->getId(); // Get stats of various user publications topics, comments, images, etc. and stats of favourites $aProfileStats = E::ModuleUser()->GetUserProfileStats($iProfileUserId); // Получим информацию об изображениях пользователя /** @var ModuleMresource_EntityMresourceCategory[] $aUserImagesInfo */ //$aUserImagesInfo = E::ModuleMresource()->GetAllImageCategoriesByUserId($iProfileUserId); // * Загружаем в шаблон необходимые переменные E::ModuleViewer()->Assign('oUserProfile', $this->oUserProfile); E::ModuleViewer()->Assign('aProfileStats', $aProfileStats); // unused //E::ModuleViewer()->Assign('aUserImagesInfo', $aUserImagesInfo); // * Заметка текущего пользователя о юзере if (E::User()) { E::ModuleViewer()->Assign('oUserNote', $this->oUserProfile->getUserNote()); } E::ModuleViewer()->Assign('sMenuSubItemSelect', $this->sMenuSubItemSelect); E::ModuleViewer()->Assign('sMenuHeadItemSelect', $this->sMenuHeadItemSelect); E::ModuleViewer()->Assign('USER_FRIEND_NULL', ModuleUser::USER_FRIEND_NULL); E::ModuleViewer()->Assign('USER_FRIEND_OFFER', ModuleUser::USER_FRIEND_OFFER); E::ModuleViewer()->Assign('USER_FRIEND_ACCEPT', ModuleUser::USER_FRIEND_ACCEPT); E::ModuleViewer()->Assign('USER_FRIEND_REJECT', ModuleUser::USER_FRIEND_REJECT); E::ModuleViewer()->Assign('USER_FRIEND_DELETE', ModuleUser::USER_FRIEND_DELETE); // Old style skin compatibility E::ModuleViewer()->Assign('iCountTopicUser', $aProfileStats['count_topics']); E::ModuleViewer()->Assign('iCountCommentUser', $aProfileStats['count_comments']); E::ModuleViewer()->Assign('iCountTopicFavourite', $aProfileStats['favourite_topics']); E::ModuleViewer()->Assign('iCountCommentFavourite', $aProfileStats['favourite_comments']); E::ModuleViewer()->Assign('iCountNoteUser', $aProfileStats['count_usernotes']); E::ModuleViewer()->Assign('iCountWallUser', $aProfileStats['count_wallrecords']); E::ModuleViewer()->Assign('iPhotoCount', $aProfileStats['count_images']); E::ModuleViewer()->Assign('iCountCreated', $aProfileStats['count_created']); E::ModuleViewer()->Assign('iCountFavourite', $aProfileStats['count_favourites']); E::ModuleViewer()->Assign('iCountFriendsUser', $aProfileStats['count_friends']); }