예제 #1
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;
 }
function TerminarEntrevista()
{
    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'];
    $Preguntas = $_SESSION['Respondiendo']['Preguntas'];
    $Respuestas = $_SESSION['Respondiendo']['Respuestas'];
    $video = $_SESSION['Respondiendo']['video'];
    if (count($Respuestas) != count($Preguntas)) {
        Respoder(false, 'Falta responder algunas preguntas', null);
    }
    foreach ($Respuestas as $key => $res) {
        $encontrado = false;
        foreach ($Preguntas as $key => $pre) {
            if ($res['idPregunta'] == $pre['idPregunta']) {
                $encontrado = true;
            }
        }
        if (!$encontrado) {
            Respoder(false, 'Una respuesta no coincide con su pregunta', null);
        }
    }
    $invit = new Invitacion();
    if (!$invit->get('idInvitacion', $Invitacion['idInvitacion'])) {
        Respoder(false, 'No se encontró la invitación', null);
    }
    foreach ($Respuestas as $key => $res) {
        $rpta = new Respuesta();
        $rpta->audio = $res['audio'];
        $rpta->idInvitacion = $invit->idInvitacion;
        $rpta->idPregunta = $res['idPregunta'];
        if (!$rpta->set()) {
            Respoder(false, 'Una respuesta no se guardó', null, $rpta);
        }
    }
    $invit->respondido = true;
    $invit->video = $video;
    $invit->fchRpta = new DateTime();
    if ($invit->edit()) {
        unset($_SESSION['Respondiendo']);
        Respoder(true, 'Entrevista guardada', null);
    } else {
        Respoder(false, 'No se pudo guardar su entrevista', null, $invit);
    }
}
예제 #3
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 Respuesta();
         $objeto->set($fila);
         $r .= $objeto->getJSON() . ",";
     }
     $r = substr($r, 0, -1) . "]";
     return $r;
 }