Wernis API now reconizes failed API responses
[mailer.git] / inc / libs / wernis_functions.php
index 101c5b360685eee3db2c825f1b6fe70c5c6dc136..4d86960d3ca9bd12bbc2030d05b6bb1c44c8548d 100644 (file)
@@ -112,22 +112,29 @@ function WERNIS_SEND_REQUEST ($scriptName, $requestData =  array()) {
        } // END - if
 
        // All (maybe) fine so remove the response header from server
+       $responseLine = '*INVALID*';
        for ($idx = (count($response) - 1); $idx > 1; $idx--) {
                $line = trim($response[$idx]);
                if (!empty($line)) {
-                       $response = $line;
+                       $responseLine = $line;
                        break;
-               }
-       }
+               } // END - if
+       } // END - for
 
-       // Prepare the returning result for higher functions
-       if (substr($response, 0, 1) == '&') {
-               // Remove the leading & (which can be used in Flash)
-               $response = substr($response, 1);
+       // Is the response leaded by a & symbol?
+       if (substr($responseLine, 0, 1) != '&') {
+               // Something badly happened on server-side
+               return array(
+                       'status'  => 'request_problem',
+                       'message' => sprintf(getMessage('WERNIS_API_REQUEST_PROBLEM'), $response[0], htmlentities($responseLine))
+               );
        } // END - if
 
+       // Remove the leading & (which can be used in Flash)
+       $responseLine = substr($responseLine, 1);
+
        // Bring back the response
-       $data = explode('=', $response);
+       $data = explode('=', $responseLine);
 
        // Default return array (should not stay empty)
        $return = array();
@@ -186,7 +193,7 @@ function WERNIS_SEND_REQUEST ($scriptName, $requestData =  array()) {
                // All fine here
                $return = array(
                        'status'   => 'OK',
-                       'response' => $response
+                       'response' => $responseLine
                );
        }
 
@@ -236,9 +243,9 @@ function WERNIS_EXECUTE_WITHDRAW ($wdsId, $userMd5, $amount) {
        // Prepare the request data
        $requestData = array(
                'sub_request' => 'receive',
-               't_userid'    => bigintval($wdsId),
+               't_uid'       => bigintval($wdsId),
                't_md5'       => $userMd5,
-               'r_userid'    => getConfig('wernis_refid'),
+               'r_uid'       => getConfig('wernis_refid'),
                'amount'      => bigintval($amount),
                'purpose'     => encodeString($purpose, false)
        );
@@ -276,9 +283,9 @@ function WERNIS_EXECUTE_PAYOUT ($wdsId, $amount) {
        // Prepare the request data
        $requestData = array(
                'sub_request' => 'send',
-               't_userid'    => getConfig('wernis_refid'),
+               't_uid'       => getConfig('wernis_refid'),
                't_md5'       => getConfig('wernis_pass_md5'),
-               'r_userid'    => bigintval($wdsId),
+               'r_uid'       => bigintval($wdsId),
                'amount'      => bigintval($amount),
                'purpose'     => encodeString($purpose, false)
        );