BxMessengerMainMenu.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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 Messenger Messenger
  7. * @ingroup UnaModules
  8. *
  9. * @{
  10. */
  11. /**
  12. * View block menu.
  13. */
  14. class BxMessengerMainMenu extends BxTemplMenu
  15. {
  16. private $_sModule = '';
  17. private $_oModule = null;
  18. private $_aMenuStat = null;
  19. public function __construct ($aObject, $oTemplate = false)
  20. {
  21. parent::__construct ($aObject, $oTemplate);
  22. $this->_sModule = 'bx_messenger';
  23. $this->_oModule = BxDolModule::getInstance($this->_sModule);
  24. $this->_oTemplate = &$this->_oModule->_oTemplate;
  25. $this->_aMenuStat = $this->_oModule->_oDb->getUnreadMessagesStat(bx_get_logged_profile_id());
  26. }
  27. protected function _getMenuItem ($a){
  28. $aMenuItem = parent::_getMenuItem($a);
  29. if($aMenuItem === false)
  30. return $aMenuItem;
  31. $iAddon = 0;
  32. if (isset($this->_aMenuStat[$aMenuItem['name']]))
  33. $iAddon = is_array($this->_aMenuStat[$aMenuItem['name']]) ? count($this->_aMenuStat[$aMenuItem['name']]) : (int)$this->_aMenuStat[$aMenuItem['name']];
  34. $aMenuItem['bx_if:addon'] = [
  35. 'condition' => true,
  36. 'content' => [
  37. 'addon' => $iAddon,
  38. 'type' => $aMenuItem['name'],
  39. 'hidden' => !$iAddon ? 'hidden' : ''
  40. ]
  41. ];
  42. return $aMenuItem;
  43. }
  44. }
  45. /** @} */