public function Registrar(Pregunta $data) { try { $sql = "INSERT INTO tb_pregunta (intidtarea,nvchpregunta,nvchdescripcion,chrhabilitado) \n\t\t VALUES (?, ?, ?, ?)"; $this->pdo->prepare($sql)->execute(array($data->__GET('intidtarea'), $data->__GET('nvchpregunta'), $data->__GET('nvchdescripcion'), $data->__GET('chrhabilitado'))); } catch (Exception $e) { die($e->getMessage()); } }
function RegistrarEntrevista() { session_start(); if (!isset($_SESSION['Usuario'])) { Respoder(false, 'Debe iniciar sesión', null); } if ($_SESSION['Usuario']['tipo'] != 'B') { Respoder(false, 'No tiene autorización', null); } $entr = new Entrevista(); $preguntas; if (!(($entr->titulo = filter_input(INPUT_POST, 'titulo', FILTER_SANITIZE_STRING)) && ($entr->descripcion = filter_input(INPUT_POST, 'descripcion', FILTER_SANITIZE_STRING)) && ($entr->fchInicio = filter_input(INPUT_POST, 'fchInicio', FILTER_SANITIZE_STRING)) && ($entr->fchFin = filter_input(INPUT_POST, 'fchFin', FILTER_SANITIZE_STRING)) && ($preguntas = filter_input(INPUT_POST, 'preguntas')))) { Respoder(false, 'Error al recibir parámetros', null); } try { $entr->fchInicio = new DateTime($entr->fchInicio); $entr->fchFin = new DateTime($entr->fchFin); } catch (Exception $ex) { Respoder(false, 'Fecha inicio o fin incorrecta', 'Formato de la fecha incorrecto'); } $preguntas = json_decode($preguntas); if (is_null($preguntas)) { Respoder(false, 'Error al recibir preguntas', 'No se pudo procesar el JSON recibido'); } try { foreach ($preguntas as $p) { if (!is_int((int) $p->tiempo)) { throw new Exception($p->tiempo . ' no es entero'); } } } catch (Exception $ex) { Respoder(false, 'Error al recibir parámetros de las preguntas', $ex->getMessage()); } //Hasta aquí los param se verificaron //Aqui se procesan los datos y se guardan $entr->idUsuario = $_SESSION['Usuario']['idUsuario']; if (!$entr->set()) { Respoder(true, 'Error al guardar la entrevista nueva', null, $preguntas); } try { foreach ($preguntas as $c => $p) { $pa = new Pregunta(); $pa->premisa = $p->premisa; $pa->tiempo = $p->tiempo; $pa->idEntrevista = $entr->idEntrevista; if (!$pa->set()) { throw new Exception($p->md_detalle); } } Respoder(true, 'La entrevista se guardó', null, '/invitar?idEntrevista=' . $entr->idEntrevista); } catch (Exception $ex) { Respoder(false, 'Error al guardar pregunta', $ex->getMessage()); } }
function GuardarRespuesta() { global $files_dir, $files_url; session_start(); if (!isset($_SESSION['Usuario'])) { Respoder(false, 'Debe iniciar sesión', null); } if ($_SESSION['Usuario']['tipo'] != 'A') { Respoder(false, 'No tiene autorización', null); } if (!isset($_SESSION['Respondiendo'])) { Respoder(false, 'Debe indicar una entrevista', null); } $Invitacion = $_SESSION['Respondiendo']['Invitacion']; $Entrevista = $_SESSION['Respondiendo']['Entrevista']; $Reespuesta = new Respuesta(); $Pregunta = new Pregunta(); $_idPreg; if (!($_idPreg = filter_input(INPUT_POST, 'idPregunta', FILTER_VALIDATE_INT))) { Respoder(false, 'Error de parámetros', null); } if (!$Pregunta->get($_idPreg)) { Respoder(false, 'La pregunta no existe', null); } if (!isset($_FILES['audio'])) { Respoder(false, 'No se envió audio', null); } $fileName = $_FILES['audio']['name']; $fileType = $_FILES['audio']['type']; $fileSize = $_FILES['audio']['size']; $fileTemp = $_FILES['audio']['tmp_name']; $fileErro = $_FILES['audio']['error']; if ($fileErro != UPLOAD_ERR_OK) { Respoder(false, 'Error en la transmisión del archivo', null); } if ($fileSize <= 0) { Respoder(false, 'Debe indicar un documento para subir', null); } if ($fileType != 'audio/wav') { Respoder(false, 'El audio debe tener formato WAV', null); } $fileNewName = 'audio_' . sha1($Invitacion['idInvitacion'] . $Pregunta->idPregunta) . '.wav'; $fileNew = $files_dir . $fileNewName; $fileUrl = $files_url . $fileNewName; if (!move_uploaded_file($fileTemp, $fileNew)) { Respoder(false, 'Error al guardar audio', null); } $Reespuesta->audio = $fileUrl; $Reespuesta->idInvitacion = $Invitacion['idInvitacion']; $Reespuesta->idPregunta = $Pregunta->idPregunta; array_push($_SESSION['Respondiendo']['Respuestas'], $Reespuesta->toArray()); Respoder(true, 'Audio guardado', null); }
function modificarPregunta() { $idpreg = $_POST['IdPregunta']; $idtema = $_POST['IdTema']; $contenido = $_POST['Contenido']; $respuesta = $_POST['Respuesta']; $valor = $_POST['Valor']; $tipo = $_POST['Tipo']; $preg = new Pregunta(); $preg->editarPregunta($idpreg, $idtema, $contenido, $respuesta, $tipo, $valor); //ejecuta la funcion en PreguntaData que modifica una pregunta editarPregunta($preg); }
/** * 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 actionUpdate($id) { $pregunta = Pregunta::model()->findByPk($id); 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('modificar', array('model' => $pregunta)); }
public function run() { Pregunta::create(['descripcion_1' => 'Con nota de 1 a 7, donde 1 es muy malo y 7 es muy bueno, ¿Hasta qué punto la marca Universidad Mayor ha logrado satisfacer sus necesidades en forma efectiva?', 'descripcion_2' => '', 'descripcion_3' => '', 'numero_pregunta' => '1', 'id_pregunta_padre' => 0, 'id_tipo_respuesta' => 5, 'id_estado' => 4, 'id_encuesta' => 1]); Pregunta::create(['descripcion_1' => '¿Por qué evalúa con esa nota?', 'descripcion_2' => '', 'descripcion_3' => '', 'numero_pregunta' => '', 'id_pregunta_padre' => 1, 'id_tipo_respuesta' => 7, 'id_estado' => 4, 'id_encuesta' => 1]); Pregunta::create(['descripcion_1' => 'Con nota de 1 a 7, donde 1 es muy malo y 7 es muy bueno, ¿Qué tan simple y fácil le ha sido interactuar con Universidad Mayor?', 'descripcion_2' => '', 'descripcion_3' => '', 'numero_pregunta' => '2', 'id_pregunta_padre' => 0, 'id_tipo_respuesta' => 5, 'id_estado' => 4, 'id_encuesta' => 1]); Pregunta::create(['descripcion_1' => '¿Por qué evalúa con esa nota?', 'descripcion_2' => '', 'descripcion_3' => '', 'numero_pregunta' => '', 'id_pregunta_padre' => 3, 'id_tipo_respuesta' => 7, 'id_estado' => 4, 'id_encuesta' => 1]); Pregunta::create(['descripcion_1' => 'Con nota de 1 a 7, donde 1 es muy malo y 7 es muy bueno, ¿Qué tan agradable ha sido su permanencia en la Universidad Mayor?', 'descripcion_2' => '', 'descripcion_3' => '', 'numero_pregunta' => '3', 'id_pregunta_padre' => 0, 'id_tipo_respuesta' => 5, 'id_estado' => 4, 'id_encuesta' => 1]); Pregunta::create(['descripcion_1' => '¿Por qué evalúa con esa nota?', 'descripcion_2' => '', 'descripcion_3' => '', 'numero_pregunta' => '', 'id_pregunta_padre' => 6, 'id_tipo_respuesta' => 7, 'id_estado' => 4, 'id_encuesta' => 1]); Pregunta::create(['descripcion_1' => '¿Recomendaría Universidad Mayor a sus conocidos o amigos?', 'descripcion_2' => '', 'descripcion_3' => '', 'numero_pregunta' => '4', 'id_pregunta_padre' => 0, 'id_tipo_respuesta' => 1, 'id_estado' => 4, 'id_encuesta' => 1]); }
public function metricasEncuestas() { $encuesta = UsuarioEncuesta::all(); //Datos encuesta y lista preguntas // $encuesta = 1; $preguntas = Pregunta::where('idEncuesta', 1)->join('tipo_dato', 'pregunta.tipo', '=', 'tipo_dato.id')->join('identificacion_preguntas as id_preg', 'pregunta.identificacion', '=', 'id_preg.id')->select('pregunta.id', 'pregunta.valor as valpregunta', 'pregunta.posicion as posicion', 'id_preg.valor as id_preg_valor', 'tipo_dato.valor as tipo_dato_valor')->get()->toArray(); $respuestas = Pregunta::find(3)->respuestas()->get(); // $datosEncuesta = DB::table('encuesta')->where('id', $encuesta)->first(); echo "<pre>"; print_r($respuestas); echo "</pre>"; die; return View::make('admin.metricas', array('encuestas' => $encuesta, 'preguntas' => $preguntas)); }
function getListPagina($pagina = 0, $rpp = 10, $condicion = "1=1", $parametros = array(), $orderby = "1") { $pos = $pagina * $rpp; $sql = "select * from encuesta e join pregunta p on e.id=p.idencuesta join respuesta r on p.id=r.idpregunta;"; $r = $this->bd->setConsulta($sql, $parametros); $respuesta = array(); //$cont=0; while ($fila = $this->bd->getFila()) { $objeto1 = new Encuesta(); $objeto1->set($fila); $objeto2 = new Pregunta(); $objeto2->set($fila, 3); $objeto3 = new Respuesta(); $objeto3->set($fila, 6); $respuesta[] = new JoinEPR($objeto1, $objeto2, $objeto3); /* $respuesta[$cont][0] = $objeto1; $respuesta[$cont][1] = $objeto2; $respuesta[$cont][2] = $objeto3; $cont++; */ } return $respuesta; }
public function actionIndex() { //Cargo la pregunta para responder $triviaForm = new TriviaForm(); if (isset($_POST['TriviaForm'])) { $triviaForm->attributes = $_POST['TriviaForm']; //Verifico que la pregunta sea la misma que la cargada en la sesión if ($triviaForm->pregunta != $this->_preguntaid) { $this->_error(); } //Agregar la pregunta a ronda_x_respuesta $rxr = new RondaXRespuesta(); $rxr->ronda_id = $this->_ronda; $rxr->respuesta_id = $triviaForm->respuesta; $rxr->usuario_id = $this->_usuario_id; $rxr->save(); //Verifico si es la respuesta correcta $r = Respuesta::model()->findByPk($triviaForm->respuesta); if ($r->es_correcta) { $situacion = 3; //3. Respuesta correcta $puntos = $rxr->ronda->puntos; Yii::app()->user->setFlash('error', 'respuesta-bien'); Yii::app()->user->setFlash('puntos', $puntos); //Sumar puntos } else { $situacion = 4; //4. Respuesta mala Yii::app()->user->setFlash('error', 'respuesta-mal'); } Yii::app()->session['situacion'] = $this->_situacion = $situacion; $this->_error(); } //if( isset($_POST['TriviaForm']) ) if ($this->_situacion == 2) { $pregunta = Pregunta::model()->obtener_pregunta($this->_ronda, $this->_preguntaid); } else { $pregunta = Pregunta::model()->obtener_pregunta($this->_ronda); } Yii::app()->session['preguntaid'] = $this->_preguntaid = $pregunta->id; Yii::app()->session['situacion'] = $this->_situacion = 2; //2. pregunta foreach ($pregunta->respuestas as $r) { $respuestas[$r->id] = $r->respuesta; } $this->render('index', array('model' => $triviaForm, 'pregunta' => $pregunta, 'respuestas' => $respuestas)); }
public function do_crea_cerrada(View $view) { $enunciado = $view->getPOST('enunciado', false); $formulari = $view->getPOST('formulario', false); $enques = Session::get('encuestador'); if ($enunciado && $formulari && $enques) { $forms = Formulario::objects()->filter(array("pk = {$formulari}", "encuestador_id__pk = " . $enques->get_pk())); if ($forms->len()) { $preg = Pregunta::instance(); $preg->setEnunciado($enunciado); $preg->setFormulario_id($formulari); $pgid = $preg->save(); if ($pgid > 0) { $cerrada = Pregunta_cerrada::instance(); $cerrada->setPregunta_id($pgid); $idce = $cerrada->save(); if ($idce > 0) { return array('id_preg' => $pgid, 'id_cerrada' => $idce, 'enunciado' => $enunciado); } } } } return $view->response_error(); }
<?php /** * Elimina una pregunta de la base de datos * distinguida por su identificador */ require 'Preguntas.php'; if ($_SERVER['REQUEST_METHOD'] == 'POST') { // Decodificando formato Json $body = json_decode(file_get_contents("php://input"), true); $retorno = Pregunta::delete($body['idPregunta']); if ($retorno) { print json_encode(array('estado' => '1', 'mensaje' => 'Eliminación exitosa')); } else { print json_encode(array('estado' => '2', 'mensaje' => 'Eliminación fallida')); } }
<?php include 'headerdocente.php'; require_once 'pregunta.entidad.php'; require_once 'pregunta.model.php'; $buttonname = 'Registrar'; // Logica $preg = new Pregunta(); $model = new PreguntaModel(); //dame tareas para el combobox function dametarea() { $consulta_mysql = "\n SELECT\n tb_tarea.intidtarea,\n tb_tarea.nvchtarea\n FROM\n tb_tarea\n "; $resultado_consulta_mysql = mysql_query($consulta_mysql); while ($registro = mysql_fetch_array($resultado_consulta_mysql)) { echo "\n <option value='" . $registro['intidtarea'] . "'>\n " . $registro['nvchtarea'] . "\n </option>\n "; } } //end dame tareas para el combobox if (isset($_REQUEST['action'])) { switch ($_REQUEST['action']) { case 'actualizar': $preg->__SET('intidpregunta', $_REQUEST['intidpregunta']); $preg->__SET('intidtarea', $_REQUEST['intidtarea']); $preg->__SET('nvchpregunta', $_REQUEST['nvchpregunta']); $preg->__SET('nvchdescripcion', $_REQUEST['nvchdescripcion']); $preg->__SET('chrhabilitado', $_REQUEST['chrhabilitado']); $model->Actualizar($preg); header('Location: pregunta.php'); break; case 'registrar':
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id) { $pregunta = Pregunta::find($id); $data = Input::all(); // Revisamos si la data es válida y guardamos en ese caso if ($pregunta->validAndSave($data)) { // Y Devolvemos una redirección a la acción show para mostrar el materia return Redirect::route('pregunta.edit', array($pregunta->id_pregunta)); } else { // En caso de error regresa a la acción create con los datos y los errores encontrados return Redirect::route('pregunta.edit', $pregunta->id_pregunta)->withInput()->withErrors($pregunta->errors); } }
public function actionExcel() { Yii::import('ext.phpexcel.XPHPExcel'); $objPHPExcel = XPHPExcel::createPHPExcel(); // Set document properties $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")->setLastModifiedBy("Maarten Balliauw")->setTitle("Office 2007 XLSX Test Document")->setSubject("Office 2007 XLSX Test Document")->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")->setKeywords("")->setCategory(""); if (Usuario::model()->findByPk(Yii::app()->user->id)->usu_rol == "admins") { $var = Evaluacion::model()->findAll(); } else { $var = Evaluacion::model()->findAllByAttributes(array('emp_rut' => Usuario::model()->findByPk(Yii::app()->user->id)->emp_rut)); } foreach ($var as $key => $value) { if (Telefono::model()->findByAttributes(array('tel_numero' => $value->tel_numero, 'emp_rut' => $value->emp_rut)) != null) { $fono = Telefono::model()->findByAttributes(array('tel_numero' => $value->tel_numero, 'emp_rut' => $value->emp_rut))->tel_mac; } else { $fono = null; } $var2 = EvaluacionPregunta::model()->findAllByAttributes(array('eva_id' => $value->eva_id)); // datos de las respuestas a la evaluacion a imprimir $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A' . ($key + 2), $key + 1)->setCellValue('B' . ($key + 2), $value->eva_fecha)->setCellValue('C' . ($key + 2), $value->usu_rut)->setCellValue('D' . ($key + 2), $value->emp_rut)->setCellValue('E' . ($key + 2), $value->emp_nombre)->setCellValue('F' . ($key + 2), $value->tel_numero)->setCellValue('G' . ($key + 2), $fono); $c = 7; $k = 0; $j = null; foreach ($var2 as $key2 => $value2) { if (Pregunta::model()->findByPk($value2->pre_id) != null) { $descripcion = Pregunta::model()->findByPk($value2->pre_id)->pre_descripcion; if ($value2->pre_respuesta) { $respuesta = "SI"; } else { $respuesta = "NO"; } } else { $descripcion = "Sin resultados"; } if ($c + $key2 > 25) { $j = intval(($c + $key2) / 26); $k = ($c + $key2) % 26; } if ($j == null) { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($key2 + 65 + $c) . ($key + 2), $descripcion); } else { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($j + 64) . chr($k + 65) . ($key + 2), $descripcion); } $c++; if ($c + $key2 > 25) { $j = intval(($c + $key2) / 26); $k = ($c + $key2) % 26; } if ($j == null) { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($key2 + 65 + $c) . ($key + 2), $respuesta); } else { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($j + 64) . chr($k + 65) . ($key + 2), $respuesta); } } } $j = null; $k = 0; $c = 1; for ($i = 7; $i < 107; $i++) { if ($i > 25) { $j = intval($i / 26); $k = $i - intval($i / 26) * 26; } if ($i % 2 != 0) { if ($j == null) { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($i + 65) . '1', "Pregunta" . " " . $c); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(chr($i + 65))->setWidth(50); } else { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($j + 64) . chr($k + 65) . '1', "Pregunta" . " " . $c); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(chr($j + 64) . chr($k + 65))->setWidth(50); } } else { if ($j == null) { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($i + 65) . '1', "Respuesta" . " " . $c); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(chr($i + 65))->setWidth(15); $c++; } else { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($j + 64) . chr($k + 65) . '1', "Respuesta" . " " . $c); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(chr($j + 64) . chr($k + 65))->setWidth(15); $c++; } } } $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', 'N°')->setCellValue('B1', 'fecha')->setCellValue('C1', 'Usuario')->setCellValue('D1', 'Rut Empresa')->setCellValue('E1', 'Empresa')->setCellValue('F1', 'N° Telefono')->setCellValue('G1', 'Mac Telefono'); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(10); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(20); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('C')->setWidth(20); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('D')->setWidth(20); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('E')->setWidth(20); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('F')->setWidth(20); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('G')->setWidth(25); // Rename worksheet $objPHPExcel->getActiveSheet()->setTitle('Simple'); // Set active sheet index to the first sheet, so Excel opens this as the first sheet $objPHPExcel->setActiveSheetIndex(0); // Redirect output to a client’s web browser (Excel5) header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="informe.xls"'); header('Cache-Control: max-age=0'); // If you're serving to IE 9, then the following may be needed header('Cache-Control: max-age=1'); // If you're serving to IE over SSL, then the following may be needed header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified header('Cache-Control: cache, must-revalidate'); // HTTP/1.1 header('Pragma: public'); // HTTP/1.0 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit; }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer $id the ID of the model to be loaded * @return Pregunta the loaded model * @throws CHttpException */ public function loadModel($id) { $model = Pregunta::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
public function getPreguntasQuiz() { $preguntas = Pregunta::where('id_evaluacion', '=', $this->id_evaluacion)->select('respuesta')->orderBy('id_pregunta', 'ASC')->get(); return $preguntas; }
<?php /** * Obtiene todas las preguntas de la base de datos */ require 'Meta.php'; if ($_SERVER['REQUEST_METHOD'] == 'GET') { // Manejar petición GET $preguntas = Pregunta::getAll(); if ($preguntas) { $datos["estado"] = 1; $datos["preguntas"] = $preguntas; print json_encode($datos); } else { print json_encode(array("estado" => 2, "mensaje" => "Ha ocurrido un error")); } }
public function update() { $this->listados(); if (isset($_SESSION["currentuser"])) { if (isset($_POST["submit"])) { if ($_POST["submit"] == i18n("Modify")) { $pregunta = new Pregunta(); if (strlen($_POST["pregunta"]) > 1 && strlen($_POST["descripcion"]) > 1) { $pregunta->setId($_POST["preguntaId"]); $pregunta->setTitulo($_POST["pregunta"]); $pregunta->setDescripcion($_POST["descripcion"]); $time = time(); $pregunta->setFecha(date("Y-m-d H:i:s", $time)); $pregunta->setUsuario($_SESSION["currentuser"]); $preg = $this->preguntaMapper->update($pregunta); if (isset($_POST["categorias"])) { $this->preguntaMapper->modCategorias($preg->getId(), $_POST["categorias"]); } $this->view->redirect("preguntas", "index"); } else { $errors["general"] = i18n("You can not ask with empty fields"); $this->view->setVariable("errors", $errors); $this->view->render("preguntas", "preguntar"); } } else { if ($_POST["submit"] == i18n("Delete")) { $this->preguntaMapper->delete($_POST["preguntaId"]); $this->view->redirect("preguntas", "index"); } else { $this->view->redirect("preguntas", "index"); } } } else { $this->view->render("preguntas", "preguntar"); } } else { $this->view->setFlash(sprintf(i18n("To ask you have login"))); $this->view->render("users", "login"); } }
<?php /** * Actualiza una pregunta especificada por su identificador */ require 'Preguntas.php'; if ($_SERVER['REQUEST_METHOD'] == 'POST') { // Decodificando formato Json $body = json_decode(file_get_contents("php://input"), true); // Actualizar meta $retorno = Pregunta::update($body['idPregunta'], $body['pregunta'], $body['respuesta'], $body['categoria']); if ($retorno) { // Código de éxito print json_encode(array('estado' => '1', 'mensaje' => 'Actualización exitosa')); } else { // Código de falla print json_encode(array('estado' => '2', 'mensaje' => 'Actualización fallida')); } }
// Los parámetros en la url se definen con :parametro // El valor del parámetro :idusuario se pasará a la función de callback como argumento // //Usuarios $app->post("/usuarios/sesion", "iniciar_sesion"); $app->get("/usuarios", "get_usuarios"); $app->post("/usuarios", "post_usuarios"); $app->get("/usuarios/:id/retos", "get_retos_usuario"); $app->delete("/usuarios/:email", "delete_usuario"); $app->put("/usuarios/:email", "put_usuario"); //Preguntas $app->get('/preguntas', "get_preguntas"); $app->get('/preguntas/:id', function ($id) { //Modificar //No es prioritario que se busquen las preguntas por id echo Pregunta::find($id); }); $app->post('/preguntas', 'post_preguntas'); $app->put('/preguntas/:id', 'put_preguntas'); $app->delete('/preguntas/:id', 'delete_pregunta'); //Modificar $app->get('/preguntas/:id/opciones', 'get_opciones_pregunta'); $app->get('/no-respondida', 'get_pregunta_no_respondida'); //Areas $app->get('/areas', "get_areas"); $app->get('/areas/:id/preguntas', "get_preguntas_area"); $app->post('/areas', "post_areas"); $app->delete("/areas/:codarea", "delete_area"); $app->put("/areas/:codarea", "put_area"); //Encabezados $app->get('/encabezados', 'get_encabezados');
protected function cargar_pregunta($pregunta_id = 0) { /* Obtengo una pregunta del nivel no resuelta Retorno un objeto con una pregunta y sus respuestas */ $pregunta = new Pregunta(); $resultado = $pregunta->obtener_pregunta($this->_nivel, $pregunta_id); if (in_array($resultado['pregunta']->id, $this->_preguntas)) { $resultado = $this->cargar_pregunta($pregunta_id); } return $resultado; }
/** * 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); } }
}))->where('id_curso', '[0-9]+'); Route::resource('curso', 'CursoController'); Route::resource('usuario', 'UsuarioController'); Route::resource('evaluacion', 'EvaluacionController'); Route::resource('leccion', 'LeccionController'); Route::resource('pregunta', 'PreguntaController'); Route::resource('pregunta_leccion', 'PreguntaLeccionController'); Route::resource('temario', 'TemarioController'); Route::get('temario/{id}/edit1b', array('uses' => 'TemarioController@edit1b', 'as' => 'editar-temario-inicio')); Route::get('temario/{id}/edit2', array('uses' => 'TemarioController@edit2', 'as' => 'editar-temario-semanal')); Route::get('temario/{id}/edit', array('uses' => 'TemarioController@edit', 'as' => 'editar-temario-info-curso')); Route::get('leccion/{id}/edit', array('uses' => 'LeccionController@edit', 'as' => 'editar-leccion')); Route::get('evaluacion/{id}/edit', array('uses' => 'EvaluacionController@edit', 'as' => 'editar-evaluacion')); Route::get('pregunta/{id}/edit', array('uses' => 'PreguntaController@edit', 'as' => 'editar-pregunta')); Route::get('borrar-pregunta/{id}', array('as' => 'borrar-pregunta', function ($id) { $pregunta = Pregunta::find($id); $id_tarea = $pregunta->id_evaluacion; $tarea = Evaluacion::find($id_tarea); $evaluacion = $tarea->id_curso; $pregunta->delete(); return Redirect::route('ver-tarea', array($evaluacion, $id_tarea)); }))->where('id', '[0-9]+'); // // RUTAS DEL Chat // Route::get("chat", array('as' => 'chat', function () { if (Session::get('user_id') == "") { return Redirect::to('index'); } if (Session::get('user') == "") { return Redirect::to('index');
public static function get_pregunta_no_respondida($email, $codreto, $id_area) { $respuesta = new stdClass(); $pregunta = Pregunta::whereNotIn("CODPREGUNTA", function ($query) use($email, $codreto) { $query->select("CODPREGUNTA")->from("RESPONDIDAS_RETO")->where("EMAIL", "=", "{$email}")->where("CODRETO", "=", "{$codreto}"); })->where("CODAREA", "=", "{$id_area}")->orderByRaw("rand()")->first(); if ($pregunta) { $pregunta->encabezado; //$pregunta->opciones()->orderByRaw("rand()"); $pregunta->opciones; $respuesta->pregunta = $pregunta; $respuesta->result = true; } else { $respuesta->result = false; $respuesta->mensaje = "Error. Revise los datos enviados."; } return $respuesta; }
<?php /** * Obtiene el detalle de una pregunta especificada por * su identificador "idPregunta" */ require 'Preguntas.php'; if ($_SERVER['REQUEST_METHOD'] == 'GET') { if (isset($_GET['idPregunta'])) { // Obtener parámetro idPregunta $parametro = $_GET['idPregunta']; // Tratar retorno $retorno = Pregunta::getById($parametro); if ($retorno) { $pregunta["estado"] = "1"; $pregunta["pregunta"] = $retorno; // Enviar objeto json de la pregunta print json_encode($pregunta); } else { // Enviar respuesta de error general print json_encode(array('estado' => '2', 'mensaje' => 'No se obtuvo el registro')); } } else { // Enviar respuesta de error print json_encode(array('estado' => '3', 'mensaje' => 'Se necesita un identificador')); } }
public function actionDelete($id) { $prx = new PreguntaXRonda(); $rxj = new RespuestaXJugador(); $res = new Respuesta(); $pre = new Pregunta(); $criteria = new CDbCriteria(); $criteria->join = 'inner join pregunta p ON respuesta_x_jugador.pregunta_id = p.id'; $criteria->condition = 'p.id=' . $id; $prx->deleteAll("pregunta_id = {$id}"); $rxj->deleteAll($criteria); $res->deleteAll("pregunta_id = {$id}"); $pre->deleteAll("id = {$id}"); $log = new Logs(); try { $log->accion = 'Elimino la pregunta id #' . $id . ' como admin'; $log->usuario = Yii::app()->user->id; $log->msg = 'IP: ' . $_SERVER['REMOTE_ADDR'] . ' : ' . $_SERVER['REMOTE_PORT']; $log->fecha = date('Y-m-d G:i:s'); $log->save(); } catch (Exception $e) { $log->accion = 'Error log'; $log->msg = ''; $log->fecha = ''; $log->save(); } $this->redirect(array('index')); }
<?php /** * Insertar una nueva pregunta en la base de datos */ require 'Preguntas.php'; if ($_SERVER['REQUEST_METHOD'] == 'POST') { // Decodificando formato Json $body = json_decode(file_get_contents("php://input"), true); // Insertar meta $retorno = Pregunta::insert($body['pregunta'], $body['respuesta'], $body['categoria']); if ($retorno) { // Código de éxito print json_encode(array('estado' => '1', 'mensaje' => 'Creación exitosa')); } else { // Código de falla print json_encode(array('estado' => '2', 'mensaje' => 'Creación fallida')); } }
public function run() { foreach (range(1, 7) as $index) { PreguntasDetalle::create(['descripcion' => Pregunta::whereIdPregunta($index)->first(array('descripcion_1')), 'id_estado' => 5, 'id_encuesta' => 1, 'id_pregunta' => $index]); } }
public function actionRespuesta() { $this->layout = "single"; if (!Yii::app()->request->isAjaxRequest) { throw new CHttpException('403', 'Forbidden access.'); } $id = Yii::app()->request->restParams['id']; // Validar token if ($this->validarToken()) { if ($this->validarCuentas()) { $respuesta = Respuesta::model()->find('id = ?', array(0 => $id)); $pregunta = Pregunta::model()->find('id = ?', array(0 => $respuesta->pregunta->id)); $puntos = $respuesta->pregunta->nivel->puntos; //$pregunta->estado = 0; //$pregunta->save(); $respuestaJugador = new RespuestaXJugador(); $log = new Logs(); $respuestaJugador->pregunta_id = $respuesta->pregunta->id; $respuestaJugador->respuesta_id = $id; $respuestaJugador->jugador_id = Yii::app()->session['jugador_id']; $respuestaJugador->fecha = date('Y-m-d G:i:s'); $respuestaJugador->ip = $_SERVER['REMOTE_ADDR'] . ' : ' . $_SERVER['REMOTE_PORT']; try { if (Yii::app()->user->id) { $jugador = Jugador::model()->find('usuario_id = ' . Yii::app()->user->id); if ($jugador != NULL) { $log->usuario = 'id ' . $jugador->id . ' - ' . $jugador->nombre; } else { $log->usuario = 'id ' . $jugador->id; } } $msg_res = $respuesta->es_correcta == 1 ? 'correcta' : 'incorrecta'; $log->accion = 'Contesto Pregunta # ' . $respuesta->pregunta->id; $log->msg = 'IP: ' . $_SERVER['REMOTE_ADDR'] . ' : ' . $_SERVER['REMOTE_PORT'] . '- Contesto "' . $pregunta->pregunta . '"' . '- Su Respuesta fue # ' . $id . '- "' . $respuesta->respuesta . '"' . '- Con respuesta ' . $msg_res; $log->fecha = date('Y-m-d G:i:s'); $log->save(); } catch (Exception $e) { $log->accion = 'Error log'; $log->msg = ''; $log->fecha = date('Y-m-d G:i:s'); $log->save(); } $respuestaJugador->save(); $respuesta = Respuesta::model()->find('id = ?', array(0 => $id)); $r = array(); switch ($respuesta->es_correcta == 1) { case true: // Respuesta correcta , que por ley no se puede informar al usuario. $r['message'] = 'Gracias por participar, recuerda revisar tu perfil al final del día para saber los resultados.'; $r['status'] = 'success'; break; case false: // Respuesta Incorrecta , que por ley no se puede informar al usuario. $r['message'] = 'Gracias por participar, recuerda revisar tu perfil al final del día para saber los resultados.'; /** * formato viejo **/ $r['status'] = 'success'; // $r['status'] = 'error'; break; } /** * * Formato Viejo , por seguridad ya no se m * mandan los puntos al JS. **/ //$r['puntos'] = $puntos; $r['puntos'] = 'null'; $this->clearTokenVal(); } else { $r = array(); $r['message'] = 'Moral error: No puedes jugar aun.'; $r['status'] = 'error'; // Codigo 3 debe estar en el contenido de la base de datos . $this->redirect(array('site/contenido', 'id' => 3)); Yii::app()->end(); } } else { $r = array(); $r['message'] = 'Error , token de seguridad invalido.'; $r['status'] = 'error'; } header('Content-Type: application/json; charset="UTF-8"'); echo CJSON::encode($r); Yii::app()->end(); }
function getListaPaginadaJSON($pagina = 0, $rpp = 3, $condicion = "1=1", $parametros = array(), $orderby = "1") { $pos = $pagina * $rpp; $sql = "select * from " . $this->tabla . " where {$condicion} order by {$orderby} limit {$pos}, {$rpp}"; $this->bd->setConsulta($sql, $parametros); $r = "[ "; while ($fila = $this->bd->getFila()) { $objeto = new Pregunta(); $objeto->set($fila); $r .= $objeto->getJSON() . ","; } $r = substr($r, 0, -1) . "]"; return $r; }