/** * Get responses in order for a paper * * @access private * * @param Collection of \UJM\ExoBundle\Entity\Response $responses * @param String $order * * @çeturn array[Interaction] */ private function orderResponses($responses, $order) { $resp = array(); $order = substr($order, 0, strlen($order) - 1); $order = explode(';', $order); foreach ($order as $interId) { $tem = 0; foreach ($responses as $key => $response) { if ($response->getInteraction()->getId() == $interId) { $tem++; $resp[] = $response; unset($responses[$key]); break; } } //if no response if ($tem == 0) { $response = new \UJM\ExoBundle\Entity\Response(); $response->setResponse(''); $response->setMark(0); $resp[] = $response; } } return $resp; }
/** * sort the array of responses to match the order of questions. * * * @param Collection of \UJM\ExoBundle\Entity\Response $responses * @param string $order * * @return UJM\ExoBundle\Entity\Response[] */ private function sortResponses($responses, $order) { $resp = array(); $order = $this->formatQuestionOrder($order); foreach ($order as $interId) { $tem = 0; foreach ($responses as $key => $response) { if ($response->getQuestion()->getId() == $interId) { ++$tem; $resp[] = $response; unset($responses[$key]); break; } } //if no response if ($tem == 0) { $response = new \UJM\ExoBundle\Entity\Response(); $response->setResponse(''); $response->setMark(0); $resp[] = $response; } } return $resp; }