AbstractRowset.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. /**
  3. *
  4. * PHP Pro Bid $Id$ vOOg3PYitcU95OjDsns66VwbooLGASuhP70wdbJuvgE=
  5. *
  6. * @link http://www.phpprobid.com
  7. * @copyright Copyright (c) 2014 Online Ventures Software LTD & CodeCube SRL
  8. * @license http://www.phpprobid.com/license Commercial License
  9. *
  10. * @version 7.0
  11. */
  12. /**
  13. * abstract rowset class
  14. */
  15. namespace Ppb\Db\Table\Rowset;
  16. use Cube\Db\Table\Rowset\AbstractRowset as CubeAbstractRowset,
  17. Cube\Controller\Front,
  18. Ppb\Db\Table\Row\User as UserModel;
  19. class AbstractRowset extends CubeAbstractRowset
  20. {
  21. /**
  22. *
  23. * logged in user model
  24. *
  25. * @var \Ppb\Db\Table\Row\User
  26. */
  27. protected $_user;
  28. /**
  29. *
  30. * settings array
  31. *
  32. * @var array
  33. */
  34. protected $_settings;
  35. /**
  36. *
  37. * get user model
  38. *
  39. * @return \Ppb\Db\Table\Row\User
  40. */
  41. public function getUser()
  42. {
  43. if (!$this->_user instanceof UserModel) {
  44. $user = Front::getInstance()->getBootstrap()->getResource('user');
  45. if ($user instanceof UserModel) {
  46. $this->setUser(
  47. $user);
  48. }
  49. }
  50. return $this->_user;
  51. }
  52. /**
  53. *
  54. * set the user model of the currently logged in user
  55. *
  56. * @param \Ppb\Db\Table\Row\User $user
  57. * @return $this
  58. */
  59. public function setUser(UserModel $user)
  60. {
  61. $this->_user = $user;
  62. return $this;
  63. }
  64. /**
  65. *
  66. * get settings array
  67. *
  68. * @return array
  69. */
  70. public function getSettings()
  71. {
  72. if (!is_array($this->_settings)) {
  73. $this->setSettings(
  74. Front::getInstance()->getBootstrap()->getResource('settings'));
  75. }
  76. return $this->_settings;
  77. }
  78. /**
  79. *
  80. * set the settings array
  81. *
  82. * @param array $settings
  83. * @return $this
  84. */
  85. public function setSettings(array $settings)
  86. {
  87. $this->_settings = $settings;
  88. return $this;
  89. }
  90. }