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; }*/ }