123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273 |
- <?php
- class Usuario {
- public static function datosUsuario($pdo, $user, $pass, $externo){
- $usr = array();
- try {
- if ($externo)
- $stmt = $pdo->prepare('SELECT * FROM ei_fs_validausuario(:user,:pass,TRUE) ORDER BY orden');
- else
- $stmt = $pdo->prepare('SELECT * FROM ei_fs_validausuario(:user,:pass,FALSE) ORDER BY orden');//El user es el ID interno
- $stmt->bindParam(':user', $user);
- $stmt->bindParam(':pass', $pass);
- if($stmt->execute()){
- $usr_rs = $stmt->fetch();
- if ($usr_rs)
- $usr = $usr_rs;
- }
- } catch (\PDOException $ex) {}
- $stmt->closeCursor();
- $stmt = null;
- return $usr;
- }
-
- public static function datosExterno($pdo,$externo){
- $usr = array();
- try {
- $stmt = $pdo->prepare('SELECT * FROM ei_fs_datosexterno(:user)');
- $stmt->bindParam(':user', $externo);
- if($stmt->execute())
- $usr = $stmt->fetch();
- } catch (\PDOException $ex) {}
- $stmt->closeCursor();
- $stmt = null;
- return $usr;
- }
-
- public static function buscaExterno($pdo,$externo,$idrol = 0, $incluir = true){
- $usr = array();
- try {
- if ($idrol == 0)
- $stmt = $pdo->prepare('SELECT * FROM ei_fs_buscaexterno(:user,null,:incluir)');
- else {
- $stmt = $pdo->prepare('SELECT * FROM ei_fs_buscaexterno(:user,:rol,:incluir)');
- $stmt->bindParam(':rol', $idrol);
- }
- $stmt->bindParam(':user', $externo);
- $stmt->bindParam(':incluir',$incluir, PDO::PARAM_BOOL);
- if($stmt->execute())
- $usr = $stmt->fetchAll();
- } catch (\PDOException $ex) {}
- $stmt->closeCursor();
- $stmt = null;
- return $usr;
- }
-
- public static function getUsuarioxId($pdo, $user){
- $usuario = array();
- try {
- $stmt = $pdo->prepare('SELECT * FROM ei_fs_usuario(:user)');
- $stmt->bindParam(':user', $user);
- if($stmt->execute())
- $usuario = $stmt->fetch();
- } catch (\PDOException $ex) {}
- $stmt->closeCursor();
- $stmt = null;
- return $usuario;
- }
-
- public static function getNombreUsuario($pdo, $user){
- $usuario = array();
- try {
- $stmt = $pdo->prepare('SELECT * FROM ei_fs_nombreusuario(:user)');
- $stmt->bindParam(':user', $user);
- if($stmt->execute())
- $usuario = $stmt->fetch();
- } catch (\PDOException $ex) {}
- $stmt->closeCursor();
- $stmt = null;
- return $usuario;
- }
-
- /********** ROLES **********/
- /*public static function getRolesUsuario($pdo, $user, $concurso){
- $roles = array();
- try {
- $stmt = $pdo->prepare('SELECT * FROM ei_fs_rolesusuario(:user,:concurso)');
- $stmt->bindParam(':user', $user);
- $stmt->bindParam(':concurso', $concurso);
- if($stmt->execute())
- $roles = $stmt->fetchAll();
- } catch (\PDOException $ex) {}
- $stmt->closeCursor();
- $stmt = null;
- return $roles;
- }
-
- public static function getUsuariosXRol($pdo, $rol){
- $usuarios = array();
- try {
- $stmt = $pdo->prepare('SELECT * FROM ei_fs_usuarioxrol(:rol)');
- $stmt->bindParam(':rol', $rol);
- if($stmt->execute())
- $usuarios = $stmt->fetchAll();
- } catch (\PDOException $ex) {}
- $stmt->closeCursor();
- $stmt = null;
- return $usuarios;
- }*/
-
- public static function getIdRol($pdo, $rol){
- $roles = array();
- try {
- $stmt = $pdo->prepare('SELECT * FROM ei_fs_rolbusca(:rol)');
- $stmt->bindParam(':rol', $rol);
- if($stmt->execute())
- $roles = $stmt->fetch();
- } catch (\PDOException $ex) {}
- $stmt->closeCursor();
- $stmt = null;
- return $roles;
- }
-
- public static function tieneRol($pdo, $usr, $rol, $concurso=0){
- $tiene = false;
- try {
- $stmt = $pdo->prepare('SELECT * FROM ei_fs_tienerol(:usr,:rol,:concurso)');
- $stmt->bindParam(':usr', $usr);
- $stmt->bindParam(':rol', $rol);
- $stmt->bindParam(':concurso', $concurso);
- if($stmt->execute()){
- $temp = $stmt->fetch();
- $tiene = $temp['tiene'];
- }
- } catch (\PDOException $ex) {}
- $stmt->closeCursor();
- $stmt = null;
- return $tiene;
- }
-
- public static function agregaUsuarioRol($pdo, $idusr, $rol, $concurso=null){
- $usrAgregado = false;
- try {
- if (!is_null($concurso)) {
- $stmt = $pdo->prepare('SELECT * FROM ei_fi_usuariorol(:usr,:rol,:concurso)');
- $stmt->bindParam(':concurso', $concurso);
- } else
- $stmt = $pdo->prepare('SELECT * FROM ei_fi_usuariorol(:usr,:rol,null)');
- $stmt->bindParam(':usr', $idusr);
- $stmt->bindParam(':rol', $rol);
- if($stmt->execute()){
- $temp = $stmt->fetch();
- $usrAgregado = true;
- }
- } catch (\PDOException $ex) {}
- $stmt->closeCursor();
- $stmt = null;
- return $usrAgregado;
- }
-
- public static function eliminaUsuario($pdo, $idusr){
- $eliminado = false;
- try {
- $stmt = $pdo->prepare('SELECT * FROM ei_fd_usuario(:usr)');
- $stmt->bindParam(':usr', $idusr);
- if($stmt->execute()){
- $temp = $stmt->fetch();
- $eliminado = true;
- }
- } catch (\PDOException $ex){
- $eliminado = false;
- }
- $stmt->closeCursor();
- $stmt = null;
- return $eliminado;
- }
-
- /********** INTERNOS / INSERT - UPDATE **********/
- private static function agregaUsuarioInterno($pdo, $interno){
- $usr = 0;
- try {
- $stmt = $pdo->prepare('SELECT * FROM ei_fi_usuario(:usr, FALSE)');
- $stmt->bindParam(':usr', $interno);
- if($stmt->execute()){
- $temp = $stmt->fetch();
- $usr = $temp['ei_fi_usuario'];
- }
- } catch (\PDOException $ex) {}
- $stmt->closeCursor();
- $stmt = null;
- return $usr;
- }
-
- public static function agregaUsuarioNuevoInterno ($pdo, $usr, $rolNomb, $concurso=null){
- $idusr = self::agregaUsuarioInterno($pdo, $usr);
- if ($idusr != 0){
- $rol = self::getIdRol($pdo, $rolNomb);
- if (count($rol) > 0)
- if(!self::agregaUsuarioRol($pdo, $idusr, $rol['idrol'], $concurso))
- $idusr = 0;
- }
- return $idusr;
- }
-
- /********** EXTERNOS / INSERT - UPDATE **********/
- private static function agregaUsuarioExterno($pdo, $externo){
- $usr = 0;
- try {
- $stmt = $pdo->prepare('SELECT * FROM ei_fi_usuario(:usr, TRUE)');
- $stmt->bindParam(':usr', $externo);
- if($stmt->execute()){
- $temp = $stmt->fetch();
- $usr = $temp['ei_fi_usuario'];
- }
- } catch (\PDOException $ex) {}
- $stmt->closeCursor();
- $stmt = null;
- return $usr;
- }
-
- private static function agregaNuevoExterno($pdo, $nombre, $apellidos, $carrera, $email){
- $usr = 0;
- try {
- if (empty($carrera))
- $stmt = $pdo->prepare('SELECT * FROM ei_fi_externo(:nombre, :apellidos, null,:email)');
- else {
- $stmt = $pdo->prepare('SELECT * FROM ei_fi_externo(:nombre, :apellidos, :carrera, :email)');
- $stmt->bindParam(':carrera', $carrera);
- }
- $stmt->bindParam(':nombre', $nombre);
- $stmt->bindParam(':apellidos', $apellidos);
- $stmt->bindParam(':email', $email);
- if($stmt->execute()){
- $temp = $stmt->fetch();
- $usr = $temp['ei_fi_externo'];
- }
- } catch (\PDOException $ex) {}
- $stmt->closeCursor();
- $stmt = null;
- return $usr;
- }
-
- public static function agregaUsuarioNuevoExterno($pdo, $nombre, $apellidos, $carrera, $email, $rolNomb, $concurso=null){
- $usr = self::agregaNuevoExterno($pdo, $nombre, $apellidos, $carrera, $email);
- $idusr = self::agregaUsuarioExterno($pdo, $usr);
- if ($idusr != 0){
- $rol = self::getIdRol($pdo, $rolNomb);
- if (count($rol) > 0)
- if(!self::agregaUsuarioRol($pdo, $idusr, $rol['idrol'], $concurso))
- $idusr = 0;
- }
- return $idusr;
- }
-
- /********** CONSTANCIAS **********/
- /*public static function usuariosTipo($pdo, $tipo, $concurso) {
- $usuarios = array();
- try {
- switch (mb_strtoupper($tipo)){
- case 'PARTICIPANTES': case 'PARTICIPANTE': $stmt = $pdo->prepare('SELECT * FROM ei_fs_alumnosparticipantes(:concurso)'); break;
- case 'ASESORES': case 'ASESOR': $stmt = $pdo->prepare('SELECT * FROM ei_fs_asesoresfinalistas(:concurso)'); break;
- case 'GANADORES': case 'GANADOR': $stmt = $pdo->prepare('SELECT * FROM ei_fs_alumnosganadores(:concurso)'); break;
- case 'EVALUADORES': case 'EVALUADOR': $stmt = $pdo->prepare('SELECT * FROM ei_fs_comiteevaluador(:concurso)'); break;
- case 'ORGANIZADORES': case 'ORGANIZADOR': $stmt = $pdo->prepare('SELECT * FROM ei_fs_comiteorganizador(:concurso)'); break;
- case 'COMUNIDAD': $stmt = $pdo->prepare('SELECT * FROM ei_fs_comunidad(:concurso)'); break;
- }
- $stmt->bindParam(':concurso', $concurso);
- if($stmt->execute())
- $usuarios = $stmt->fetchAll();
- } catch (\PDOException $ex) {}
- $stmt->closeCursor();
- $stmt = null;
- return $usuarios;
- }*/
- }
|