Example #1
0
 /**
  * {@inheritDoc}
  */
 public function findVotesOfUser($userId, $siteId, $order = null, $paginated = false, $page = -1, $perPage = -1)
 {
     $result = $this->mapper->findVotesOfUser($userId, $siteId, $order, $paginated);
     if ($paginated && $result && $page >= 0 && $perPage > 0) {
         $result->setCurrentPageNumber($page);
         $result->setItemCountPerPage($perPage);
     } else {
         $result = iterator_to_array($result);
     }
     if ($result) {
         $pageIds = array();
         foreach ($result as $vote) {
             $pageIds[] = $vote->getPageId();
         }
         if (count($pageIds) > 0) {
             $pages = $this->pageMapper->findAll(array(sprintf('%s IN (%s)', DbViewPages::PAGEID, implode(',', $pageIds))));
             $pageByIds = array();
             foreach ($pages as $page) {
                 $pageByIds[$page->getId()] = $page;
             }
             foreach ($result as $vote) {
                 $vote->setPage($pageByIds[$vote->getPageId()]);
             }
         }
     }
     return $result;
 }