ソースを参照

Ticket #4971 - Build-in API support: Redirects after add/edit actions.

AntonLV 1 年間 前
親
コミット
c9834b396a

+ 1 - 1
modules/base/files/classes/BxBaseModFilesFormsEntryHelper.php

@@ -45,7 +45,7 @@ class BxBaseModFilesFormsEntryHelper extends BxBaseModTextFormsEntryHelper
 
         $sUrl = $this->getRedirectUrlAfterAdd($mixedContent);
         if($this->_bIsApi)
-            return !empty($sUrl) ? [bx_api_get_block('redirect', ['uri' => BxDolPermalinks::getInstance()->permalink($sUrl), 'timeout' => 1000])] : [];
+            return !empty($sUrl) ? [bx_api_get_block('redirect', ['uri' => BxDolPermalinks::getInstance()->permalink($sUrl)])] : [];
 
         if($this->_bAjaxMode) {
             echoJson($this->prepareResponse($sUrl, $this->_bAjaxMode, 'redirect'));

+ 3 - 3
modules/base/general/classes/BxBaseModGeneralFormsEntryHelper.php

@@ -368,7 +368,7 @@ class BxBaseModGeneralFormsEntryHelper extends BxDolProfileForms
         ]);
 
         if($this->_bIsApi)
-            return !empty($sUrl) ? [bx_api_get_block('redirect', ['uri' => bx_api_get_relative_url(BxDolPermalinks::getInstance()->permalink($sUrl)), 'timeout' => 1000])] : [];
+            return !empty($sUrl) ? [bx_api_get_block('redirect', ['uri' => bx_api_get_relative_url(BxDolPermalinks::getInstance()->permalink($sUrl))])] : [];
 
         if($this->_bAjaxMode) {
             echoJson($this->prepareResponse($sUrl, $this->_bAjaxMode, 'redirect'));
@@ -526,7 +526,7 @@ class BxBaseModGeneralFormsEntryHelper extends BxDolProfileForms
         ]);
 
         if($this->_bIsApi)
-            return !empty($sUrl) ? bx_api_get_block('redirect', ['uri' => bx_api_get_relative_url(BxDolPermalinks::getInstance()->permalink($sUrl)), 'timeout' => 1000]) : [];
+            return !empty($sUrl) ? bx_api_get_block('redirect', ['uri' => bx_api_get_relative_url(BxDolPermalinks::getInstance()->permalink($sUrl))]) : [];
 
         $this->_redirectAndExit($sUrl);
     }
@@ -593,7 +593,7 @@ class BxBaseModGeneralFormsEntryHelper extends BxDolProfileForms
         ]);
 
         if($this->_bIsApi)
-            return bx_api_get_block('redirect', ['uri' => bx_api_get_relative_url(BxDolPermalinks::getInstance()->permalink($sUrl)), 'timeout' => 1000]);
+            return bx_api_get_block('redirect', ['uri' => bx_api_get_relative_url(BxDolPermalinks::getInstance()->permalink($sUrl))]);
 
         $this->_redirectAndExit($sUrl, true, $aMarkers);
     }

+ 3 - 3
modules/base/groups/classes/BxBaseModGroupsFormsEntryHelper.php

@@ -177,9 +177,6 @@ class BxBaseModGroupsFormsEntryHelper extends BxBaseModProfileFormsEntryHelper
         else
             $sUrl = 'page.php?i=' . $CNF['URI_VIEW_ENTRY'] . '&id=' . $aContentInfo[$CNF['FIELD_ID']];
 
-        if(bx_is_api())
-            return bx_api_get_block('redirect', ['uri' => '/' . BxDolPermalinks::getInstance()->permalink($sUrl), 'timeout' => 1000]);
-
         /**
          * @hooks
          * @hookdef hook-bx_base_groups-redirect_after_edit '{module_name}', 'redirect_after_edit' - hook to override redirect URL which is used after content changing
@@ -191,6 +188,9 @@ class BxBaseModGroupsFormsEntryHelper extends BxBaseModProfileFormsEntryHelper
             'override_result' => &$sUrl,
         ]);
 
+        if($this->_bIsApi)
+            return bx_api_get_block('redirect', ['uri' => bx_api_get_relative_url(BxDolPermalinks::getInstance()->permalink($sUrl))]);
+
         $this->_redirectAndExit($sUrl);
     }
     

+ 4 - 4
modules/boonex/ads/classes/BxAdsFormsEntryHelper.php

@@ -119,8 +119,8 @@ class BxAdsFormsEntryHelper extends BxBaseModTextFormsEntryHelper
                 $aResult = $oPayments->addToCart($iVendorId, $this->_oModule->_oConfig->getId(), $aCommodity['id'], 1);
                 if(isset($aResult['code']) && (int)$aResult['code'] == 0){
                     $sUrl = $oPayments->getCartUrl($iVendorId);
-                    if (bx_is_api())
-                        return [bx_api_get_block('redirect', ['uri' => bx_api_get_relative_url($sUrl), 'timeout' => 1000])];
+                    if($this->_bIsApi)
+                        return [bx_api_get_block('redirect', ['uri' => bx_api_get_relative_url($sUrl)])];
                 }
             }
         }
@@ -147,8 +147,8 @@ class BxAdsFormsEntryHelper extends BxBaseModTextFormsEntryHelper
                 $aResult = $oPayments->addToCart($iVendorId, $this->_oModule->_oConfig->getId(), $aCommodity['id'], 1);
                 if(isset($aResult['code']) && (int)$aResult['code'] == 0){
                     $sUrl = $oPayments->getCartUrl($iVendorId);
-                    if (bx_is_api())
-                        return bx_api_get_block('redirect', ['uri' => bx_api_get_relative_url($sUrl), 'timeout' => 1000]);
+                    if($this->_bIsApi)
+                        return bx_api_get_block('redirect', ['uri' => bx_api_get_relative_url($sUrl)]);
                 }
             }
         }

+ 1 - 1
template/scripts/BxBaseServiceAccount.php

@@ -536,7 +536,7 @@ class BxBaseServiceAccount extends BxDol
          */
         bx_alert('account', 'after_email_confirmation', $mixedAccountId, false, ['override_result' => &$sUrl]);
         if ($bApi){
-            return  [bx_api_get_block('redirect', ['uri' => bx_api_get_relative_url(BxDolPermalinks::getInstance()->permalink($sUrl)), 'timeout' => 1000])];
+            return  [bx_api_get_block('redirect', ['uri' => bx_api_get_relative_url(BxDolPermalinks::getInstance()->permalink($sUrl))])];
         }
 
         $oTemplate = BxDolTemplate::getInstance();