}
// Get the status message
-function WERNIS_ERROR_MESSAGE () {
+function GET_WERNIS_ERROR_MESSAGE () {
global $WERNIS;
if (isset($WERNIS['message'])) {
// Use raw message
}
}
+// Get the status code
+function GET_WERNIS_ERROR_CODE () {
+ global $WERNIS;
+ 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;
+ }
+}
+
// Sends out a request to the API and returns it's result
function WERNIS_SEND_REQUEST ($scriptName, $requestData = array()) {
- global $CONFIG;
+ global $_CONFIG;
// Is the requestData an array?
if (!is_array($requestData)) {
}
// Is the API id and MD5 hash there?
- if ((empty($CONFIG['wernis_api_id'])) || (empty($CONFIG['wernis_api_md5']))) {
+ if ((empty($_CONFIG['wernis_api_id'])) || (empty($_CONFIG['wernis_api_md5']))) {
// Abort here...
return array(
'status' => "failed_general",
}
// Construct the request string
- $requestString = $CONFIG['wernis_api_url'] . $scriptName."?api_id=".$CONFIG['wernis_api_id']."&api_key=".$CONFIG['wernis_api_md5'];
+ $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;
}
);
break;
+ case "USER": // Missing account or invalid password
+ $return = array(
+ 'status' => "user_failed",
+ 'message' => WERNIS_API_REQUEST_FAILED_USER
+ );
+ break;
+
+ case "OWN": // Transfer to own account
+ $return = array(
+ 'status' => "own_failed",
+ 'message' => WERNIS_API_REQUEST_FAILED_OWN
+ );
+ break;
+
+ case "AMOUNT": // Amount is depleted
+ $return = array(
+ 'status' => "amount_failed",
+ 'message' => WERNIS_API_REQUEST_FAILED_AMOUNT
+ );
+ break;
+
+ case "AMOUNT-SEND": // API amount is depleted
+ $return = array(
+ 'status' => "api_amount_failed",
+ 'message' => WERNIS_API_REQUEST_FAILED_API_AMOUNT
+ );
+ break;
+
default: // Unknown error (maybe new?)
$return = array(
'status' => "request_failed",
// Tests the function by calling balance.php on the API
function WERNIS_TEST_API () {
// Get config first
- global $CONFIG;
+ global $_CONFIG;
$result = false;
// Return the result from the lower functions
return $result;
}
+// Widthdraw this amount
+function WERNIS_EXECUTE_WITHDRAW($userId, $userMd5, $amount) {
+ global $_CONFIG;
+ $result = false;
+
+ // Prepare the purpose
+ $eval = "\$purpose = \"".COMPILE_CODE(WERNIS_API_PURPOSE_WITHDRAW)."\";";
+ eval($eval);
+
+ // Prepare the request data
+ $requestData = array(
+ 'sub_request' => "receive",
+ 't_uid' => bigintval($userId),
+ 't_md5' => $userMd5,
+ 'r_uid' => $_CONFIG['wernis_refid'],
+ 'amount' => bigintval($amount),
+ 'purpose' => urlencode(base64_encode($purpose))
+ );
+
+ // Return the result from the lower functions
+ $return = WERNIS_SEND_REQUEST("book.php", $requestData);
+
+ if ($return['status'] == "OK") {
+ // All fine!
+ $result = true;
+ } else {
+ // Status failture text
+ WERNIS_STATUS_MESSAGE($return['message'], $return['status']);
+ }
+
+ // Return result
+ return $result;
+}
+
+
+// Payout this amount
+function WERNIS_EXECUTE_PAYOUT($userId, $userMd5, $amount) {
+ global $_CONFIG;
+ $result = false;
+
+ // Prepare the purpose
+ $eval = "\$purpose = \"".COMPILE_CODE(WERNIS_API_PURPOSE_PAYOUT)."\";";
+ eval($eval);
+
+ // Prepare the request data
+ $requestData = array(
+ 'sub_request' => "send",
+ 't_uid' => bigintval($userId),
+ 't_md5' => $userMd5,
+ 'r_uid' => $_CONFIG['wernis_refid'],
+ 'amount' => bigintval($amount),
+ 'purpose' => urlencode(base64_encode($purpose))
+ );
+
+ // Return the result from the lower functions
+ $return = WERNIS_SEND_REQUEST("book.php", $requestData);
+
+ if ($return['status'] == "OK") {
+ // All fine!
+ $result = true;
+ } else {
+ // Status failture text
+ WERNIS_STATUS_MESSAGE($return['message'], $return['status']);
+ }
+
+ // Return result
+ return $result;
+}
+
+// Translate the status IN/OUT
+function WERNIS_TRANSFER_STATUS($status) {
+ // Default status
+ $return = sprintf(WERNIS_STATUS_UNKNWOWN, $status);
+ switch ($status) {
+ case "IN": // Withdraw
+ $return = WERNIS_STATUS_WITHDRAW;
+ break;
+
+ case "OUT": // Payout
+ $return = WERNIS_STATUS_PAYOUT;
+ break;
+ }
+
+ // Return the status
+ return $return;
+}
+
//
?>