if (isset($WERNIS['status'])) {
// Use raw message
return $WERNIS['status'];
- } elseif (isset($WERNIS['status'])) {
- // Fall-back to status
- return sprintf(WERNIS_ERROR_STATUS, $WERNIS['status']);
} else {
// Something bad happend
return WERNIS_UNKNOWN_ERROR;
'status' => "failed_general",
'message' => WERNIS_API_REQUEST_DATA_INVALID
);
- }
+ } // END - if
// Is the API id and MD5 hash there?
if ((empty($_CONFIG['wernis_api_id'])) || (empty($_CONFIG['wernis_api_md5']))) {
'status' => "failed_general",
'message' => WERNIS_API_REQUEST_DATA_MISSING
);
- }
+ } // END - if
+
+ // Add more request data
+ $requestData['api_id'] = bigintval($_CONFIG['wernis_api_id']);
+ $requestData['api_key'] = $_CONFIG['wernis_api_key'];
// Construct the request string
- $requestString = $_CONFIG['wernis_api_url'] . $scriptName."?api_id=".$_CONFIG['wernis_api_id']."&api_key=".$_CONFIG['wernis_api_md5'];
- foreach ($requestData as $key=>$value) {
- $requestString .= "&".$key."=".$value;
- }
+ $requestString = $_CONFIG['wernis_api_url'] . $scriptName;
// Get the raw response from the lower function
- $response = MXCHANGE_OPEN($requestString);
+ $response = POST_URL($requestString, $requestData);
// Check the response header if all is fine
if (strpos($response[0], "200") === false) {
// Something bad happend... :(
return array(
- 'status' => "request_eror",
+ 'status' => "request_error",
'message' => sprintf(WERNIS_API_REQUEST_ERROR, $response[0])
);
- }
+ } // END - if
// All (maybe) fine so remove the response header from server
$response = $response[(count($response) - 1)];
if (substr($response, 0, 1) == "&") {
// Remove the leading & (which can be used in Flash)
$response = substr($response, 1);
- }
+ } // END - if
// Bring back the response
$data = explode("=", $response);
$return = array();
// We use only the first two entries (which shall be fine)
- if ($data[0] == "error") {
+ if ($data[0] === "error") {
// The request has failed... :(
switch ($data[1]) {
+ case "404": // Invalid API ID
case "AUTH": // Authorization has failed
$return = array(
'status' => "auth_failed",
);
break;
+ case "LOCKED": // User account is locked!
+ case "PASS": // Bad passphrase entered
case "USER": // Missing account or invalid password
$return = array(
'status' => "user_failed",
}
// Widthdraw this amount
-function WERNIS_EXECUTE_WITHDRAW($userId, $userMd5, $amount) {
+function WERNIS_EXECUTE_WITHDRAW ($wdsId, $userMd5, $amount) {
global $_CONFIG;
$result = false;
// Prepare the request data
$requestData = array(
'sub_request' => "receive",
- 't_uid' => bigintval($userId),
+ 't_uid' => bigintval($wdsId),
't_md5' => $userMd5,
'r_uid' => $_CONFIG['wernis_refid'],
'amount' => bigintval($amount),
if ($return['status'] == "OK") {
// All fine!
$result = true;
+
+ // Log the transfer
+ WERNIS_LOG_TRANSFER($wdsId, $amount, 'IN');
} else {
// Status failture text
WERNIS_STATUS_MESSAGE($return['message'], $return['status']);
+
+ // Log the transfer
+ WERNIS_LOG_TRANSFER($wdsId, $amount, 'FAILED', $return['message'], $return['status']);
}
// Return result
// Payout this amount
-function WERNIS_EXECUTE_PAYOUT($userId, $userMd5, $amount) {
+function WERNIS_EXECUTE_PAYOUT ($wdsId, $userMd5, $amount) {
global $_CONFIG;
$result = false;
// Prepare the request data
$requestData = array(
'sub_request' => "send",
- 't_uid' => bigintval($userId),
+ 't_uid' => bigintval($wdsId),
't_md5' => $userMd5,
'r_uid' => $_CONFIG['wernis_refid'],
'amount' => bigintval($amount),
if ($return['status'] == "OK") {
// All fine!
$result = true;
+
+ // Log the transfer
+ WERNIS_LOG_TRANSFER($wdsId, $amount, 'OUT');
} else {
// Status failture text
WERNIS_STATUS_MESSAGE($return['message'], $return['status']);
+
+ // Log the transfer
+ WERNIS_LOG_TRANSFER($wdsId, $amount, 'FAILED', $return['message'], $return['status']);
}
// Return result
}
// Translate the status IN/OUT
-function WERNIS_TRANSFER_STATUS($status) {
+function WERNIS_TRANSFER_STATUS ($status) {
// Default status
$return = sprintf(WERNIS_STATUS_UNKNWOWN, $status);
switch ($status) {
case "OUT": // Payout
$return = WERNIS_STATUS_PAYOUT;
break;
+
+ case "FAILED": // Payout
+ $return = WERNIS_STATUS_FAILED;
+ break;
}
// Return the status
return $return;
}
+function WERNIS_LOG_TRANSFER ($wdsId, $amount, $type = 'FAILED', $message = null, $status = null) {
+ // Register this wernis movement
+ $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_user_wernis (`userid`, `wernis_account`, `wernis_amount`, `wernis_timestamp`, `wernis_type`, `wernis_api_message`, `wernis_api_status`) VALUES(%d, %d, %d, UNIX_TIMESTAMP(), '%s', '%s', '%s')",
+ array($GLOBALS['userid'], bigintval($wdsId), bigintval($amount), $type, $message, $status), __FILE__, __LINE__);
+}
+
//
?>