/**
  * @see	\wcf\data\IGroupedUserListAction::getGroupedUserList()
  */
 public function getGroupedUserList()
 {
     // resolve page count
     $sql = "SELECT\tCOUNT(*) AS count\n\t\t\tFROM\twcf" . WCF_N . "_user_follow\n\t\t\tWHERE\tuserID = ?";
     $statement = WCF::getDB()->prepareStatement($sql);
     $statement->execute(array($this->parameters['userID']));
     $row = $statement->fetchArray();
     $pageCount = ceil($row['count'] / 20);
     // get user ids
     $sql = "SELECT\tfollowUserID\n\t\t\tFROM\twcf" . WCF_N . "_user_follow\n\t\t\tWHERE\tuserID = ?";
     $statement = WCF::getDB()->prepareStatement($sql, 20, ($this->parameters['pageNo'] - 1) * 20);
     $statement->execute(array($this->parameters['userID']));
     $userIDs = array();
     while ($row = $statement->fetchArray()) {
         $userIDs[] = $row['followUserID'];
     }
     // create group
     $group = new GroupedUserList();
     $group->addUserIDs($userIDs);
     // load user profiles
     GroupedUserList::loadUsers();
     WCF::getTPL()->assign(array('groupedUsers' => array($group)));
     return array('pageCount' => $pageCount, 'template' => WCF::getTPL()->fetch('groupedUserList'));
 }
Beispiel #2
0
 /**
  * @see	\wcf\data\IGroupedUserListAction::getGroupedUserList()
  */
 public function getGroupedUserList()
 {
     // fetch number of pages
     $sql = "SELECT\tCOUNT(*)\n\t\t\tFROM\twcf" . WCF_N . "_like\n\t\t\tWHERE\tobjectID = ?\n\t\t\t\tAND objectTypeID = ?";
     $statement = WCF::getDB()->prepareStatement($sql);
     $statement->execute(array($this->parameters['data']['objectID'], $this->objectType->objectTypeID));
     $pageCount = ceil($statement->fetchColumn() / 20);
     $sql = "SELECT\t\tuserID, likeValue\n\t\t\tFROM\t\twcf" . WCF_N . "_like\n\t\t\tWHERE\t\tobjectID = ?\n\t\t\t\t\tAND objectTypeID = ?\n\t\t\tORDER BY\tlikeValue DESC, time DESC";
     $statement = WCF::getDB()->prepareStatement($sql, 20, ($this->parameters['pageNo'] - 1) * 20);
     $statement->execute(array($this->parameters['data']['objectID'], $this->objectType->objectTypeID));
     $data = array(Like::LIKE => array(), Like::DISLIKE => array());
     while ($row = $statement->fetchArray()) {
         $data[$row['likeValue']][] = $row['userID'];
     }
     $values = array();
     if (!empty($data[Like::LIKE])) {
         $values[Like::LIKE] = new GroupedUserList(WCF::getLanguage()->get('wcf.like.details.like'));
         $values[Like::LIKE]->addUserIDs($data[Like::LIKE]);
     }
     if (!empty($data[Like::DISLIKE])) {
         $values[Like::DISLIKE] = new GroupedUserList(WCF::getLanguage()->get('wcf.like.details.dislike'));
         $values[Like::DISLIKE]->addUserIDs($data[Like::DISLIKE]);
     }
     // load user profiles
     GroupedUserList::loadUsers();
     WCF::getTPL()->assign(array('groupedUsers' => $values));
     return array('containerID' => $this->parameters['data']['containerID'], 'pageCount' => $pageCount, 'template' => WCF::getTPL()->fetch('groupedUserList'));
 }
Beispiel #3
0
 /**
  * @see	\wcf\data\IGroupedUserListAction::getGroupedUserList()
  */
 public function getGroupedUserList()
 {
     // get options
     $sql = "SELECT\t\toptionID, optionValue\n\t\t\tFROM\t\twcf" . WCF_N . "_poll_option\n\t\t\tWHERE\t\tpollID = ?\n\t\t\tORDER BY\t" . ($this->poll->sortByVotes ? "votes DESC" : "showOrder ASC");
     $statement = WCF::getDB()->prepareStatement($sql);
     $statement->execute(array($this->poll->pollID));
     $options = array();
     while ($row = $statement->fetchArray()) {
         $options[$row['optionID']] = new GroupedUserList($row['optionValue'], 'wcf.poll.noVotes');
     }
     // get votes
     $sql = "SELECT\tuserID, optionID\n\t\t\tFROM\twcf" . WCF_N . "_poll_option_vote\n\t\t\tWHERE\tpollID = ?";
     $statement = WCF::getDB()->prepareStatement($sql);
     $statement->execute(array($this->poll->pollID));
     $voteData = array();
     while ($row = $statement->fetchArray()) {
         if (!isset($voteData[$row['optionID']])) {
             $voteData[$row['optionID']] = array();
         }
         $voteData[$row['optionID']][] = $row['userID'];
     }
     // assign user ids
     foreach ($voteData as $optionID => $userIDs) {
         $options[$optionID]->addUserIDs($userIDs);
     }
     // load user profiles
     GroupedUserList::loadUsers();
     WCF::getTPL()->assign(array('groupedUsers' => $options));
     return array('pageCount' => 1, 'template' => WCF::getTPL()->fetch('groupedUserList'));
 }