Details
-
Type: Patch
-
Status: Done/Fixed
-
Priority: Trivial
-
Resolution: Fixed/Completed
-
Affects Version/s: 3.1.2
-
Fix Version/s: 3.1.3
-
Component/s: CiviContribute
-
Labels:None
Description
On servers where open_basedir is configured eWay payment processor presents an error message.
warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in /var/www/d6c22-html/sites/all/modules/civicrm/CRM/Core/Payment/eWAY.php on line 229.
This patch prevents the error message from happening.
Index: CRM/Core/Payment/eWAY.php
===================================================================
— CRM/Core/Payment/eWAY.php (revision 26250)
+++ CRM/Core/Payment/eWAY.php (working copy)
@@ -225,8 +225,15 @@
curl_setopt($submit, CURLOPT_POST, true );
curl_setopt($submit, CURLOPT_RETURNTRANSFER, true ); // return the result on success, FALSE on failure
curl_setopt($submit, CURLOPT_POSTFIELDS, $requestxml );
- curl_setopt($submit, CURLOPT_TIMEOUT, 36000 );
- curl_setopt($submit, CURLOPT_FOLLOWLOCATION, 1 ); // ensures any Location headers are followed
+ curl_setopt($submit, CURLOPT_TIMEOUT, 36000 );
+ // if open_basedir or safe_mode are enabled in PHP settings CURLOPT_FOLLOWLOCATION won't work so don't apply it
+ // it's not really required
+ if (ini_get('open_basedir') == '' && ini_get('safe_mode' == 'Off')) { + curl_setopt($submit, CURLOPT_FOLLOWLOCATION, 1 ); // ensures any Location headers are followed + }+
+
+
// Send the data out over the wire
//--------------------------------