コード例 #1
0
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionCrear()
 {
     $pregunta = new Pregunta();
     if (isset($_POST['Pregunta'])) {
         $pregunta->attributes = $_POST['Pregunta'];
         if ($pregunta->validate()) {
             if (!$pregunta->save()) {
                 Yii::app()->user->setFlash('mensaje', 'La pregunta ' . $pregunta->pregunta . ' no se pudo guardar');
             }
             if (isset($_POST['Respuesta'])) {
                 foreach ($_POST['Respuesta'] as $k => $r) {
                     if ($k > 0) {
                         $respuesta = Respuesta::model()->findByPk($k);
                     } else {
                         $respuesta = new Respuesta();
                     }
                     $respuesta->respuesta = $r['respuesta'];
                     $respuesta->es_correcta = $r['es_correcta'];
                     $respuesta->save();
                 }
             }
         }
         //if($preguntaForm->validate())
     }
     //if(isset($_POST['Pregunta']))/**/
     $this->render('crear', array('model' => $pregunta));
 }
コード例 #2
0
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $model = new Pregunta();
     $b = new Metrica();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Pregunta'], $_POST['Metrica'])) {
         $model->attributes = $_POST['Pregunta'];
         $b->attributes = $_POST['Metrica'];
         $model->descripcion_pregunta = $model->descripcion_pregunta;
         $arr2 = implode(",", $model->attributes['id_caracteristica']);
         $model->id_caracteristica = $arr2;
         $model->id_aspecto = $model->id_aspecto;
         $model->estatus_pregunta = $model->estatus_pregunta;
         $model->save();
         $arr = implode(",", $b->attributes['id_metrica']);
         $porciones = explode(",", $arr);
         foreach ($porciones as $met) {
             $c = new OpcionRespuesta();
             $c->isNewRecord = true;
             error_log('Metrica_id: ' . $met);
             $c->id_metrica = $met;
             $c->id_pregunta = $model->id_pregunta;
             $c->save();
         }
         $this->redirect(array('view', 'id' => $model->id_pregunta));
     }
     $this->render('create', array('model' => $model, 'b' => $b));
 }
コード例 #3
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     // Creamos un nuevo objeto para nuestro nuevo materia
     $pregunta = new Pregunta();
     // Obtenemos la data enviada por el materia
     $data = Input::all();
     // Revisamos si la data es válido
     if ($pregunta->isValid($data)) {
         // Si la data es valida se la asignamos al materia
         $pregunta->fill($data);
         // Guardamos el materia
         $pregunta->save();
         // Y Devolvemos una redirección a la acción show para mostrar el materia
         //return Redirect::route('pregunta.show', array($pregunta->id));
         return Redirect::route('crear-curso-8', array($data['id_evaluacion']));
     } else {
         // En caso de error regresa a la acción create con los datos y los errores encontrados
         //return Redirect::route('pregunta.create')->withInput()->withErrors($pregunta->errors);
     }
 }
コード例 #4
0
 public static function post_preguntas($recibido)
 {
     $opciones = $recibido->opciones;
     unset($recibido->opciones);
     $pregunta = new Pregunta();
     $pregunta->add_data($recibido);
     $respuesta = new stdClass();
     $respuesta->result = $pregunta->save();
     foreach ($opciones as $key => $value) {
         $opcion = new Opcion();
         $opcion->add_data($value);
         $opcion->CODPREGUNTA = $pregunta->CODPREGUNTA;
         $opcion->save();
     }
     if ($respuesta->result) {
         $respuesta->mensaje = "Pregunta registrada correctamente.";
         $respuesta->pregunta = $pregunta;
     } else {
         $respuesta->mensaje = "No se pudo registrar la pregunta.";
     }
     return $respuesta;
 }
コード例 #5
0
 /**
  * Guarda una pregunta de un examen determinado
  *
  */
 public function guardarPregunta($idExamen)
 {
     $data = Input::all();
     try {
         $preguntas = Pregunta::where('examen', '=', $idExamen)->get();
         $sumaPunteo = 0;
         $sumaPorcentaje = 0;
         foreach ($preguntas as $pregunta) {
             $sumaPunteo += $pregunta->punteo;
             $sumaPorcentaje += $pregunta->porcentaje;
         }
         $pregunta = new Pregunta();
         $pregunta->examen = $idExamen;
         $pregunta->tipo_respuesta = $data['tipo_respuesta'];
         $pregunta->pregunta = $data['pregunta'];
         $pregunta->punteo = $data['punteo'];
         $pregunta->porcentaje = $data['porcentaje'];
         $pregunta->penalizacion = $data['penalizacion'];
         if ($data['tipo_respuesta'] == "directa") {
             $pregunta->respuesta_correcta = null;
         } else {
             if ($data['tipo_respuesta'] == "fv") {
                 $pregunta->respuesta_correcta = $data['respuesta'];
             } else {
                 $pregunta->respuesta_correcta = $data['respuesta_correcta'];
             }
         }
         if ($sumaPunteo + $pregunta->punteo <= 100 && $sumaPorcentaje + $pregunta->punporcentajeteo <= 100) {
             $pregunta->save();
             if ($data['tipo_respuesta'] == "sel_mul") {
                 $respuestasSelMult = explode(",", $data['respuestas']);
                 foreach ($respuestasSelMult as $opcion) {
                     $respuesta = new Respuesta();
                     $respuesta->respuesta = trim($opcion);
                     $pregunta->respuestas()->save($respuesta);
                 }
             }
             Session::flash('message', 'Pregunta creada correctamente');
             return Redirect::to('exam/preguntas/' . $idExamen);
         } else {
             Session::flash('error', 'No se pudo crear pregunta, suma de punteo o porcentaje mayor 100');
             return Redirect::to('exam/preguntas/' . $idExamen);
         }
     } catch (\Exception $exception) {
         Log::error(__METHOD__ . "-[" . $exception->getMessage() . "] " . $exception->getTraceAsString());
         Session::flash('error', 'Error al crear pregunta');
         return Redirect::to('exam/preguntas/' . $idExamen);
     }
 }
コード例 #6
0
 public function addPregunta($post)
 {
     $curso_id = strip_tags(htmlspecialchars($post['curso']));
     $curso_id = intval($curso_id);
     $curso_id = filter_var($curso_id, FILTER_SANITIZE_NUMBER_INT);
     $curso_id = filter_var($curso_id, FILTER_VALIDATE_INT);
     $user_id = strip_tags(htmlspecialchars($post['user']));
     $user_id = intval($user_id);
     $user_id = filter_var($user_id, FILTER_SANITIZE_NUMBER_INT);
     $user_id = filter_var($user_id, FILTER_VALIDATE_INT);
     $asunto = strip_tags(htmlspecialchars($post['post']['asunto']));
     $descripcion = strip_tags(htmlspecialchars($post['post']['pregunta']));
     $respuesta = array('code' => 404, 'message' => 'recurso no encontrado');
     if (!$curso_id || !$user_id) {
         $respuesta['message'] = 'Curso_id / user_id no valido';
     } else {
         $session = Utilities::getSession();
         if (is_null($session)) {
             $respuesta['message'] = 'no hay una session activa';
         } else {
             $curso = Curso::find($curso_id);
             $perfil = Perfil::find($user_id);
             if (count($curso) == 0 || count($perfil) == 0) {
                 $respuesta['message'] = 'curso/usuario no encontrado';
             } else {
                 $fecha_actual = date('Y-m-d');
                 $pregunta = new Pregunta();
                 $pregunta->curso_id = $curso_id;
                 $pregunta->perfil_id = $user_id;
                 $pregunta->asunto = $asunto;
                 $pregunta->descripcion = $descripcion;
                 $pregunta->fechaEntrada = $fecha_actual;
                 if ($pregunta->save()) {
                     $respuesta['code'] = 200;
                     $respuesta['message'] = 'Se guardo correctamente la pregunta';
                     $respuesta['reply'] = '/pregunta/' . $pregunta->pregunta_id . '/respuesta';
                     $respuesta['pregunta'] = $pregunta;
                 } else {
                     $respuesta['message'] = 'No se pudo guardar la pregunta';
                 }
             }
         }
     }
     return json_encode($respuesta);
 }