Преглед изворни кода

#3316 Mobile notifications badges fix

Alex Trofimov пре 5 година
родитељ
комит
b8ddfb5442
2 измењених фајлова са 30 додато и 14 уклоњено
  1. 18 14
      inc/classes/BxDolPush.php
  2. 12 0
      template/scripts/BxBaseMenu.php

+ 18 - 14
inc/classes/BxDolPush.php

@@ -90,20 +90,24 @@ class BxDolPush extends BxDolFactory implements iBxDolSingleton
             $GLOBALS['logged']['member'] = $oProfile ? true : false;
             $GLOBALS['logged']['member'] = $oProfile ? true : false;
         }
         }
     
     
-        if ($iProfileId && $iProfileId != bx_get_logged_profile_id())
-            unset($GLOBALS['bxDolClasses']['BxDolMenu!sys_account_notifications']);
-        $oMenu = BxDolMenu::getObjectInstance('sys_account_notifications'); // sys_toolbar_member
-        if ($iProfileId && $iProfileId != bx_get_logged_profile_id())
-            unset($GLOBALS['bxDolClasses']['BxDolMenu!sys_account_notifications']);
-
-        $a = $oMenu->getMenuItems();
-        $iBubbles = 0;
-        foreach ($a as $r) {
-            if (!$r['bx_if:addon']['condition'])
-                continue;
-            if (null !== $aBubbles)
-                $aBubbles[$r['name']] = $r['bx_if:addon']['content']['addon'];
-            $iBubbles += $r['bx_if:addon']['content']['addon'];
+        $aMenusObjects = array('sys_account_notifications', 'sys_toolbar_member');
+        foreach ($aMenusObjects as $sMenuObject) {
+            if ($iProfileId && $iProfileId != bx_get_logged_profile_id())
+                unset($GLOBALS['bxDolClasses']['BxDolMenu!sys_account_notifications']);
+            $oMenu = BxDolMenu::getObjectInstance($sMenuObject);
+            if ($iProfileId && $iProfileId != bx_get_logged_profile_id())
+                unset($GLOBALS['bxDolClasses']['BxDolMenu!sys_account_notifications']);
+
+            $bSave = $oMenu->setDisplayAddons(true);
+            $a = $oMenu->getMenuItems();
+            $iBubbles = 0;
+            foreach ($a as $r) {
+                if (!$r['bx_if:addon']['condition'])
+                    continue;
+                if (null !== $aBubbles)
+                    $aBubbles[$r['name']] = $r['bx_if:addon']['content']['addon'];
+                $iBubbles += $r['bx_if:addon']['content']['addon'];
+            }
         }
         }
 
 
         if ($iProfileId && $iProfileId != bx_get_logged_profile_id()) {
         if ($iProfileId && $iProfileId != bx_get_logged_profile_id()) {

+ 12 - 0
template/scripts/BxBaseMenu.php

@@ -29,6 +29,18 @@ class BxBaseMenu extends BxDolMenu
             $this->_oTemplate = BxDolTemplate::getInstance();
             $this->_oTemplate = BxDolTemplate::getInstance();
     }
     }
 
 
+    public function getDisplayAddons()
+    {
+        return $this->_bDisplayAddons;
+    }   
+
+    public function setDisplayAddons($b)
+    {
+        $bRet = $this->_bDisplayAddons;
+        $this->_bDisplayAddons = $b;
+        return $bRet;
+    }
+
     /**
     /**
      * Get menu code.
      * Get menu code.
      * @return string
      * @return string