瀏覽代碼

#4003 - Customize redirectAfterAdd for profiles

roman.lesnikov@gmail.com 4 年之前
父節點
當前提交
1e76f434ac

+ 1 - 1
inc/classes/BxDolProfileForms.php

@@ -25,7 +25,7 @@ class BxDolProfileForms extends BxDolFactory
         if ($isPermalink)
             $sUrl = BxDolPermalinks::getInstance()->permalink($sUrl);
 
-        if(strncmp($sUrl, BX_DOL_URL_ROOT, strlen(BX_DOL_URL_ROOT)) !== 0)
+        if(!bx_has_proto($sUrl))
             $sUrl = BX_DOL_URL_ROOT . $sUrl;
 
         header('Location: ' . $this->_replaceMarkers($sUrl, $aMarkers));

+ 4 - 2
modules/base/general/classes/BxBaseModGeneralFormsEntryHelper.php

@@ -300,11 +300,13 @@ class BxBaseModGeneralFormsEntryHelper extends BxDolProfileForms
         $this->redirectAfterAdd($aContentInfo);
     }
 
-    public function redirectAfterAdd($aContentInfo)
+    public function redirectAfterAdd($aContentInfo, $sUrl = '')
     {
     	$CNF = &$this->_oModule->_oConfig->CNF;
 
-    	$sUrl = 'page.php?i=' . $CNF['URI_VIEW_ENTRY'] . '&id=' . $aContentInfo[$CNF['FIELD_ID']];
+        if ($sUrl == '')
+    	   $sUrl = 'page.php?i=' . $CNF['URI_VIEW_ENTRY'] . '&id=' . $aContentInfo[$CNF['FIELD_ID']];
+        
         bx_alert($this->_oModule->getName(), 'redirect_after_add', 0, false, array(
             'ajax_mode' => $this->_bAjaxMode,
             'content' => $aContentInfo,

+ 0 - 8
modules/base/profile/classes/BxBaseModProfileFormsEntryHelper.php

@@ -244,14 +244,6 @@ class BxBaseModProfileFormsEntryHelper extends BxBaseModGeneralFormsEntryHelper
             $oSession->unsetValue('custom-referrer');
         }
 
-        if($sRedirectUrl) {
-            if(!bx_has_proto($sRedirectUrl))
-                $sRedirectUrl = BX_DOL_URL_ROOT . BxDolPermalinks::getInstance()->permalink($sRedirectUrl);
-
-            header('Location: ' . $sRedirectUrl);
-            exit;
-        }
-
         parent::redirectAfterAdd($aContentInfo);
     }
 }