Browse Source

Ticket #4838 - LiveUpdates: PHP warnings on change connections.

AntonLV 1 năm trước cách đây
mục cha
commit
18d6158882
2 tập tin đã thay đổi với 30 bổ sung và 15 xóa
  1. 27 8
      inc/classes/BxDolConnection.php
  2. 3 7
      template/scripts/BxBaseServiceProfiles.php

+ 27 - 8
inc/classes/BxDolConnection.php

@@ -394,14 +394,23 @@ class BxDolConnection extends BxDolFactory implements iBxDolFactoryObject
              * Call socket.
              */
             if(($oSockets = BxDolSockets::getInstance()) && $oSockets->isEnabled()){
-                $aMessage = [
+                $aMessageInitiator = $aMessageContent = [
                     'object' => $this->_sObject, 
                     'action' => 'added',
-                    
                 ];
-                
-                $oSockets->sendEvent('sys_connections', $iInitiator , 'changed', json_encode(array_merge($aMessage, ['user' => BxDolProfile::getDataForPage($iInitiator)])));
-                $oSockets->sendEvent('sys_connections', $iContent , 'changed', json_encode(array_merge($aMessage, ['user' => BxDolProfile::getDataForPage($iContent)])));
+
+                if(bx_is_api()) {
+                    $aMessageInitiator = array_merge($aMessageInitiator, [
+                        'user' => BxDolProfile::getDataForPage($iInitiator)
+                    ]);
+
+                    $aMessageContent = array_merge($aMessageContent, [
+                        'user' => BxDolProfile::getDataForPage($iContent)
+                    ]);
+                }
+
+                $oSockets->sendEvent('sys_connections', $iInitiator , 'changed', json_encode($aMessageInitiator));
+                $oSockets->sendEvent('sys_connections', $iContent , 'changed', json_encode($aMessageContent));
             }
         }
     }
@@ -455,13 +464,23 @@ class BxDolConnection extends BxDolFactory implements iBxDolFactoryObject
          * Call socket.
          */
         if(($oSockets = BxDolSockets::getInstance()) && $oSockets->isEnabled()){
-            $aMessage = [
+            $aMessageInitiator = $aMessageContent = [
                 'object' => $this->_sObject, 
                 'action' => 'deleted',
             ];
 
-            $oSockets->sendEvent('sys_connections', $iInitiator , 'changed', json_encode(array_merge($aMessage, ['user' => BxDolProfile::getDataForPage($iInitiator)])));
-            $oSockets->sendEvent('sys_connections', $iContent , 'changed', json_encode(array_merge($aMessage, ['user' => BxDolProfile::getDataForPage($iContent)])));
+            if(bx_is_api()) {
+                $aMessageInitiator = array_merge($aMessageInitiator, [
+                    'user' => BxDolProfile::getDataForPage($iInitiator)
+                ]);
+
+                $aMessageContent = array_merge($aMessageContent, [
+                    'user' => BxDolProfile::getDataForPage($iContent)
+                ]);
+            }
+
+            $oSockets->sendEvent('sys_connections', $iInitiator , 'changed', json_encode($aMessageInitiator));
+            $oSockets->sendEvent('sys_connections', $iContent , 'changed', json_encode($aMessageContent));
         }
     }
 

+ 3 - 7
template/scripts/BxBaseServiceProfiles.php

@@ -1188,16 +1188,12 @@ class BxBaseServiceProfiles extends BxDol
         return BxDolContentFilter::getInstance()->isEnabled();
     }
 
-    
     public function serviceProfileCounters()
     {
-        $oLiveUpdates = BxDolLiveUpdates::getInstance();
-        if($oLiveUpdates) {
-            $aResult = $oLiveUpdates->performApi();
-            return($aResult);
-        }
+        if(bx_is_api() && ($oLiveUpdates = BxDolLiveUpdates::getInstance()) !== false)
+            return $oLiveUpdates->performApi();
     }
-    
+
     public function serviceUpdateSettings($iProfileId = false, $sSettings = '')
     {
         $oProfile = BxDolProfile::getInstance($iProfileId);