Просмотр исходного кода

Ticket #4558 - Build-in API support: Browsing lists validation.

AntonLV 2 лет назад
Родитель
Сommit
a0cb3acc92

+ 3 - 1
inc/classes/BxDolSearch.php

@@ -767,7 +767,9 @@ class BxDolSearchResult implements iBxDolReplaceable
                 return $aItem['id'];
             }, $aData);
 
-            $aData = sort($aIds) == sort($this->_aParams['validate']) ? 'valid' : 'invalid';
+            sort($aIds);
+            sort($this->_aParams['validate']);
+            $aData = $aIds == $this->_aParams['validate'] ? 'valid' : 'invalid';
         }
 
         /**

+ 1 - 1
inc/utils.inc.php

@@ -2659,7 +2659,7 @@ function bx_api_get_browse_params($sParams, $bParamsOnly = false)
 
     $aParams = json_decode($sParams, true);
     if(isset($aParams['params']['validate']) && !is_array($aParams['params']['validate']))
-        $aParams['params']['validate'] = explode(',', $aParams['params']['validate']);
+        $aParams['params']['validate'] = !empty($aParams['params']['validate']) ? explode(',', $aParams['params']['validate']) : [];
 
     if(!$bParamsOnly)
         return $aParams;

+ 1 - 1
modules/base/general/classes/BxBaseModGeneralModule.php

@@ -970,7 +970,7 @@ class BxBaseModGeneralModule extends BxDolModule
                 }
 
                 if(isset($aParams['params']['validate']) && !is_array($aParams['params']['validate']))
-                    $aParams['params']['validate'] = explode(',', $aParams['params']['validate']);
+                    $aParams['params']['validate'] = !empty($aParams['params']['validate']) ? explode(',', $aParams['params']['validate']) : [];
             }
         }
 

+ 1 - 1
modules/base/general/classes/BxBaseModGeneralSearchResult.php

@@ -24,7 +24,7 @@ class BxBaseModGeneralSearchResult extends BxTemplSearchResult
         $this->_sMode = $sMode;
         $this->_aParams = $aParams;
 
-        $this->_bValidate = !empty($this->_aParams['validate']) && is_array($this->_aParams['validate']);
+        $this->_bValidate = isset($this->_aParams['validate']) && is_array($this->_aParams['validate']);
 
         parent::__construct();
     }

+ 5 - 5
modules/boonex/timeline/classes/BxTimelineModule.php

@@ -5648,7 +5648,7 @@ class BxTimelineModule extends BxBaseModNotificationsModule implements iBxDolCon
         $aParams = $this->_prepareParams($aBrowseParams);
         $this->_iOwnerId = $aParams['owner_id'];
 
-        if(!empty($aParams['validate']) && is_array($aParams['validate'])) {
+        if(isset($aParams['validate']) && is_array($aParams['validate'])) {
             $iSlice = count($aParams['validate']);
 
             $aEventsIds = $this->_oDb->getEvents(array_merge($aParams, [
@@ -6176,8 +6176,8 @@ class BxTimelineModule extends BxBaseModNotificationsModule implements iBxDolCon
         if(empty($aParams['viewer_id']) || (int)$aParams['viewer_id'] != $iViewerId)
             $aParams['viewer_id'] = $iViewerId;
 
-        if(!empty($aParams['validate']) && is_string($aParams['validate']))
-            $aParams['validate'] = explode(',', $aParams['validate']);
+        if(isset($aParams['validate']) && !is_array($aParams['validate']))
+            $aParams['validate'] = !empty($aParams['validate']) ? explode(',', $aParams['validate']) : [];
 
         $aParams = array_merge($aParams, array(
             'browse' => 'list',
@@ -6225,8 +6225,8 @@ class BxTimelineModule extends BxBaseModNotificationsModule implements iBxDolCon
         if(!$aParams['viewer_id'] || $aParams['viewer_id'] != $iViewerId)
             $aParams['viewer_id'] = $iViewerId;
 
-        if(!empty($aParams['validate']) && is_string($aParams['validate']))
-            $aParams['validate'] = explode(',', $aParams['validate']);
+        if(isset($aParams['validate']) && !is_array($aParams['validate']))
+            $aParams['validate'] = !empty($aParams['validate']) ? explode(',', $aParams['validate']) : [];
 
         $aParams = array_merge($aParams, [
             'browse' => 'list',

+ 1 - 1
template/scripts/BxBaseProfileSearchResult.php

@@ -19,7 +19,7 @@ class BxBaseProfileSearchResult extends BxTemplSearchResult
         $this->_sMode = $sMode;
         $this->_aParams = $aParams;
 
-        $this->_bValidate = !empty($this->_aParams['validate']) && is_array($this->_aParams['validate']);
+        $this->_bValidate = isset($this->_aParams['validate']) && is_array($this->_aParams['validate']);
 
         parent::__construct();