db->connect()->prepare("SELECT t1.id_usuario, usuario, clave, fecha, t1.estatus, t1.id_perfil, t3.descripcion as perfil, t1.id_persona, primer_nombre, segundo_nombre, primer_apellido, segundo_apellido, correo, telefono, genero, t2.id_ciudad, t6.descripcion as ciudad, t6.id_pais, t7.descripcion as pais, t4.id_documento_identidad_tipo as id_tipo_documento, t5.descripcion as tipo_documento, identificacion from usuario as t1, persona as t2, perfil as t3, persona_nacionalidad as t4, documento_identidad_tipo as t5, ciudad as t6, pais as t7 where t1.id_persona=t2.id_persona and t1.id_perfil=t3.id_perfil and t4.id_persona=t2.id_persona and t4.id_documento_identidad_tipo=t5.id_documento_identidad_tipo and t2.id_ciudad=t6.id_ciudad and t6.id_pais=t7.id_pais and t1.id_persona=:id_persona;"); $query->execute(['id_persona'=>$id]); $item=new Arcu(); //se encripta la contraseña $crypt= new SED(); while($row=$query->fetch()){ $item->id_usuario=$row['id_usuario']; $item->usuario=$row['usuario']; //se desencripta la contraseña $clave=$crypt->decryption($row['clave']); $item->clave=$clave; $item->fecha=$row['fecha']; $item->estatus=$row['estatus']; $item->id_perfil=$row['id_perfil']; $item->perfil=$row['perfil']; $item->id_persona=$row['id_persona']; $item->primer_nombre=$row['primer_nombre']; $item->segundo_nombre=$row['segundo_nombre']; $item->primer_apellido=$row['primer_apellido']; $item->segundo_apellido=$row['segundo_apellido']; $item->correo=$row['correo']; $item->telefono=$row['telefono']; $item->genero=$row['genero']; $item->id_ciudad=$row['id_ciudad']; $item->ciudad=$row['ciudad']; $item->id_pais=$row['id_pais']; $item->pais=$row['pais']; $item->id_tipo_documento=$row['id_tipo_documento']; $item->tipo_documento=$row['tipo_documento']; $item->identificacion=$row['identificacion']; } return $item; }catch(PDOException $e){ return false; } } // obtener roles public function getbyIdUsuarioInfoU($id_persona){ $items=[]; $query = $this->db->connect()->prepare("SELECT usuario_rol.id_usuario, usuario_rol.id_rol, rol.descripcion AS rol FROM rol,usuario_rol,usuario, persona WHERE usuario_rol.id_rol=rol.id_rol AND usuario_rol.id_usuario=usuario.id_usuario AND usuario.id_persona=persona.id_persona AND usuario.id_persona=:id_persona"); try{ $query ->execute(['id_persona'=>$id_persona]); while($row = $query->fetch()){ $item = new Arcu(); $item->id_usuario = $row['id_usuario']; //rol $item->id_rol = $row['id_rol']; $item->rol = $row['rol']; // var_dump($row['usuario']); array_push($items,$item); } return $items; }catch(PDOException $e){ return null; } } //rolespor id public function getRolbyID($id_persona, $id_rol){ try{ $query=$this->db->connect()->prepare("SELECT usuario_rol.id_usuario, usuario_rol.id_rol, rol.descripcion AS rol FROM rol,usuario_rol,usuario, persona WHERE usuario_rol.id_rol=rol.id_rol AND usuario_rol.id_usuario=usuario.id_usuario AND usuario.id_persona=persona.id_persona AND usuario.id_persona=:id_persona AND usuario_rol.id_rol=:id_rol"); $query->execute([ 'id_persona'=>$id_persona, 'id_rol'=>$id_rol ]); $item=new Arcu(); while($row=$query->fetch()){ $item->id_usuario = $row['id_usuario']; $item->id_rol = $row['id_rol']; $item->rol = $row['rol']; } return $item; } catch(PDOException $e){ return false; } } ////////////// funcion que llama datos de tablas catalogos /////////////// public function getCatalogo($valor){ $items=[]; try{ $query=$this->db->connect()->query("SELECT * FROM ".$valor.""); while($row=$query->fetch()){ $item=new Arcu(); $item->id=$row['id_'.$valor.'']; $item->descripcion=$row['descripcion']; array_push($items,$item); } return $items; }catch(PDOException $e){ return[]; } } /////////////////////////////////////////////////////// public function getPerfil(){ $items=[]; try{ $query=$this->db->connect()->prepare("SELECT * FROM perfil WHERE id_perfil != :id_perfil;"); $query->execute(['id_perfil'=>3]); while($row=$query->fetch()){ $item=new Arcu(); $item->id_perfil=$row['id_perfil']; $item->descripcion=$row['descripcion']; array_push($items,$item); } return $items; }catch(PDOException $e){ return[]; } } public function update($datos){ try{ //1. guardas el objeto pdo en una variable $pdo=$this->db->connect(); //2. comienzas transaccion $pdo->beginTransaction(); $persona=$pdo->prepare("UPDATE persona SET primer_nombre=:primer_nombre, segundo_nombre=:segundo_nombre, primer_apellido=:primer_apellido, segundo_apellido=:segundo_apellido, telefono=:telefono, genero=:genero, id_ciudad=:id_ciudad WHERE id_persona=:id_persona;"); $persona->execute([ 'primer_nombre'=>$datos['pnombre'], 'segundo_nombre'=>$datos['snombre'], 'primer_apellido'=>$datos['papellido'], 'segundo_apellido'=>$datos['sapellido'], 'telefono'=>$datos['telefono'], 'genero'=>$datos['genero'], 'id_ciudad'=>$datos['ciudad'], 'id_persona'=>$datos['id_persona'] ]); $persona_nacionalidad=$pdo->prepare("UPDATE persona_nacionalidad SET identificacion=:identificacion, id_documento_identidad_tipo=:id_documento_identidad_tipo WHERE id_persona=:id_persona;"); $persona_nacionalidad->execute([ 'identificacion'=>$datos['cedula'], 'id_documento_identidad_tipo'=>$datos['tipo_documento'], 'id_persona'=>$datos['id_persona'] ]); //4. consignas la transaccion (en caso de que no suceda ningun fallo) $pdo->commit(); return true; }catch(PDOException $e){ //5. regresas a un estado anterior en caso de error $pdo->rollBack(); return false; } } public function updateUser($datos){ try{ //1. guardas el objeto pdo en una variable $pdo=$this->db->connect(); //2. comienzas transaccion $pdo->beginTransaction(); //se encripta la contraseña $crypt= new SED(); $clave=$crypt->encryption($datos['clave']); $usuario=$pdo->prepare("UPDATE usuario SET usuario=:usuario, clave=:clave WHERE id_persona=:id_persona;"); $usuario->execute([ 'usuario'=>$datos['usuario'], 'clave'=>$clave, 'id_persona'=>$datos['id_persona'] ]); //4. consignas la transaccion (en caso de que no suceda ningun fallo) $pdo->commit(); return true; }catch(PDOException $e){ //5. regresas a un estado anterior en caso de error $pdo->rollBack(); return false; } } } ?>