コード例 #1
0
 /**
  * Validates menu item.
  */
 public function validateGetContent()
 {
     $this->readString('menuItem', false, 'data');
     $this->readInteger('userID', false, 'data');
     $this->readString('containerID', false, 'data');
     $this->menuItem = UserProfileMenu::getInstance()->getMenuItem($this->parameters['data']['menuItem']);
     if ($this->menuItem === null) {
         throw new UserInputException('menuItem');
     }
     if (!$this->menuItem->getContentManager()->isVisible($this->parameters['data']['userID'])) {
         throw new PermissionDeniedException();
     }
 }
コード例 #2
0
ファイル: UserPage.class.php プロジェクト: nick-strohm/WCF
 /**
  * @see	\wcf\page\IPage::readData()
  */
 public function readData()
 {
     parent::readData();
     // add breadcrumbs
     if (MODULE_MEMBERS_LIST) {
         WCF::getBreadcrumbs()->add(new Breadcrumb(WCF::getLanguage()->get('wcf.user.members'), LinkHandler::getInstance()->getLink('MembersList')));
     }
     // get profile content
     if ($this->editOnInit) {
         // force 'about' tab as primary if editing profile
         UserProfileMenu::getInstance()->setActiveMenuItem('about');
     }
     $activeMenuItem = UserProfileMenu::getInstance()->getActiveMenuItem();
     $contentManager = $activeMenuItem->getContentManager();
     $this->profileContent = $contentManager->getContent($this->user->userID);
     $this->objectType = ObjectTypeCache::getInstance()->getObjectTypeByName('com.woltlab.wcf.user.profileEditableContent', 'com.woltlab.wcf.user.profileAbout');
     // get followers
     $this->followerList = new UserFollowerList();
     $this->followerList->getConditionBuilder()->add('user_follow.followUserID = ?', array($this->userID));
     $this->followerList->sqlLimit = 10;
     $this->followerList->readObjects();
     // get following
     $this->followingList = new UserFollowingList();
     $this->followingList->getConditionBuilder()->add('user_follow.userID = ?', array($this->userID));
     $this->followingList->sqlLimit = 10;
     $this->followingList->readObjects();
     // get visitors
     if (PROFILE_ENABLE_VISITORS) {
         $this->visitorList = new UserProfileVisitorList();
         $this->visitorList->getConditionBuilder()->add('user_profile_visitor.ownerID = ?', array($this->userID));
         $this->visitorList->sqlLimit = 10;
         $this->visitorList->readObjects();
     }
     MetaTagHandler::getInstance()->addTag('og:url', 'og:url', LinkHandler::getInstance()->getLink('User', array('object' => $this->user->getDecoratedObject(), 'appendSession' => false)), true);
     MetaTagHandler::getInstance()->addTag('og:type', 'og:type', 'profile', true);
     MetaTagHandler::getInstance()->addTag('profile:username', 'profile:username', $this->user->username, true);
     MetaTagHandler::getInstance()->addTag('og:title', 'og:title', $this->user->username . ' - ' . WCF::getLanguage()->get('wcf.user.members') . ' - ' . WCF::getLanguage()->get(PAGE_TITLE), true);
     MetaTagHandler::getInstance()->addTag('og:image', 'og:image', $this->user->getAvatar()->getURL(), true);
 }