/**
  * Assign the review records to the view. Finds all if no reviews given.
  *
  * @param mixed $reviews The reviews to assign. Must be array or array like object.
  * @return void
  */
 protected function assignReviews($reviews = null)
 {
     if (!is_array($reviews) || !$reviews instanceof Traversable) {
         if ($this->activeBackendUser->isAdmin()) {
             $reviews = $this->reviewRepository->findAllActive();
         } else {
             $mountpoints = $this->activeBackendUser->getDbMountpointsRecursive();
             $pageUids = array();
             foreach ($mountpoints as $mountpoint) {
                 $pageUids = array_merge($pageUids, $this->localRepository->getPageTreeUids($mountpoint, -1));
             }
             $reviews = $this->reviewRepository->findActiveInPages($pageUids);
         }
     }
     $maximumReviewers = 0;
     foreach ($reviews as $review) {
         $maximumReviewers = max(max($maximumReviewers, $review->getRequired()), $review->getReviewed()->count());
     }
     $this->view->assign('reviewerIndices', range(1, $maximumReviewers));
     $this->view->assign('maximumReviewers', $maximumReviewers);
     $this->view->assign('reviews', $reviews);
     $this->view->assign('activeReview', $this->review);
     $this->view->assign('reviewConfiguration', $this->reviewConfiguration);
 }
示例#2
0
 /**
  * Checks if the active backend user is part of the reviewers and returns the corresponding Reviewed entry.
  *
  * @param Tx_Contentstage_Domain_Model_BackendUser $backendUser Optional backend user to look for instead.
  * @return Tx_Contentstage_Domain_Model_Reviewed The reviewed record or null.
  */
 public function getActiveReviewed(Tx_Contentstage_Domain_Model_BackendUser $backendUser = null)
 {
     $uid = $backendUser === null ? intval($GLOBALS['BE_USER']->user['uid']) : $backendUser->getUid();
     $found = null;
     foreach ($this->getReviewed() as $reviewed) {
         if ($uid === $reviewed->getReviewer()->getUid()) {
             $found = $reviewed;
         }
     }
     return $found;
 }