AntonLV 6 years ago
parent
commit
c416f45f69
2 changed files with 25 additions and 20 deletions
  1. 23 20
      template/scripts/BxBaseMenuCreatePost.php
  2. 2 0
      template/scripts/BxBaseServices.php

+ 23 - 20
template/scripts/BxBaseMenuCreatePost.php

@@ -29,35 +29,38 @@ class BxBaseMenuCreatePost extends BxTemplMenuCustom
     {
     	$aModules = BxDolModuleQuery::getInstance()->getModulesBy(array('type' => 'all_pairs_name_uri', 'active' => 1));
 
+        $aResult = array();
     	$aMenuItems = $this->_oQuery->getMenuItems();
     	foreach($aMenuItems as $iKey => $aMenuItem) {
+            if((int)$aMenuItem['active'] == 0)
+                continue;
+
             $sModule = $aMenuItem['module'];
             if(!isset($aModules[$sModule]))
                 continue;
 
-            $aMenuItems[$iKey]['id'] = $sModule;
-            $aMenuItems[$iKey]['name'] = $sModule;
-            $aMenuItems[$iKey]['onclick'] = "return " . $this->_sJsObject . ".getForm('" . $sModule . "', '" . $aModules[$sModule] . "', this)";
-    	}
-        $aMenuItems['more-auto'] = array(
-            'module' => 'system', 
-            'id' => 'more-auto', 
-            'name' => 'more-auto',
-            'title' => '_sys_menu_item_title_va_more_auto', 
-            'href' => 'javascript:void(0)', 
-            'icon' => 'ellipsis-v',
-            'active' => 1
-        );
+            if(BxDolRequest::serviceExists($sModule, 'act_as_profile'))
+                continue;
 
-        return $aMenuItems;
-    }
+            $aResult[$iKey] = array_merge($aMenuItem, array(
+                'id' => $sModule,
+                'name' => $sModule,
+                'onclick' => "return " . $this->_sJsObject . ".getForm('" . $sModule . "', '" . $aModules[$sModule] . "', this)"
+            ));
+    	}
 
-    protected function _isVisible ($a)
-    {
-    	if(BxDolRequest::serviceExists($a['module'], 'act_as_profile'))
-            return false;
+        if(!empty($aResult) && is_array($aResult))
+            $aResult['more-auto'] = array(
+                'module' => 'system', 
+                'id' => 'more-auto', 
+                'name' => 'more-auto',
+                'title' => '_sys_menu_item_title_va_more_auto', 
+                'href' => 'javascript:void(0)', 
+                'icon' => 'ellipsis-v',
+                'active' => 1
+            );
 
-        return parent::_isVisible($a);
+        return $aResult;
     }
 }
 

+ 2 - 0
template/scripts/BxBaseServices.php

@@ -187,6 +187,8 @@ class BxBaseServices extends BxDol implements iBxDolProfileService
         $sPlaceholder = _t('_sys_txt_create_post_placeholder', $oProfile->getDisplayName());
 
     	$oMenu = BxDolMenu::getObjectInstance('sys_create_post');
+        if(!$oMenu)
+            return '';
 
     	$aMenuItems = $oMenu->getMenuItems();
     	if(empty($aMenuItems) || !is_array($aMenuItems))