public static function getRespuesta(sfWebRequest $request, $prueba, $num) { switch ($prueba->getTitulo()) { case 'domino': return Tomador::getDomino($request); break; case '16pf': return Tomador::getRespuestaSimple($request, $num); break; case 'ig2': return Tomador::getRespuestaSimple($request, $num); break; case 'barsit': return Tomador::getRespuestaSimple($request, $num); break; case 'eae1': return Tomador::getRespuestaDoble($request, $num); break; case 'razonamientoverbal ': return Tomador::getRespuestaSimple($request, $num); break; case 'razonamientoabstracto': return Tomador::getRespuestaSimple($request, $num); break; case 'razonamientonumerico': return Tomador::getRespuestaSimple($request, $num); break; case 'raven': return Tomador::getRespuestaSimple($request, $num); break; case 'analogiasverbales': return Tomador::getRespuestaSimple($request, $num); break; case 'seriesnumericas': return Tomador::getRespuestaSimple($request, $num); break; case 'matriceslogicas': return Tomador::getRespuestaSimple($request, $num); break; case 'completaroraciones': return Tomador::getRespuestaSimple($request, $num); break; case 'encajarfiguras': return Tomador::getRespuestaSimple($request, $num); break; case 'problemasnumericos': return Tomador::getRespuestaSimple($request, $num); break; case 'monedas': return Tomador::getRespuestaSimple($request, $num); break; case 'millon': return Tomador::getRespuestaSimple($request, $num); break; default: break; } }
public function executeCheck(sfWebRequest $request) { $this->pagina = $request->getParameter('pagina'); // pagina a mostrar teniendo en cuenta que es 1 a 1 $this->pagina++; // sumamos una pagina for ($x = 0; $x < $request->getParameter('cantidad'); $x++) { $pregunta = $request->getParameter('pregunta' . $x); // id pregunta $prueba = $this->getUser()->getPrueba(); // prueba actual //tomar el resultado ingresado if ($prueba != null) { $resultado = Tomador::getRespuesta($request, $prueba, $x); // tomo la respuesta ingresada } $pruebareal = PruebasPeer::getPrueba($this->getUser()->getEvaluacion()->getId(), $prueba->getTestsId()); $this->getUser()->setResultado($pruebareal, $prueba, $resultado, $pregunta); // setiar resultado a la coleccion $this->preguntas = PreguntasPeer::getPreguntas($prueba->getId(), $prueba->getPaginacion(), $this->pagina); $pregunta = $this->preguntas->getResult(); } if (count($this->preguntas) == 0) { // si no hay mas preguntas entonces paso a la siguiente prueba y ademas si no tengo hijos guardados $this->getUser()->saveResultados($prueba); // grabo los resultados totales y parciales $this->getUser()->Nextprueba(); // doy acceso a la siguiente prueba $this->getUser()->initResultados(); // inicializo el arreglo de resultados $this->forward('principal', 'pregunta'); // vuelvo al flujo del principio pero con otro test } else { $this->opciones = RespuestasPeer::getRespuestas($pregunta[0]->getId()); } $this->test = trim($prueba->getTitulo()); $this->setTemplate('pregunta'); }