/** * Get a list of reviews indexed by submission_id * * @param Core_Resource_Submission_Set $submissions * @param integer $userId User id of reviewer to filter by * @param boolean $groupUserId Group list by user_id instead of review_id * @return array */ public function getReviewsIndexedBySubmission(Core_Resource_Submission_Set $submissions, $userId = null, $groupUserId = false) { $list = array(); foreach ($this->getResource('reviews')->getReviewsIndexedBySubmission($userId) as $review) { $submission = current(array_filter($submissions->toArray(), function ($val) use($review) { return $val['submission_id'] == $review['submission_id']; })); if ($groupUserId) { $list[$review['submission_id']][$review['user_id']] = $review; } else { $list[$review['submission_id']][$review['review_id']] = $review; } } return $list; }