BxBaseMenuDashboardReportsManage.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. public function __construct ($aObject, $oTemplate)
  16. {
  17. parent::__construct ($aObject);
  18. $this->_aObject['menu_id'] = 'sys-dashboard-reports-manage-menu';
  19. $this->_bShowDivider = false;
  20. $this->_bDisplayAddons = true;
  21. }
  22. protected function getMenuItemsRaw ()
  23. {
  24. $aResult = array();
  25. $aUrl = bx_get_base_url_inline();
  26. $aSystems = BxDolReport::getSystems();
  27. $sSelected = bx_get('object');
  28. if ($sSelected == ''){
  29. $sSelected = reset($aSystems)['name'];
  30. }
  31. foreach($aSystems as $aSystem){
  32. $sName = $aSystem['name'];
  33. $aResult[$sName] = array(
  34. 'name' => $sName,
  35. 'title' => _t('_' . $sName),
  36. 'link' => bx_append_url_params($aUrl[0], array_merge($aUrl[1], array('object' => $sName))),
  37. 'active' => true,
  38. 'addon' => serialize([
  39. 'module' => 'system',
  40. 'method' => 'get_reports_count',
  41. 'params' => [
  42. 'module' => $sName,
  43. 'status' => BX_DOL_REPORT_STASUS_NEW
  44. ],
  45. 'class' => 'TemplDashboardServices'
  46. ]),
  47. 'selected' => $sSelected == $sName ? true : false
  48. );
  49. }
  50. if(!empty($aResult) && is_array($aResult)){
  51. $aResult['more-auto'] = array(
  52. 'module' => 'system',
  53. 'id' => 'more-auto',
  54. 'name' => 'more-auto',
  55. 'active' => true,
  56. 'title' => '_sys_menu_item_title_va_more_auto',
  57. 'href' => 'javascript:void(0)',
  58. 'icon' => 'ellipsis-v',
  59. );
  60. }
  61. return $aResult;
  62. }
  63. protected function _isSelected ($a)
  64. {
  65. if (isset($a['selected']))
  66. return $a['selected'];
  67. return false;
  68. }
  69. }
  70. /** @} */