1
0

BxBaseMenuDashboardReportsManage.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup UnaBaseView UNA Base Representation Classes
  7. * @{
  8. */
  9. /**
  10. * Menu representation.
  11. * @see BxDolMenu
  12. */
  13. class BxBaseMenuDashboardReportsManage extends BxTemplMenuCustom
  14. {
  15. protected $_aModulesList;
  16. public function __construct ($aObject, $oTemplate)
  17. {
  18. parent::__construct ($aObject);
  19. $this->_aObject['menu_id'] = 'sys-dashboard-reports-manage-menu';
  20. $this->_bShowDivider = false;
  21. $this->_bDisplayAddons = true;
  22. }
  23. public function setMenuData ($aModulesList)
  24. {
  25. $this->_aModulesList = $aModulesList;
  26. }
  27. protected function getMenuItemsRaw ()
  28. {
  29. $aResult = array();
  30. $aUrl = bx_get_base_url_inline();
  31. foreach($this->_aModulesList as $aModule){
  32. $aResult[$aModule['name']] = array(
  33. 'name' => $aModule['name'],
  34. 'title' => $aModule['title'],
  35. 'link' => bx_append_url_params($aUrl[0], array_merge($aUrl[1], array('module' => $aModule['uri']))),
  36. 'active' => true,
  37. 'addon' => serialize([
  38. 'module' => 'system',
  39. 'method' => 'get_reports_count',
  40. 'params' => [
  41. 'module' => $aModule['name'],
  42. 'status' => BX_DOL_REPORT_STASUS_NEW
  43. ],
  44. 'class' => 'TemplDashboardServices'
  45. ]),
  46. 'selected' => $aModule['selected']
  47. );
  48. }
  49. if(!empty($aResult) && is_array($aResult)){
  50. $aResult['more-auto'] = array(
  51. 'module' => 'system',
  52. 'id' => 'more-auto',
  53. 'name' => 'more-auto',
  54. 'active' => true,
  55. 'title' => '_sys_menu_item_title_va_more_auto',
  56. 'href' => 'javascript:void(0)',
  57. 'icon' => 'ellipsis-v',
  58. );
  59. }
  60. return $aResult;
  61. }
  62. protected function _isSelected ($a)
  63. {
  64. if (isset($a['selected']))
  65. return $a['selected'];
  66. return false;
  67. }
  68. }
  69. /** @} */