_sModule = 'bx_messenger'; $this->_oModule = BxDolModule::getInstance($this->_sModule); parent::__construct ($aObject, $this->_oModule->_oTemplate); $this->_oConfig = &$this->_oModule->_oConfig; $this->_oDb = &$this->_oModule->_oDb; $this->_iProfileId = bx_get_logged_profile_id(); if ($this->_iProfileId) { $this->_aMenuStat = $this->_oModule->_oDb->getUnreadMessagesStat($this->_iProfileId); } } protected function _getMenuItem ($a){ $aMenuItem = parent::_getMenuItem($a); $iAddon = 0; if (isset($this->_aMenuStat['groups'])) { if (isset($aMenuItem['module'])) { if (isset($this->_aMenuStat['groups'][$aMenuItem['module']])) $iAddon = count($this->_aMenuStat['groups'][$aMenuItem['module']]); } else if (!empty($aMenuItem['parent']) && isset($this->_aMenuStat['groups'][$aMenuItem['parent']]) && isset($this->_aMenuStat['groups'][$aMenuItem['parent']][$aMenuItem['group-id']])) { $iAddon = count($this->_aMenuStat['groups'][$aMenuItem['parent']][$aMenuItem['group-id']]); } } $sModule = isset($aMenuItem['module']) ? $aMenuItem['module'] : ''; $aMenuItem['bx_if:addon'] = array ( 'condition' => true, 'content' => array( 'addon' => $iAddon, 'hidden' => !$iAddon ? 'hidden' : '', 'bx_if:module' => array( 'condition' => $sModule, 'content' => array( 'type' => $sModule ) ) ) ); return $aMenuItem; } public function getMenuItemsRaw(){ $CNF = $this->_oConfig->CNF; $iProfileId = bx_get_logged_profile_id(); //echo '
';
        $aMenuItems = array();
        $aGroupsList = $this->_oDb->getMyLotsByGroups($iProfileId);

        //print_r($aGroupsList);
        //exit;
        if (empty($aGroupsList))
            return $aMenuItems;

		$i = 0;
        foreach($aGroupsList as $sModule => $aModule) {
            $aMenuItems[$sModule] = [
                'onclick' => "javascript:bx_menu_toggle(this, '" . $this->_sObject . "', '" . $sModule . "')",
                'title' => _t("_{$sModule}"),
                'module' => $sModule,
                'name' => $sModule . $iProfileId,
				'id' => $i++,
            ];

            $aSubmenu = array();
            foreach ($aModule as &$aItem) {
                if ($sModule !== BX_MSG_TALK_TYPE_PAGES) {                    
                    if ($oContext = BxDolProfile::getInstance($aItem['id'])){
                    $sIcon = $oContext->getIcon();
						$sTitle = html_entity_decode($oContext->getDisplayName());
					} else 
					{
						$sIcon = '';
						$sTitle = $aItem['name'];				
					}					
                }
                else
                {
                    $sIcon = $this->_oConfig->getPageIcon();
                    /*if (!$sIcon)
                        $sIcon = bx_srv($sModule, 'get_thumb', $aItem['id']);*/
                    if ($oPage = BxDolPage::getObjectInstanceByURI($aItem['url']))
                        $sIcon = $oPage->getIcon();
                    //print_r($oPage);
                    //$oPage->getIcon();

                    $sTitle = $aItem[$CNF['FMG_NAME']];
                }


                $aSubmenu[] = [
                    'id' => 'context-' . $aItem['group_id'],
                    'name' => 'context-' . $aItem['group_id'],
                    'group-id' => $aItem['group_id'],
                    'parent' => $sModule,
                    'class' => $aItem['name'],
                    'link' => 'javascript:void(0)',
                    'onclick' => "{$CNF['JSMain']}.loadTalksList(this, { group: 'groups', id: " . (int)$aItem[$CNF['FMGL_GROUP_ID']] . " })",
                    'target' => '_self',
                    'title' => $sTitle,
                    'icon' => $sIcon,
                    'active' => 1
                ];
            }

            if (!empty($aSubmenu)){                
				if (bx_is_api())
					$aMenuItems[$sModule]['submenu_object'] = $aSubmenu;
				else
				{
                $aMenuItems[$sModule]['subitems'] = $aSubmenu;
					$this->_oTemplate->addJs('utils.js');
				}
			}
            else
                unset($aMenuItems[$sModule]);
        }
        
        /*echo '
';
        print_r($aMenuItems);
        exit;*/
        
        return $aMenuItems;
    }
}

/** @} */