function iniciaEncuesta($idEncuesta) { try { global $ESTADOSRESP; $base = new PDOConfig(); $idEncuesta = $base->filtrar($idEncuesta); $IPpublica = $_SERVER['REMOTE_ADDR']; if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != '') { $IPpublica = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $IPpublica = $_SERVER['REMOTE_ADDR']; } $idPeriodo = 0; $sqpPe = "SELECT idPeriodo FROM periodosrecopilacion P WHERE idEncuesta = {$idEncuesta} AND FechaInicio <= '" . date('Y-m-d') . "'" . " AND (FechaFin >= '" . date('Y-m-d') . "' OR FechaFin is null)"; if ($resPe = $base->query($sqpPe)) { if ($resPe->rowCount() > 0) { $datos = $resPe->fetch(PDO::FETCH_ASSOC); $idPeriodo = $datos["idPeriodo"]; } else { return "<div class='alert alert-danger'><button class='close' data-dismiss='alert' type='button'>x</button><strong></strong>\r\n\t\t\tNo se encontró un periodo activo para participar de la encuesta</div>"; } } $sql = " INSERT INTO respuestas(idEncuesta,FechaHoraInicio,IP,idEstado,idPeriodo) " . " VALUES({$idEncuesta},NOW(),'{$IPpublica}'," . $ESTADOSRESP["INCOMPLETA"] . ",{$idPeriodo})"; //return $sql; if ($res = $base->query($sql)) { return $base->lastInsertId(); } else { return "<div class='alert alert-danger'><button class='close' data-dismiss='alert' type='button'>x</button><strong></strong>\r\n\t\t\t\t\tError al iniciar la encuesta</div>"; } } catch (Exception $e) { return "<div class='alert alert-danger'><button class='close' data-dismiss='alert' type='button'>x</button><strong></strong>\r\n\t\t\t\tError al consultar la base de datos</div>"; } }
echo false; } } else { echo false; } } else { if (isset($name) && isset($password) && isset($cellphone) && isset($gender) && isset($password2) && $password == $password2) { $sql = "select cellphone from member where cellphone =:cellphone"; $query = $db->prepare($sql); $query->execute(array(':cellphone' => $cellphone)); $result = $query->fetchColumn(); if ($result) { echo "re"; //註冊帳號重複 } else { $sql = "INSERT INTO member (cellphone, name, gender, password) VALUES (:cellphone, :name, :gender, :password)"; $query = $db->prepare($sql); $query->execute(array('cellphone' => $cellphone, 'name' => $name, 'gender' => $gender, 'password' => $password)); $_SESSION['mem_id'] = $db->lastInsertId(); $_SESSION['cellphone'] = $cellphone; $_SESSION['member_name'] = $name; if ($db->lastInsertId() != null) { echo true; } else { echo false; } } } else { echo "bo"; } }
function actEncuesta($titulo, $tema, $tipo, $descripcion, $usuario, $fechalimite, $horaLimite, $tieneClave, $mostrarRe, $claveAcc, $cantAcc, $proposito, $poblacion, $txtCarMu, $idEncuesta, $bloquearIP, $tags) { try { $base = new PDOConfig(); $titulo = $base->filtrar($titulo); $idTema = $base->filtrar($tema); $tipo = $base->filtrar($tipo); $descripcion = $base->filtrar($descripcion); $proposito = $base->filtrar($proposito); $poblacion = $base->filtrar($poblacion); $txtCarMu = $base->filtrar($txtCarMu); $fechalimite = $base->filtrar($fechalimite); $horaLimite = $base->filtrar($horaLimite); $tieneClave = $base->filtrar($tieneClave); $mostrarRe = $base->filtrar($mostrarRe); $claveAcc = $base->filtrar($claveAcc); $cantAcc = $base->filtrar($cantAcc); $tags = $base->filtrar($tags); if ($fechalimite != "") { $fechalimite = "'" . formatFecha($fechalimite) . "'"; } else { $fechalimite = 'NULL'; } if ($horaLimite != "") { $horaLimite = "'{$horaLimite}'"; } else { $horaLimite = 'NULL'; } if ($cantAcc == "") { $cantAcc = 'NULL'; } $ArrTags = explode(",", $tags); $fecha = date('Y-m-d'); $base->beginTransaction(); $sqlIn = "DELETE FROM tagsencuesta WHERE idEncuesta = {$idEncuesta}"; if (!$base->query($sqlIn)) { $base->rollBack(); return false; } $sql = " UPDATE encuestas SET idTema={$idTema},idTipoEncuesta={$tipo},\r\n\t\t Titulo = '{$titulo}',Descripcion='{$descripcion}',FechaLimite={$fechalimite},HoraLimite={$horaLimite},\r\n\t\t CantMaxAccesos={$cantAcc},ClaveAcceso='{$claveAcc}',TieneClave={$tieneClave},MostrarResultados={$mostrarRe},\r\n\t\t\t\tProposito='{$proposito}',Poblacion='{$poblacion}',CaractecisticasMuestra='{$txtCarMu}',BloquearIP={$bloquearIP}\r\n\t\t\t\tWHERE idEncuesta = {$idEncuesta}"; //return $sql; if ($res = $base->query($sql)) { foreach ($ArrTags as $a) { $idT = 0; $sqlIn = "SELECT idtag,Tag FROM tagsbusqueda WHERE Tag='{$a}'"; if ($resT = $base->query($sqlIn)) { if ($resT->rowCount() > 0) { $da = $resT->fetch(PDO::FETCH_ASSOC); $idT = $da["idtag"]; } else { $sqlInT = "INSERT INTO tagsbusqueda(Tag) VALUES ('{$a}')"; if ($base->query($sqlInT)) { $idT = $base->lastInsertId(); } else { $base->rollBack(); return false; } } } else { $base->rollBack(); return false; } if ($idT > 0) { $sqlInT = "INSERT INTO tagsencuesta(idEncuesta,idTag) VALUES ({$idEncuesta},{$idT})"; if (!$base->query($sqlInT)) { $base->rollBack(); return false; } } } $base->commit(); return true; } else { $base->rollBack(); return false; } } catch (Exception $e) { $base->rollBack(); return false; } }
function bajarIntegranteGrupo($idGrupo, $idusuario, $nomGrupo) { try { $base = new PDOConfig(); $idGrupo = $base->filtrar($idGrupo); $idusuario = $base->filtrar($idusuario); $nomUsuario = ""; $base->beginTransaction(); $sql = "DELETE FROM usuariosgrupos WHERE idUsuario = {$idusuario} AND idGrupo={$idGrupo}"; //return $sql; if ($res = $base->query($sql)) { $sql = "SELECT Apellido, Nombre FROM usuarios WHERE idUsuario = {$idusuario}"; if ($resel = $base->query($sql)) { $row = $resel->fetch(PDO::FETCH_ASSOC); $nomUsuario = $row["Apellido"] . " " . $row["Nombre"]; } $mensaje = "Se ha dado de baja al grupo {$nomGrupo} al usuario: <b>{$nomUsuario}</b>. <br />"; $sql = "INSERT INTO notificaciones(FechaCarga,idUsuario,Titulo,Mensaje) VALUES ('" . date("Y-m-d") . "',{$idusuario},'UNCSurveys: Nuevo Integrante Grupo','{$mensaje}')"; //return $sql; $res = $base->query($sql); if ($res) { $idNot = $base->lastInsertId(); $sqlD = "INSERT INTO destinatariosnotificacion(idNotificacion,idUsuario,Leido) " . "SELECT {$idNot},idUsuario,0 FROM usuariosgrupos WHERE idGrupo = {$idGrupo} AND idUsuario <> {$idusuario}" . " UNION SELECT {$idNot},idAdministrador,0 FROM grupos WHERE idGrupo = {$idGrupo}"; //return $sqlD; $resD = $base->query($sqlD); if ($resD) { $base->commit(); return "1"; } else { $base->rollBack(); return "<div class='alert alert-danger'><button class='close' data-dismiss='alert' type='button'>x</button><strong></strong>\r\n Error al cargar la notificación</div>"; } } else { $base->rollBack(); return "<div class='alert alert-danger'><button class='close' data-dismiss='alert' type='button'>x</button><strong></strong>\r\n Error al cargar la notificación</div>"; } } else { return "<div class='alert alert-danger'><button class='close' data-dismiss='alert' type='button'>x</button><strong></strong> \r\n Error al activar el usuario</div>"; } } catch (Exception $e) { return "<div class='alert alert-danger'><button class='close' data-dismiss='alert' type='button'>x</button><strong></strong>\r\n Error al consultar la base de datos</div>"; } }
function nuevaPregunta($idEncuesta, $idPagina, $nroPregunta, $tipoPregunta, $pregunta, $opciones, $obligatorio, $columnas, $valores, $usuario, $escala, $formato, $vmin, $vmax, $analisis, $opciones2, $diferencial, $ordenOpciones) { try { $base = new PDOConfig(); $nroPregunta = $base->filtrar($nroPregunta); $tipoPregunta = $base->filtrar($tipoPregunta); $pregunta = $base->filtrar($pregunta); $obligatorio = $base->filtrar($obligatorio); $escala = $base->filtrar($escala); $formato = $base->filtrar($formato); $vmin = $base->filtrar($vmin); $vmax = $base->filtrar($vmax); $diferencial = $base->filtrar($diferencial); if ($escala == "" || $escala == "-1") { $escala = 'NULL'; } if ($formato == "" || $formato == "-1") { $formato = 'NULL'; } if ($diferencial == "" || $diferencial == "-1") { $diferencial = 'NULL'; } if ($vmin == "") { $vmin = 'NULL'; } else { $vmin = "'{$vmin}'"; } if ($vmax == "") { $vmax = 'NULL'; } else { $vmax = "'{$vmax}'"; } $idPreg = 0; $base->beginTransaction(); $sql = " SELECT MAX(NroPregunta) AS maxNro FROM preguntasencuestas WHERE idEncuesta = {$idEncuesta}"; $resp = $base->query($sql); $rowMax = $resp->fetch(PDO::FETCH_ASSOC); if ($rowMax['maxNro'] != "") { $max = $rowMax['maxNro']; $max++; } else { $max = 1; } if ($resp) { $sql = " INSERT INTO preguntasencuestas(idEncuesta,idPagina,idTipoPregunta,RespuestaObligatoria,\r\n\t\t\t Texto,NroPregunta,idEscala,ValorMinimo,ValorMaximo,idFormato,incluirAnalisis,Diferencial) VALUES\r\n\t\t\t({$idEncuesta},{$idPagina},{$tipoPregunta},{$obligatorio},'{$pregunta}',{$max},{$escala},{$vmin},{$vmax},{$formato},{$analisis},{$diferencial})"; //echo $sql; if ($base->query($sql)) { $idPreg = $base->lastInsertId(); if ($idPreg > 0) { switch ($tipoPregunta) { case "1": if ($escala == "1") { if (!agregarOpciones($base, $idPreg, $opciones)) { $base->rollBack(); return "<div class='form-group has-error col-md-8'>\r\n <input type='text' class='form-control' id='error1' readonly='readonly' value='Error: no se han podido cargar las opciones'>\r\n </div>"; } } else { if (!agregarOpcionesOrden($base, $idPreg, $opciones, $ordenOpciones)) { $base->rollBack(); return "<div class='form-group has-error col-md-8'>\r\n <input type='text' class='form-control' id='error1' readonly='readonly' value='Error: no se han podido cargar las opciones'>\r\n </div>"; } } break; case "2": if (!agregarOpciones($base, $idPreg, $opciones)) { $base->rollBack(); return "<div class='form-group has-error col-md-8'>\r\n <input type='text' class='form-control' id='error1' readonly='readonly' value='Error: no se han podido cargar las opciones'>\r\n </div>"; } break; case "3": if (!agregarOpciones($base, $idPreg, $opciones)) { $base->rollBack(); return "<div class='form-group has-error col-md-8'>\r\n <input type='text' class='form-control' id='error1' readonly='readonly' value='Error: no se han podido cargar las opciones'>\r\n </div>"; } if (!agregarColumnas($base, $idPreg, $columnas, $valores)) { $base->rollBack(); return "<div class='form-group has-error col-md-8'>\r\n <input type='text' class='form-control' id='error1' readonly='readonly' value='Error: no se han podido cargar las opciones'>\r\n </div>"; } break; case "4": if (!agregarOpciones($base, $idPreg, $opciones)) { $base->rollBack(); return "<div class='form-group has-error col-md-8'>\r\n <input type='text' class='form-control' id='error1' readonly='readonly' value='Error: no se han podido cargar las opciones'>\r\n </div>"; } if (!agregarColumnas($base, $idPreg, $columnas, $valores)) { $base->rollBack(); return "<div class='form-group has-error col-md-8'>\r\n <input type='text' class='form-control' id='error1' readonly='readonly' value='Error: no se han podido cargar las opciones'>\r\n </div>"; } break; case "5": if (!agregarOpciones($base, $idPreg, $opciones)) { $base->rollBack(); return "<div class='form-group has-error col-md-8'>\r\n <input type='text' class='form-control' id='error1' readonly='readonly' value='Error: no se han podido cargar las opciones'>\r\n </div>"; } if (!agregarColumnas($base, $idPreg, $columnas, $valores)) { $base->rollBack(); return "<div class='form-group has-error col-md-8'>\r\n <input type='text' class='form-control' id='error1' readonly='readonly' value='Error: no se han podido cargar las opciones'>\r\n </div>"; } break; case "7": if (!agregarOpciones($base, $idPreg, $opciones)) { $base->rollBack(); return "<div class='form-group has-error col-md-8'>\r\n <input type='text' class='form-control' id='error1' readonly='readonly' value='Error: no se han podido cargar las opciones'>\r\n </div>"; } break; case "11": if (!agregarOpcionesDF($base, $idPreg, $opciones, $opciones2)) { $base->rollBack(); return "<div class='form-group has-error col-md-8'>\r\n <input type='text' class='form-control' id='error1' readonly='readonly' value='Error: no se han podido cargar las opciones'>\r\n </div>"; } break; case "12": if (!agregarOpciones($base, $idPreg, $opciones)) { $base->rollBack(); return "<div class='form-group has-error col-md-8'>\r\n <input type='text' class='form-control' id='error1' readonly='readonly' value='Error: no se han podido cargar las opciones'>\r\n </div>"; } break; } $base->commit(); return $idPreg; } else { $base->rollBack(); return "<div class='form-group has-error col-md-8'>\r\n\t <input type='text' class='form-control' id='error1' readonly='readonly' value='Error: no se ha podido cargar la pregunta'>\r\n\t </div>"; } } else { $base->rollBack(); return "<div class='form-group has-error col-md-8'>\r\n\t <input type='text' class='form-control' id='error1' readonly='readonly' value='Error: no se ha podido cargar la pregunta'>\r\n\t </div>"; } } else { return "<div class='form-group has-error col-md-8'>\r\n <input type='text' class='form-control' id='error1' readonly='readonly' value='Error: el nro de pregunta ingresado ya existe'>\r\n </div>"; } } catch (Exception $e) { // cierro el try de la conexion return "<div class='form-group has-error col-md-8'>\r\n <input type='text' class='form-control' id='error2' value='Error al conectar a la Base de Datos'>\r\n </div>"; } }