AntonLV 8 年 前
親
コミット
4ef64b9f28

+ 22 - 20
modules/base/general/classes/BxBaseModGeneralMenuViewActions.php

@@ -27,6 +27,7 @@ class BxBaseModGeneralMenuViewActions extends BxTemplMenuCustom
     protected $_bDynamicMode;
     protected $_bShowAsButton;
     protected $_bShowTitle;
+    protected $_sClassMiSa; // Separate class for Social Actions (View, Vote, Comment, Report, etc) menu items.
 
     public function __construct($aObject, $oTemplate = false)
     {
@@ -42,9 +43,10 @@ class BxBaseModGeneralMenuViewActions extends BxTemplMenuCustom
 
         $this->_bShowAsButton = true;
         $this->_bShowTitle = true;
+        $this->_sClassMiSa = 'bx-base-general-ea-sa';
     }
 
-    public function addMarkers ($a)
+    public function addMarkers($a)
     {
         $bResult = parent::addMarkers($a);
         if($bResult && !empty($this->_oMenuSocialSharing))
@@ -68,12 +70,12 @@ class BxBaseModGeneralMenuViewActions extends BxTemplMenuCustom
      * @param $a menu item array
      * @return boolean
      */
-    protected function _isVisible ($a)
+    protected function _isVisible($a)
     {
         return $this->_oModule->isMenuItemVisible($this->_sObject, $a, $this->_aContentInfo);
     }
 
-    protected function _getMenuItemDefault ($aItem)
+    protected function _getMenuItemDefault($aItem)
     {
         $aItem['class_wrp'] = 'bx-base-general-entity-action' . (!empty($aItem['class_wrp']) ? ' ' . $aItem['class_wrp'] : '');
 
@@ -102,11 +104,11 @@ class BxBaseModGeneralMenuViewActions extends BxTemplMenuCustom
         if(!$oObject || !$oObject->isEnabled())
             return '';
 
-    	return $oObject->getElementBlock(array(
+    	return array($oObject->getElementBlock(array(
             'dynamic_mode' => $this->_bDynamicMode,
             'show_do_view_as_button' => $this->_bShowAsButton,
             'show_do_view_label' => $this->_bShowTitle
-        ));
+        )), $this->_sClassMiSa);
     }
 
     protected function _getMenuItemComment($aItem, $aParams = array())
@@ -125,11 +127,11 @@ class BxBaseModGeneralMenuViewActions extends BxTemplMenuCustom
         if(!$oObject || !$oObject->isEnabled())
             return '';
 
-        return $oObject->getElementBlock(array(
+        return array($oObject->getElementBlock(array(
             'dynamic_mode' => $this->_bDynamicMode,
             'show_do_comment_as_button' => $this->_bShowAsButton,
             'show_do_comment_label' => $this->_bShowTitle
-        ));
+        )), $this->_sClassMiSa);
     }
 
     protected function _getMenuItemVote($aItem, $aParams = array())
@@ -148,13 +150,13 @@ class BxBaseModGeneralMenuViewActions extends BxTemplMenuCustom
         if(!$oObject || !$oObject->isEnabled())
             return '';
 
-    	return $oObject->getElementBlock(array(
+    	return array($oObject->getElementBlock(array(
             'dynamic_mode' => $this->_bDynamicMode,
             'show_do_vote_as_button' => $this->_bShowAsButton,
             'show_do_vote_label' => $this->_bShowTitle
-        ));
+        )), $this->_sClassMiSa);
     }
-    
+
     protected function _getMenuItemScore($aItem, $aParams = array())
     {
         $CNF = &$this->_oModule->_oConfig->CNF;
@@ -171,11 +173,11 @@ class BxBaseModGeneralMenuViewActions extends BxTemplMenuCustom
         if(!$oObject || !$oObject->isEnabled())
             return '';
 
-    	return $oObject->getElementBlock(array(
+    	return array($oObject->getElementBlock(array(
             'dynamic_mode' => $this->_bDynamicMode,
             'show_do_vote_as_button' => $this->_bShowAsButton,
             'show_do_vote_label' => $this->_bShowTitle
-        ));
+        )), $this->_sClassMiSa);
     }
 
     protected function _getMenuItemFavorite($aItem, $aParams = array())
@@ -194,11 +196,11 @@ class BxBaseModGeneralMenuViewActions extends BxTemplMenuCustom
         if(!$oObject || !$oObject->isEnabled())
             return '';
 
-    	return $oObject->getElementBlock(array(
+    	return array($oObject->getElementBlock(array(
             'dynamic_mode' => $this->_bDynamicMode,
             'show_do_favorite_as_button' => $this->_bShowAsButton,
             'show_do_favorite_label' => $this->_bShowTitle
-        ));
+        )), $this->_sClassMiSa);
     }
 
     protected function _getMenuItemFeature($aItem, $aParams = array())
@@ -217,11 +219,11 @@ class BxBaseModGeneralMenuViewActions extends BxTemplMenuCustom
         if(!$oObject || !$oObject->isEnabled())
             return '';
 
-    	return $oObject->getElementBlock(array(
+    	return array($oObject->getElementBlock(array(
             'dynamic_mode' => $this->_bDynamicMode,
             'show_do_feature_as_button' => $this->_bShowAsButton,
             'show_do_feature_label' => $this->_bShowTitle
-        ));
+        )), $this->_sClassMiSa);
     }
 
     protected function _getMenuItemRepost($aItem, $aParams = array())
@@ -239,10 +241,10 @@ class BxBaseModGeneralMenuViewActions extends BxTemplMenuCustom
         if(!BxDolRequest::serviceExists('bx_timeline', 'get_repost_element_block'))
             return '';
 
-    	return BxDolService::call('bx_timeline', 'get_repost_element_block', array(bx_get_logged_profile_id(), $this->_oModule->_oConfig->getName(), $sAction, $iId, array(
+    	return array(BxDolService::call('bx_timeline', 'get_repost_element_block', array(bx_get_logged_profile_id(), $this->_oModule->_oConfig->getName(), $sAction, $iId, array(
             'show_do_repost_as_button' => $this->_bShowAsButton,
             'show_do_repost_text' => $this->_bShowTitle
-        )));
+        ))), $this->_sClassMiSa);
     }
 
     protected function _getMenuItemReport($aItem, $aParams = array())
@@ -261,11 +263,11 @@ class BxBaseModGeneralMenuViewActions extends BxTemplMenuCustom
         if(!$oObject || !$oObject->isEnabled())
             return '';
 
-    	return $oObject->getElementBlock(array(
+    	return array($oObject->getElementBlock(array(
             'dynamic_mode' => $this->_bDynamicMode,
             'show_do_report_as_button' => $this->_bShowAsButton,
             'show_do_report_label' => $this->_bShowTitle
-        ));
+        )), $this->_sClassMiSa);
     }
 
     protected function _getMenuItemSocialSharingFacebook($aItem)

+ 16 - 0
template/css/menu.css

@@ -650,6 +650,22 @@ ul.bx-menu-btns-hor li:last-child .bx-btn {
     color: inherit;
 }
 
+.bx-menu-custom.bx-menu-hor.bx-menu-more-auto .bx-menu-item.bx-base-general-ea-sa .bx-view-element-holder a span,
+.bx-menu-custom.bx-menu-hor.bx-menu-more-auto .bx-menu-item.bx-base-general-ea-sa .bx-vote-element-holder a span,
+.bx-menu-custom.bx-menu-hor.bx-menu-more-auto .bx-menu-item.bx-base-general-ea-sa .bx-favorite-element-holder a span,
+.bx-menu-custom.bx-menu-hor.bx-menu-more-auto .bx-menu-item.bx-base-general-ea-sa .bx-feature-element-holder a span,
+.bx-menu-custom.bx-menu-hor.bx-menu-more-auto .bx-menu-item.bx-base-general-ea-sa .bx-report-element-holder a span,
+.bx-menu-custom.bx-menu-hor.bx-menu-more-auto .bx-menu-item.bx-base-general-ea-sa .bx-tl-repost-element-holder a span {
+    display: none;
+}
+.bx-menu-custom.bx-menu-hor.bx-menu-more-auto .bx-menu-submenu-more-auto .bx-menu-item.bx-base-general-ea-sa .bx-view-element-holder a span,
+.bx-menu-custom.bx-menu-hor.bx-menu-more-auto .bx-menu-submenu-more-auto .bx-menu-item.bx-base-general-ea-sa .bx-vote-element-holder a span,
+.bx-menu-custom.bx-menu-hor.bx-menu-more-auto .bx-menu-submenu-more-auto .bx-menu-item.bx-base-general-ea-sa .bx-favorite-element-holder a span,
+.bx-menu-custom.bx-menu-hor.bx-menu-more-auto .bx-menu-submenu-more-auto .bx-menu-item.bx-base-general-ea-sa .bx-feature-element-holder a span,
+.bx-menu-custom.bx-menu-hor.bx-menu-more-auto .bx-menu-submenu-more-auto .bx-menu-item.bx-base-general-ea-sa .bx-report-element-holder a span,
+.bx-menu-custom.bx-menu-hor.bx-menu-more-auto .bx-menu-submenu-more-auto .bx-menu-item.bx-base-general-ea-sa .bx-tl-repost-element-holder a span {
+    display: inline;
+}
 
 /*--- Vertical (Vertical Custom) Menus (in Popup) ---*/
 .bx-popup .bx-menu-custom-ver li a {

+ 15 - 4
template/scripts/BxBaseMenuCustom.php

@@ -99,17 +99,28 @@ class BxBaseMenuCustom extends BxTemplMenu
             if($aItem === false)
                 return false;
 
-            $sItem = $this->_getMenuItemDefault($aItem);
+            $mixedItem = $this->_getMenuItemDefault($aItem);
     	}
     	else
-            $sItem = $this->$sMethod($aItem);
+            $mixedItem = $this->$sMethod($aItem);
 
-    	if(empty($sItem))
+    	if(empty($mixedItem))
             return false;
 
+        $sItem = $sClass = '';
+        if(is_array($mixedItem)) 
+            list($sItem, $sClass) = $mixedItem;
+        else
+            $sItem = $mixedItem;
+
+        if(!empty($sClass))
+            $sClass = ' ' . $sClass;
+        if($this->_isSelected($aItem))
+            $sClass .= ' bx-menu-tab-active';
+
         return array(
             'name' => $aItem['name'],
-            'class' => $this->_isSelected($aItem) ? ' bx-menu-tab-active' : '',
+            'class' => $sClass,
             'item' => $sItem
         );
     }