AntonLV 7 лет назад
Родитель
Сommit
a2eae66a75

+ 2 - 1
modules/base/general/classes/BxBaseModGeneralPageBrowse.php

@@ -27,7 +27,8 @@ class BxBaseModGeneralPageBrowse extends BxTemplPage
         // select module submenu
         if (isset($this->_oModule->_oConfig->CNF['OBJECT_MENU_SUBMENU'])){
             $oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu');
-            $oMenuSubmenu->setObjectSubmenu($this->_oModule->_oConfig->CNF['OBJECT_MENU_SUBMENU']);
+            if($oMenuSubmenu)
+                $oMenuSubmenu->setObjectSubmenu($this->_oModule->_oConfig->CNF['OBJECT_MENU_SUBMENU']);
         }
     }
 

+ 11 - 10
modules/base/general/classes/BxBaseModGeneralPageEntry.php

@@ -84,16 +84,17 @@ class BxBaseModGeneralPageEntry extends BxTemplPage
         }
 
         $oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu');
-
-        // add actions menu to submenu
-        if (isset($CNF['OBJECT_MENU_ACTIONS_VIEW_ENTRY']))
-            $oMenuSubmenu->setObjectActionsMenu($CNF['OBJECT_MENU_ACTIONS_VIEW_ENTRY']);
-
-        // add social sharing menu to submenu
-        $oMenuSubmenu->setServiceSocialSharing(array(
-            'module' => $this->MODULE,
-            'method' => 'entity_social_sharing',
-        ));
+        if($oMenuSubmenu) {
+            // add actions menu to submenu
+            if(isset($CNF['OBJECT_MENU_ACTIONS_VIEW_ENTRY']))
+                $oMenuSubmenu->setObjectActionsMenu($CNF['OBJECT_MENU_ACTIONS_VIEW_ENTRY']);
+
+            // add social sharing menu to submenu
+            $oMenuSubmenu->setServiceSocialSharing(array(
+                'module' => $this->MODULE,
+                'method' => 'entity_social_sharing',
+            ));
+        }
 
         return parent::getCode ();
     }

+ 6 - 5
modules/base/profile/classes/BxBaseModProfilePageEntry.php

@@ -60,11 +60,12 @@ class BxBaseModProfilePageEntry extends BxBaseModGeneralPageEntry
 
         // select view profile submenu
         $oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu');
-        $oMenuSubmenu->setObjectSubmenu($CNF['OBJECT_MENU_SUBMENU_VIEW_ENTRY'], array (
-            'title' => $this->_oProfile->getDisplayName(),
-            'link' => $this->_oProfile->getUrl(),
-            'icon' => $CNF['ICON'],
-        ));
+        if($oMenuSubmenu)
+            $oMenuSubmenu->setObjectSubmenu($CNF['OBJECT_MENU_SUBMENU_VIEW_ENTRY'], array (
+                'title' => $this->_oProfile->getDisplayName(),
+                'link' => $this->_oProfile->getUrl(),
+                'icon' => $CNF['ICON'],
+            ));
 
         // add replaceable markers
         $this->addMarkers($this->_aProfileInfo); // every content field can be used as marker

+ 17 - 9
modules/base/text/classes/BxBaseModTextPageEntry.php

@@ -40,8 +40,8 @@ class BxBaseModTextPageEntry extends BxBaseModGeneralPageEntry
 
         // select view entry submenu
         $this->_setSubmenu(array(
-        	'title' => $sTitle,
-			'link' => $sUrl,
+            'title' => $sTitle,
+            'link' => $sUrl,
             'icon' => $sIcon
         ));
     }
@@ -59,20 +59,28 @@ class BxBaseModTextPageEntry extends BxBaseModGeneralPageEntry
          * Hide actions menu from View Page cover because 
          * cover area should be decorative in Text Based modules.
          */
-        BxDolMenu::getObjectInstance('sys_site_submenu')->setObjectActionsMenu(false);
+        $oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu');
+        if($oMenuSubmenu)
+            $oMenuSubmenu->setObjectActionsMenu(false);
 
         return $mixedResult;
     }
+
     protected function _setSubmenu($aParams)
     {
     	$CNF = &$this->_oModule->_oConfig->CNF;
 
-		$oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu');
-		$oMenuSubmenu->setObjectSubmenu($CNF['OBJECT_MENU_SUBMENU_VIEW_ENTRY'], array_merge(array(
-			'title' => '',
-			'link' => '',
-			'icon' => '',
-		), $aParams));
+        $oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu');
+        if(!$oMenuSubmenu)
+            return false;
+
+        $oMenuSubmenu->setObjectSubmenu($CNF['OBJECT_MENU_SUBMENU_VIEW_ENTRY'], array_merge(array(
+            'title' => '',
+            'link' => '',
+            'icon' => '',
+        ), $aParams));
+
+        return true;
     }
 
     protected function _getBlockService ($aBlock)

+ 8 - 5
modules/boonex/lucid/data/template/system/scripts/BxTemplPageHome.php

@@ -17,13 +17,16 @@ class BxTemplPageHome extends BxBasePageHome
         parent::__construct($aObject, $oTemplate);
 
         $oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu');
-		$oMenuSubmenu->setObjectSubmenu('bx_lucid_homepage_submenu', array());
+        if(!$oMenuSubmenu)
+            return;
 
-		$sSelName = 'home';
-		if(bx_get('i') !== false)
-		    $sSelName = bx_process_input(bx_get('i'));
+        $oMenuSubmenu->setObjectSubmenu('bx_lucid_homepage_submenu', array());
 
-		BxDolMenu::setSelectedGlobal('bx_lucid', $sSelName);
+        $sSelName = 'home';
+        if(bx_get('i') !== false)
+            $sSelName = bx_process_input(bx_get('i'));
+
+        BxDolMenu::setSelectedGlobal('bx_lucid', $sSelName);
     }
 }
 

+ 6 - 3
template/scripts/BxBasePage.php

@@ -131,9 +131,12 @@ class BxBasePage extends BxDolPage
 
     public function getPageCoverParams()
     {
-    	$aParams = BxDolMenu::getObjectInstance('sys_site_submenu')->getPageCoverParams();
-    	if(!empty($aParams) && is_array($aParams))
-    		return $aParams;
+        $oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu');
+        if($oMenuSubmenu) {
+            $aParams = $oMenuSubmenu->getPageCoverParams();
+            if(!empty($aParams) && is_array($aParams))
+                return $aParams;
+        }
 
     	return array (
             'title' => $this->_getPageTitle(),