1
0

BxBaseMenuCreatePost.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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 BxBaseMenuCreatePost extends BxTemplMenuCustom
  14. {
  15. protected $_sJsObject;
  16. public function __construct ($aObject, $oTemplate)
  17. {
  18. parent::__construct ($aObject);
  19. $this->_aObject['menu_id'] = 'sys-create-post-menu';
  20. $this->_bShowDivider = false;
  21. $this->_sJsObject = 'oBxDolCreatePost';
  22. }
  23. protected function getMenuItemsRaw ()
  24. {
  25. $aModules = BxDolModuleQuery::getInstance()->getModulesBy(array('type' => 'all_pairs_name_uri', 'active' => 1));
  26. $aResult = array();
  27. $aMenuItems = $this->_oQuery->getMenuItems();
  28. foreach($aMenuItems as $iKey => $aMenuItem) {
  29. if((int)$aMenuItem['active'] == 0)
  30. continue;
  31. $sModule = $aMenuItem['module'];
  32. if(!isset($aModules[$sModule]))
  33. continue;
  34. if(BxDolRequest::serviceExists($sModule, 'act_as_profile'))
  35. continue;
  36. $aResult[$iKey] = array_merge($aMenuItem, array(
  37. 'id' => $sModule,
  38. 'name' => $sModule,
  39. 'onclick' => "return " . $this->_sJsObject . ".getForm('" . $sModule . "', '" . $aModules[$sModule] . "', this)"
  40. ));
  41. }
  42. if(!empty($aResult) && is_array($aResult))
  43. $aResult['more-auto'] = array(
  44. 'module' => 'system',
  45. 'id' => 'more-auto',
  46. 'name' => 'more-auto',
  47. 'title' => '_sys_menu_item_title_va_more_auto',
  48. 'href' => 'javascript:void(0)',
  49. 'icon' => 'ellipsis-v',
  50. 'active' => 1
  51. );
  52. return $aResult;
  53. }
  54. }
  55. /** @} */