Added some wrappers to speed-up things
[mailer.git] / inc / libs / wernis_functions.php
index 24969366a6f04a13378acec742f6d70ba70daafe..48f3677c9c2a4c0e3efd7061f5c07f39b0dc0bd1 100644 (file)
@@ -16,8 +16,8 @@
  * $Author::                                                          $ *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009 - 2011 by Mailer Developer Team                   *
- * For more information visit: http://www.mxchange.org                  *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team                   *
+ * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
  * it under the terms of the GNU General Public License as published by *
@@ -72,7 +72,7 @@ function GET_WERNIS_ERROR_CODE () {
 }
 
 // Sends out a request to the API and returns it's result
-function WERNIS_SEND_REQUEST ($scriptName, $requestData =  array()) {
+function WERNIS_SEND_REQUEST ($scriptName, $requestData = array()) {
        // Is the requestData an array?
        if (!is_array($requestData)) {
                // Then abort here!
@@ -98,7 +98,7 @@ function WERNIS_SEND_REQUEST ($scriptName, $requestData =  array()) {
        // Is a purpose there?
        if (isset($requestData['purpose'])) {
                // Eval the purpose
-               eval('$purpose = "' . doFinalCompilation($requestData['purpose'], false) . '";');
+               eval('$purpose = "' . doFinalCompilation($requestData['purpose'], FALSE) . '";');
 
                // Prepare the purpose, it needs encoding
                $requestData['purpose'] = encodeString($purpose);
@@ -108,10 +108,10 @@ function WERNIS_SEND_REQUEST ($scriptName, $requestData =  array()) {
        $requestString = getWernisApiUrl() . $scriptName;
 
        // Get the raw response from the lower function
-       $response = sendPostRequest($requestString, $requestData);
+       $response = sendHttpPostRequest($requestString, $requestData);
 
        // Check the response header if all is fine
-       if (strpos($response[0], '200') === false) {
+       if (!isHttpStatusOkay($response[0])) {
                // Something bad happend... :(
                return array(
                        'status'  => 'request_error',
@@ -190,7 +190,7 @@ function WERNIS_SEND_REQUEST ($scriptName, $requestData =  array()) {
                                break;
 
                        default: // Unknown error (maybe new?)
-                               logDebugMessage(__FUNCTION__, __LINE__, sprintf("Unknown error %s from WDS66 API received.", $data[1]));
+                               logDebugMessage(__FUNCTION__, __LINE__, sprintf('Unknown error %s from WDS66 API received.', $data[1]));
                                $return = array(
                                        'status'  => 'request_failed',
                                        'message' => '{%message,WERNIS_API_REQUEST_FAILED=' . $data[1] . '%}'
@@ -211,16 +211,25 @@ function WERNIS_SEND_REQUEST ($scriptName, $requestData =  array()) {
 
 // Tests the function by calling balance.php on the API
 function WERNIS_TEST_API () {
+       // Only as admin
+       assert(isAdmin());
+
        // Result is always failed
-       $result = false;
+       $result = FALSE;
+
+       // Prepare the request data
+       $requestData = array(
+               't_uid'       => getWernisRefid(),
+               't_md5'       => getWernisPassMd5()
+       );
 
        // Return the result from the lower functions
-       $return = WERNIS_SEND_REQUEST('balance.php');
+       $return = WERNIS_SEND_REQUEST('balance.php', $requestData);
 
        // Did it went smoothly?
        if ($return['status'] == 'OK') {
                // All fine!
-               $result = true;
+               $result = TRUE;
        } else {
                // Status failure text
                WERNIS_STATUS_MESSAGE($return['message'], $return['status']);
@@ -236,15 +245,15 @@ function WERNIS_EXECUTE_WITHDRAW ($wdsId, $userMd5, $amount) {
        if (!isWernisWithdrawActive()) {
                if (!isExtensionActive('sponsor')) {
                        // No, abort here
-                       return false;
+                       return FALSE;
                } elseif (!isSponsor()) {
                        // No sponsor, not allowed to withdraw!
-                       return false;
+                       return FALSE;
                }
        } // END - if
 
        // Default is failed attempt
-       $result = false;
+       $result = FALSE;
 
        // Prepare the request data
        $requestData = array(
@@ -261,10 +270,10 @@ function WERNIS_EXECUTE_WITHDRAW ($wdsId, $userMd5, $amount) {
 
        if ($return['status'] == 'OK') {
                // All fine!
-               $result = true;
+               $result = TRUE;
 
                // Log the transfer
-               WERNIS_LOG_TRANSFER($wdsId, $amount, 'IN');
+               WERNIS_LOG_TRANSFER($wdsId, $amount, 'WITHDRAW');
        } else {
                // Status failure text
                WERNIS_STATUS_MESSAGE($return['message'], $return['status']);
@@ -281,7 +290,7 @@ function WERNIS_EXECUTE_WITHDRAW ($wdsId, $userMd5, $amount) {
 // Payout this amount
 function WERNIS_EXECUTE_PAYOUT ($wdsId, $amount) {
        // Default is failed attempt
-       $result = false;
+       $result = FALSE;
 
        // Prepare the request data
        $requestData = array(
@@ -298,10 +307,10 @@ function WERNIS_EXECUTE_PAYOUT ($wdsId, $amount) {
 
        if ($return['status'] == 'OK') {
                // All fine!
-               $result = true;
+               $result = TRUE;
 
                // Log the transfer
-               WERNIS_LOG_TRANSFER($wdsId, $amount, 'OUT');
+               WERNIS_LOG_TRANSFER($wdsId, $amount, 'PAYOUT');
        } else {
                // Status failure text
                WERNIS_STATUS_MESSAGE($return['message'], $return['status']);
@@ -316,19 +325,17 @@ function WERNIS_EXECUTE_PAYOUT ($wdsId, $amount) {
 
 // Translate the status IN/OUT
 function translateWernisTransferStatus ($status) {
-       // Default status
+       // Default status is unknown
        $return = '{%message,WERNIS_STATUS_UNKNWOWN=' . $status . '%}';
 
-       // Which status?
-       switch ($status) {
-               case 'IN': // Withdraw
-                       $return = '{--WERNIS_STATUS_WITHDRAW--}';
-                       break;
+       // Construct message id
+       $messageId = 'WERNIS_STATUS_' . $status;
 
-               case 'OUT': // Payout
-                       $return = '{--WERNIS_STATUS_PAYOUT--}';
-                       break;
-       } // END - switch
+       // Is it there?
+       if (isMessageIdValid($messageId)) {
+               // Then use it as message string
+               $return = '{--' . $messageId . '--}';
+       } // END - if
 
        // Return the status
        return $return;
@@ -337,7 +344,7 @@ function translateWernisTransferStatus ($status) {
 // Log the transfer
 function WERNIS_LOG_TRANSFER ($wdsId, $amount, $type = 'FAILED', $message = '', $status = '') {
        // Register this wernis movement
-       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 (%s, %s, %s, UNIX_TIMESTAMP(), '%s', '%s', '%s')",
+       sqlQueryEscaped("INSERT INTO `{?_MYSQL_PREFIX?}_user_wernis` (`userid`, `wernis_account`, `wernis_amount`, `wernis_timestamp`, `wernis_type`, `wernis_api_message`, `wernis_api_status`) VALUES (%s, %s, %s, UNIX_TIMESTAMP(), '%s', '%s', '%s')",
                array(
                        getMemberId(),
                        bigintval($wdsId),
@@ -351,11 +358,11 @@ function WERNIS_LOG_TRANSFER ($wdsId, $amount, $type = 'FAILED', $message = '',
 // Take fees and factor
 function WERNIS_TAKE_FEE ($points, $mode) {
        // Payout or withdraw are allowed modes!
-       //* DEBUG: */ debugOutput('mode='.$mode.',points='.$points);
+       //* DEBUG: */ debugOutput('mode=' . $mode . ',points=' . $points);
        if (!in_array($mode, array('payout', 'withdraw'))) {
                // Log error and abort
-               logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . getMemberId() . ',mode=' . $mode . ',points=' . $points);
-               return false;
+               logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . getMemberId() . ',mode=' . $mode . ',points=' . $points . ' - unknown mode detected.');
+               return FALSE;
        } // END - if
 
        // Is there a percentage or fixed fee?
@@ -402,7 +409,7 @@ function WERNIS_ADD_WITHDRAW_FEE ($points) {
 
 // Wrapper function for 'wernis_refid'
 function getWernisRefid () {
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__])) {
                // Get config entry
                $GLOBALS[__FUNCTION__] = getConfig('wernis_refid');
@@ -414,7 +421,7 @@ function getWernisRefid () {
 
 // Wrapper function for 'wernis_pass_md5'
 function getWernisPassMd5 () {
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__])) {
                // Get config entry
                $GLOBALS[__FUNCTION__] = getConfig('wernis_pass_md5');
@@ -426,7 +433,7 @@ function getWernisPassMd5 () {
 
 // Wrapper function for 'wernis_api_id'
 function getWernisApiId () {
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__])) {
                // Get config entry
                $GLOBALS[__FUNCTION__] = getConfig('wernis_api_id');
@@ -438,7 +445,7 @@ function getWernisApiId () {
 
 // Wrapper function for 'wernis_api_md5'
 function getWernisApiMd5 () {
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__])) {
                // Get config entry
                $GLOBALS[__FUNCTION__] = getConfig('wernis_api_md5');
@@ -450,7 +457,7 @@ function getWernisApiMd5 () {
 
 // Wrapper function for 'wernis_api_url'
 function getWernisApiUrl () {
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__])) {
                // Get config entry
                $GLOBALS[__FUNCTION__] = getConfig('wernis_api_url');
@@ -462,7 +469,7 @@ function getWernisApiUrl () {
 
 // Wrapper function for 'wernis_withdraw_active'
 function getWernisWithdrawActive () {
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__])) {
                // Get config entry
                $GLOBALS[__FUNCTION__] = getConfig('wernis_withdraw_active');
@@ -474,7 +481,7 @@ function getWernisWithdrawActive () {
 
 // Wrapper function for 'wernis_payout_active'
 function getWernisPayoutActive () {
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__])) {
                // Get config entry
                $GLOBALS[__FUNCTION__] = getConfig('wernis_payout_active');
@@ -486,7 +493,7 @@ function getWernisPayoutActive () {
 
 // Wrapper function for 'wernis_withdraw_active'
 function isWernisWithdrawActive () {
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__])) {
                // Get config entry
                $GLOBALS[__FUNCTION__] = (getConfig('wernis_withdraw_active') == 'Y');
@@ -498,7 +505,7 @@ function isWernisWithdrawActive () {
 
 // Wrapper function for 'wernis_payout_active'
 function isWernisPayoutActive () {
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__])) {
                // Get config entry
                $GLOBALS[__FUNCTION__] = (getConfig('wernis_payout_active') == 'Y');
@@ -510,7 +517,7 @@ function isWernisPayoutActive () {
 
 // Wrapper function for 'wernis_withdraw_factor'
 function getWernisWithdrawFactor () {
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__])) {
                // Get config entry
                $GLOBALS[__FUNCTION__] = getConfig('wernis_withdraw_factor');
@@ -522,7 +529,7 @@ function getWernisWithdrawFactor () {
 
 // Wrapper function for 'wernis_payout_factor'
 function getWernisPayoutFactor () {
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__])) {
                // Get config entry
                $GLOBALS[__FUNCTION__] = getConfig('wernis_payout_factor');
@@ -534,7 +541,7 @@ function getWernisPayoutFactor () {
 
 // Wrapper function for 'wernis_withdraw_fee_percent'
 function getWernisWithdrawFeePercent () {
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__])) {
                // Get config entry
                $GLOBALS[__FUNCTION__] = getConfig('wernis_withdraw_fee_percent');
@@ -546,7 +553,7 @@ function getWernisWithdrawFeePercent () {
 
 // Wrapper function for 'wernis_withdraw_fee_fix'
 function getWernisWithdrawFeeFix () {
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__])) {
                // Get config entry
                $GLOBALS[__FUNCTION__] = getConfig('wernis_withdraw_fee_fix');
@@ -556,5 +563,53 @@ function getWernisWithdrawFeeFix () {
        return $GLOBALS[__FUNCTION__];
 }
 
+// Wrapper function for 'wernis_payout_fee_percent'
+function getWernisPayoutFeePercent () {
+       // Is there cache?
+       if (!isset($GLOBALS[__FUNCTION__])) {
+               // Get config entry
+               $GLOBALS[__FUNCTION__] = getConfig('wernis_payout_fee_percent');
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__];
+}
+
+// Wrapper function for 'wernis_payout_fee_fix'
+function getWernisPayoutFeeFix () {
+       // Is there cache?
+       if (!isset($GLOBALS[__FUNCTION__])) {
+               // Get config entry
+               $GLOBALS[__FUNCTION__] = getConfig('wernis_payout_fee_fix');
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__];
+}
+
+// Wrapper function for 'wernis_min_payout'
+function getWernisMinPayout () {
+       // Is there cache?
+       if (!isset($GLOBALS[__FUNCTION__])) {
+               // Get config entry
+               $GLOBALS[__FUNCTION__] = getConfig('wernis_min_payout');
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__];
+}
+
+// Wrapper function for 'wernis_min_withdraw'
+function getWernisMinWithdraw () {
+       // Is there cache?
+       if (!isset($GLOBALS[__FUNCTION__])) {
+               // Get config entry
+               $GLOBALS[__FUNCTION__] = getConfig('wernis_min_withdraw');
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__];
+}
+
 // [EOF]
 ?>