function UsuarioNuevo() { global $files_url, $photo_default; $user = new Usuario(); if (($user->dni = filter_input(INPUT_POST, 'dni', FILTER_VALIDATE_INT)) && ($user->nombres = filter_input(INPUT_POST, 'nombres', FILTER_SANITIZE_STRING)) && ($user->apellidos = filter_input(INPUT_POST, 'apellidos', FILTER_SANITIZE_STRING)) && ($user->email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL)) && ($user->pass = filter_input(INPUT_POST, 'pass', FILTER_SANITIZE_STRING)) && ($user->tipo = filter_input(INPUT_POST, 'tipo', FILTER_SANITIZE_STRING))) { if ($user->tipo == 'A' || $user->tipo == 'B') { $u_aux = new Usuario(); $u_aux->get('dni', $user->dni); if (!$u_aux->md_estado) { $u_aux->get('email', $user->email); if (!$u_aux->md_estado) { $user->foto = $photo_default; $user->documento = ''; $user->set(); if ($user->md_estado) { $inv = new Invitacion(); $invs = $inv->searchEmail($user->email); foreach ($invs as $key => $val) { $val->idUsuario = $user->idUsuario; $val->edit(); } session_start(); $_SESSION['Usuario'] = $user->toArray(); $mail = new edoMailer(); $mail->sendBienvenida($user->toArray()); Respoder(true, 'Usuario registrado', $mail->mensaje, '/perfil'); } else { Respoder(false, $user->md_mensaje, $user->md_detalle); } } else { Respoder(false, 'Este email ya está en uso', null); } } else { Respoder(false, 'Este DNI ya está en uso', null); } } else { Respoder(false, 'Error al recibir los parámetros', null); } } else { Respoder(false, 'Error al recibir los parámetros', null); } }
function CalificarInvitacion() { 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); } $Invitacion = new Invitacion(); $Respuestas; $Puntajes; if (!(($Invitacion->idInvitacion = filter_input(INPUT_POST, 'idInvitacion', FILTER_VALIDATE_INT)) && ($Puntajes = filter_input(INPUT_POST, 'respuestas')))) { Respoder(false, 'Error al recibir parámetros', null); } $Puntajes = json_decode($Puntajes); if (is_null($Puntajes)) { Respoder(false, 'Error de JSON', 'No se pudo procesar el JSON recibido'); } if (!$Invitacion->get('idInvitacion', $Invitacion->idInvitacion)) { Respoder(false, 'No se encontró la invitacion', ''); } $Respuestas = (new Respuesta())->search($Invitacion->idInvitacion); if (count($Puntajes) != count($Respuestas)) { Respoder(false, 'Cantidades incorrectas', '', $Respuestas); } $rpp = array(); foreach ($Puntajes as $keyPunt => $valPunt) { $encon = false; foreach ($Respuestas as $keyResp => $valResp) { if ($valResp->idRespuesta == $valPunt->idRespuesta) { $encon = true; $valResp->puntaje = $valPunt->puntaje; array_push($rpp, $valResp); break; } } if (!$encon) { Respoder(false, 'No se encontró idRespuesta: ' . $keyPunt, ''); } } $acum = 0; foreach ($rpp as $key => $value) { $acum += $value->puntaje; if (!$value->edit()) { Respoder(false, 'Error al actualizar Rpta: ' . $value->idRespuesta, '', $value); } } $Invitacion->evaluado = true; $Invitacion->puntaje = $acum / count($Respuestas); $Invitacion->fchEval = new DateTime(); if ($Invitacion->edit()) { Respoder(true, 'Respuestas calificadas', ''); } else { Respoder(false, 'Error al actualizar invitacion: ', ''); } }
function EnviarInvitaciones() { session_start(); if (!isset($_SESSION['Usuario'])) { Respoder(false, 'Debe iniciar sesión', null); } $entre = new Entrevista(); if (!($entre->idEntrevista = filter_input(INPUT_POST, 'idEntrevista', FILTER_VALIDATE_INT))) { Respoder(false, 'Error al recibir parámetros', null); } if (!$entre->get($entre->idEntrevista)) { Respoder(false, 'No se encontró la entrevista', null); } if ($entre->idUsuario != $_SESSION['Usuario']['idUsuario']) { Respoder(false, 'No está autorizado', null); } if (!($invitaciones = filter_input(INPUT_POST, 'invitaciones'))) { Respoder(false, 'Error al recibir parámetros 2', null); } $invitaciones = json_decode($invitaciones); if (is_null($invitaciones)) { Respoder(false, 'Error al recibir invitaciones', null); } $invError = array(); $mail = new edoMailer(); foreach ($invitaciones as $val) { $inv = new Invitacion(); $inv->email = $val->email; $inv->nombres = $val->nombres; $inv->apellidos = $val->apellidos; $inv->idEntrevista = $entre->idEntrevista; if (isset($val->idUsuario) && strlen($val->idUsuario) > 0) { $inv->idUsuario = $val->idUsuario; } else { $inv->idUsuario = null; } if (!$inv->set()) { array_push($invError, array('email' => $inv->email, 'error' => $inv->md_mensaje)); } else { $datos = array('email' => $inv->email, 'nombres' => $inv->nombres, 'apellidos' => $inv->apellidos, 'titulo' => $entre->titulo, 'fchInicio' => $entre->fchInicio->format(Entrevista::$fchFtoMail), 'fchFin' => $entre->fchFin->format(Entrevista::$fchFtoMail)); if (is_null($inv->idUsuario)) { $datos['codigo'] = sha1($inv->idInvitacion); } if (!$mail->sendInvitacion($datos)) { array_push($invError, array('email' => $inv->email, 'error' => $mail->mensaje)); } } } Respoder(true, 'Invitaciones enviadas', null, $invError); }