CuentaSel.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace app\models;
  3. use oxusmedia\webAppMulti\webApp;
  4. class CuentaSel
  5. {
  6. static public function select($id)
  7. {
  8. $cuenta = webApp::app()->db()->queryRow('SELECT cuentas.*, usuarioscuentas.role FROM usuarioscuentas LEFT JOIN cuentas ON cuentas.id = usuarioscuentas.cuenta_id WHERE usuarioscuentas.usuario_id = :usuario_id AND usuarioscuentas.cuenta_id = :cuenta_id', array(
  9. 'usuario_id' => webApp::app()->getUsuarioId(),
  10. 'cuenta_id' => $id,
  11. ));
  12. if ($cuenta and $cuenta->role != CuentaRole::ROLE_NONE) {
  13. $_SESSION['cuenta_sel_id'] = $cuenta->id;
  14. return true;
  15. }
  16. return false;
  17. }
  18. static public function getSelected()
  19. {
  20. static $cuentaSel;
  21. if ($cuentaSel)
  22. return $cuentaSel;
  23. if (isset($_SESSION['cuenta_sel_id'])) {
  24. $cuenta = webApp::app()->db()->queryRow('SELECT cuentas.*, usuarioscuentas.role FROM usuarioscuentas LEFT JOIN cuentas ON cuentas.id = usuarioscuentas.cuenta_id WHERE usuarioscuentas.usuario_id = :usuario_id AND usuarioscuentas.cuenta_id = :cuenta_id', array(
  25. 'usuario_id' => webApp::app()->getUsuarioId(),
  26. 'cuenta_id' => $_SESSION['cuenta_sel_id']
  27. ));
  28. if ($cuenta) {
  29. $cuentaSel = new Cuenta();
  30. $cuentaSel->id = $_SESSION['cuenta_sel_id'];
  31. $cuentaSel->cuenta = $cuenta->cuenta;
  32. $cuentaSel->role = webApp::app()->getRole() == webApp::ROLE_ADMIN ? webApp::ROLE_ADMIN : $cuenta->role;
  33. return $cuentaSel;
  34. }
  35. }
  36. return false;
  37. }
  38. }