_sModule = 'bx_tasks'; $this->_oModule = BxDolModule::getInstance($this->_sModule); parent::__construct($aObject, $oTemplate); $this->_isMultilevel = true; $this->_iProfileId = 0; $this->_oPermalink = BxDolPermalinks::getInstance(); $this->_sParamName = 'context_pid'; if(($iParamValue = bx_get($this->_sParamName)) !== false) $this->_iParamValue = (int)$iParamValue; } public function setProfileId($iProfileId) { $this->_iProfileId = $iProfileId; } protected function getMenuItemsRaw () { $aContexts = $this->_oModule->getContexts(); $aMenuItems = []; foreach($aContexts as $sName => $sTitle) { $aSubmenu = $this->_getMenuSubitems($this->_iProfileId, $sName); if(empty($aSubmenu)) continue; $aMenuItems[] = [ 'name' => $sName, 'class' => '', 'link' => 'javascript:void(0)', 'onclick' => "javascript:bx_menu_toggle(this, '" . $this->_sObject . "', '" . $sName . "')", 'target' => '_self', 'icon' => bx_is_srv($sName, 'module_icon') ? bx_srv($sName, 'module_icon') : '', 'title' => $sTitle, 'subitems' => $aSubmenu ]; } return $aMenuItems; } protected function _getMenuSubitems($iProfile, $sContextModule) { $CNF = $this->_oModule->_oConfig->CNF; $aIds = $this->_oModule->_oDb->getContextsIdsByType($sContextModule, $iProfile); $aSubmenu = []; foreach($aIds as $iId) { $oContext = BxDolProfile::getInstance($iId); if(!$oContext) continue; $sUrl = bx_absolute_url(bx_append_url_params($this->_oPermalink->permalink($CNF['URL_HOME']), [ $this->_sParamName => $iId ])); $aSubmenu[] = [ 'id' => 'context-' . $iId, 'name' => 'context-' . $iId, 'class_add' => $iId == $this->_iParamValue ? 'bx-menu-tab-active' : '', 'class' => '', 'link' => $this->_bIsApi ? bx_api_get_relative_url($sUrl) : $sUrl, 'onclick' => '', 'target' => '_self', 'title' => $oContext->getDisplayName(), 'icon' => $oContext->getIcon(), 'active' => 1 ]; } return $aSubmenu; } } /** @} */