/** * 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)); }
/** * 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)); }
/** * 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); } }
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; }
/** * 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); } }
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); }