Usuario.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace app\models;
  3. use oxusmedia\webAppMulti\webApp;
  4. class Usuario
  5. {
  6. public $id, $nombre, $email, $role;
  7. public function __construct($id = null)
  8. {
  9. if ($id == null)
  10. $id = webApp::app()->getUsuarioId();
  11. $usuario = webApp::app()->db()->queryRow('SELECT * FROM usuarios WHERE id = :id', array(
  12. 'id' => $id
  13. ));
  14. if ($usuario) {
  15. $this->id = $usuario->id;
  16. $this->nombre = $usuario->nombre;
  17. $this->email = $usuario->email;
  18. $this->role = $usuario->role;
  19. return true;
  20. }
  21. return false;
  22. }
  23. public function getCuentas()
  24. {
  25. $db = webApp::app()->db();
  26. $cuentas = $db->query('SELECT cuentas.*, usuarioscuentas.role FROM usuarioscuentas LEFT JOIN cuentas ON usuarioscuentas.cuenta_id = cuentas.id WHERE usuarioscuentas.usuario_id = :usuario_id ORDER BY cuenta', array(
  27. 'usuario_id' => $this->id
  28. ));
  29. $ctas = array();
  30. while ($cuenta = $db->getRow($cuentas)) {
  31. $cta = new Cuenta();
  32. $cta->id = $cuenta->id;
  33. $cta->cuenta = $cuenta->cuenta;
  34. $cta->role = $this->role == webApp::ROLE_ADMIN ? webApp::ROLE_ADMIN : $cuenta->role;
  35. $ctas[] = $cta;
  36. }
  37. return $ctas;
  38. }
  39. }