BxBaseMenuCustom.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
  4. * CC-BY License - http://creativecommons.org/licenses/by/3.0/
  5. *
  6. * @defgroup TridentCore Trident Core
  7. *
  8. * @{
  9. */
  10. bx_import('BxTemplMenu');
  11. class BxBaseMenuCustom extends BxTemplMenu
  12. {
  13. public function __construct($aObject, $oTemplate = false)
  14. {
  15. parent::__construct($aObject, $oTemplate);
  16. }
  17. protected function _getMenuItem ($aItem)
  18. {
  19. if (isset($aItem['active']) && !$aItem['active'])
  20. return false;
  21. if (isset($aItem['visible_for_levels']) && !$this->_isVisible($aItem))
  22. return false;
  23. $sMethod = '_getMenuItem' . str_replace(' ', '', ucwords(str_replace('-', ' ', $aItem['name'])));
  24. if(!method_exists($this, $sMethod)) {
  25. $aItem = parent::_getMenuItem($aItem);
  26. if($aItem === false)
  27. return false;
  28. $sItem = $this->_oTemplate->parseHtmlByName('menu_custom_item.html', $aItem);
  29. }
  30. else
  31. $sItem = $this->$sMethod($aItem);
  32. if(empty($sItem))
  33. return false;
  34. return array(
  35. 'class' => $this->_isSelected($aItem) ? 'bx-menu-tab-active' : '',
  36. 'item' => $sItem
  37. );
  38. }
  39. }
  40. /** @} */