コード例 #1
0
 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());
     }
 }
コード例 #2
0
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());
    }
}
コード例 #3
0
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);
}
コード例 #4
0
ファイル: PreguntaLogica.php プロジェクト: Meidelin/EducarTIC
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);
}
コード例 #5
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 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));
 }
コード例 #6
0
 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]);
 }
コード例 #7
0
 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));
 }
コード例 #8
0
 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;
 }
コード例 #9
0
ファイル: TriviaController.php プロジェクト: Telemedellin/tm
 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));
 }
コード例 #10
0
ファイル: Service.php プロジェクト: exildev/q-stad
 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();
 }
コード例 #11
0
<?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'));
    }
}
コード例 #12
0
ファイル: pregunta.php プロジェクト: jsabbath/G4m1f1c4M3
<?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':
コード例 #13
0
 /**
  * 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);
     }
 }
コード例 #14
0
 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;
 }
コード例 #15
0
 /**
  * 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;
 }
コード例 #16
0
 public function getPreguntasQuiz()
 {
     $preguntas = Pregunta::where('id_evaluacion', '=', $this->id_evaluacion)->select('respuesta')->orderBy('id_pregunta', 'ASC')->get();
     return $preguntas;
 }
コード例 #17
0
<?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"));
    }
}
コード例 #18
0
ファイル: PreguntasController.php プロジェクト: xrlopez/TSW
 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");
     }
 }
コード例 #19
0
<?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'));
    }
}
コード例 #20
0
ファイル: index.php プロジェクト: andreshg112/ar-sac
// 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');
コード例 #21
0
 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;
 }
コード例 #22
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);
     }
 }
コード例 #23
0
}))->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');
コード例 #24
0
 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;
 }
コード例 #25
0
ファイル: ver_pregunta.php プロジェクト: viccanjua/Nonsense
<?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'));
    }
}
コード例 #26
0
 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'));
 }
コード例 #27
0
<?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'));
    }
}
コード例 #28
0
 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]);
     }
 }
コード例 #29
0
 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();
 }
コード例 #30
0
 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;
 }