X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Flibs%2Fwernis_functions.php;h=0868db2f3d48c51182f8bda817e5a41cde43531a;hp=b8c92ccd09a2ab12a38f7e13a4af4185fa042798;hb=155492a5b96cec674846973a8524238b0365a848;hpb=c8d76610eb94093d4eed4fcd8a6cb72e74c8f6d8 diff --git a/inc/libs/wernis_functions.php b/inc/libs/wernis_functions.php index b8c92ccd09..0868db2f3d 100644 --- a/inc/libs/wernis_functions.php +++ b/inc/libs/wernis_functions.php @@ -16,8 +16,8 @@ * $Author:: $ * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 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 * @@ -53,7 +53,7 @@ function GET_WERNIS_ERROR_MESSAGE () { return $GLOBALS['wernis_data']['message']; } elseif (isset($GLOBALS['wernis_data']['status'])) { // Fall-back to status - return getMaskedMessage('WERNIS_ERROR_STATUS', $GLOBALS['wernis_data']['status']); + return '{%message,WERNIS_ERROR_STATUS=' . $GLOBALS['wernis_data']['status'] . '%}'; } else { // Something bad happend return '{--WERNIS_UNKNOWN_ERROR--}'; @@ -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! @@ -83,7 +83,7 @@ function WERNIS_SEND_REQUEST ($scriptName, $requestData = array()) { } // END - if // Is the API id and MD5 hash there? - if ((getConfig('wernis_api_id') == '') || (getConfig('wernis_api_md5') == '')) { + if ((getWernisApiId() == '') || (getWernisApiMd5() == '')) { // Abort here... return array( 'status' => 'failed_general', @@ -92,30 +92,30 @@ function WERNIS_SEND_REQUEST ($scriptName, $requestData = array()) { } // END - if // Add more request data - $requestData['api_id'] = getConfig('wernis_api_id'); - $requestData['api_key'] = getConfig('wernis_api_md5'); + $requestData['api_id'] = getWernisApiId(); + $requestData['api_key'] = getWernisApiMd5(); // 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); } // END - if // Construct the request string - $requestString = getConfig('wernis_api_url') . $scriptName; + $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', - 'message' => getMaskedMessage('WERNIS_API_REQUEST_ERROR', $response[0]) + 'message' => '{%message,WERNIS_API_REQUEST_ERROR=' . $response[0] . '%}' ); } // END - if @@ -193,7 +193,7 @@ function WERNIS_SEND_REQUEST ($scriptName, $requestData = array()) { logDebugMessage(__FUNCTION__, __LINE__, sprintf("Unknown error %s from WDS66 API received.", $data[1])); $return = array( 'status' => 'request_failed', - 'message' => getMaskedMessage('WERNIS_API_REQUEST_FAILED', $data[1]) + 'message' => '{%message,WERNIS_API_REQUEST_FAILED=' . $data[1] . '%}' ); break; } @@ -212,7 +212,7 @@ function WERNIS_SEND_REQUEST ($scriptName, $requestData = array()) { // Tests the function by calling balance.php on the API function WERNIS_TEST_API () { // Result is always failed - $result = false; + $result = FALSE; // Return the result from the lower functions $return = WERNIS_SEND_REQUEST('balance.php'); @@ -220,9 +220,9 @@ function WERNIS_TEST_API () { // Did it went smoothly? if ($return['status'] == 'OK') { // All fine! - $result = true; + $result = TRUE; } else { - // Status failture text + // Status failure text WERNIS_STATUS_MESSAGE($return['message'], $return['status']); } @@ -233,25 +233,25 @@ function WERNIS_TEST_API () { // Widthdraw this amount function WERNIS_EXECUTE_WITHDRAW ($wdsId, $userMd5, $amount) { // Is the sponsor extension installed? - if (getConfig('wernis_withdraw_active') != 'Y') { + 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( 'sub_request' => 'receive', 't_uid' => bigintval($wdsId), 't_md5' => $userMd5, - 'r_uid' => getConfig('wernis_refid'), + 'r_uid' => getWernisRefid(), 'amount' => bigintval($amount), 'purpose' => getMaskedMessage('WERNIS_API_PURPOSE_WITHDRAW', getMemberId()) ); @@ -261,12 +261,12 @@ 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 failture text + // Status failure text WERNIS_STATUS_MESSAGE($return['message'], $return['status']); // Log the transfer @@ -281,13 +281,13 @@ 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( 'sub_request' => 'send', - 't_uid' => getConfig('wernis_refid'), - 't_md5' => getConfig('wernis_pass_md5'), + 't_uid' => getWernisRefid(), + 't_md5' => getWernisPassMd5(), 'r_uid' => bigintval($wdsId), 'amount' => bigintval($amount), 'purpose' => getMaskedMessage('WERNIS_API_PURPOSE_PAYOUT', getMemberId()) @@ -298,12 +298,12 @@ 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 failture text + // Status failure text WERNIS_STATUS_MESSAGE($return['message'], $return['status']); // Log the transfer @@ -316,23 +316,17 @@ function WERNIS_EXECUTE_PAYOUT ($wdsId, $amount) { // Translate the status IN/OUT function translateWernisTransferStatus ($status) { - // Default status - $return = getMaskedMessage('WERNIS_STATUS_UNKNWOWN', $status); + // Default status is unknown + $return = '{%message,WERNIS_STATUS_UNKNWOWN=' . $status . '%}'; - // Which status? - switch ($status) { - case 'IN': // Withdraw - $return = '{--WERNIS_STATUS_WITHDRAW--}'; - break; - - case 'OUT': // Payout - $return = '{--WERNIS_STATUS_PAYOUT--}'; - break; + // Construct message id + $messageId = 'WERNIS_STATUS_' . $status; - case 'FAILED': // Payout - $return = '{--WERNIS_STATUS_FAILED--}'; - break; - } // END - switch + // Is it there? + if (isMessageIdValid($messageId)) { + // Then use it as message string + $return = '{--' . $messageId . '--}'; + } // END - if // Return the status return $return; @@ -341,57 +335,224 @@ 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 (%d, %d, %d, UNIX_TIMESTAMP(), '%s', '%s', '%s')", - array(getMemberId(), bigintval($wdsId), bigintval($amount), $type, $message, $status), __FUNCTION__, __LINE__); + 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), + bigintval($amount), + $type, + $message, + $status + ), __FUNCTION__, __LINE__); } // 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? - if (getConfig('wernis_'.$mode.'_fee_percent') > 0) { + if (getConfig('wernis_' . $mode . '_fee_percent') > 0) { // Percentage fee $points -= $points * getConfig('wernis_'.$mode.'_fee_percent') / 100; - } elseif (getConfig('wernis_'.$mode.'_fee_fix') > 0) { + } elseif (getConfig('wernis_' . $mode . '_fee_fix') > 0) { // Fixed fee - $points -= getConfig('wernis_'.$mode.'_fee_fix'); + $points -= getConfig('wernis_' . $mode . '_fee_fix'); } // Divide/multiply the factor if ($mode == 'payout') { // Divide for payout - $points = $points / getConfig('wernis_payout_factor'); + $points = $points / getWernisPayoutFactor(); } else { // Multiply for withdraw - $points = $points * getConfig('wernis_withdraw_factor'); + $points = $points * getWernisWithdrawFactor(); } // Return value - //* DEBUG: */ debugOutput('mode='.$mode.',points='.$points); + //* DEBUG: */ debugOutput('mode=' . $mode . ',points=' . $points); return $points; } // Add withdraw fees and factor function WERNIS_ADD_WITHDRAW_FEE ($points) { // Is there a percentage or fixed fee? - if (getConfig('wernis_withdraw_fee_percent') > 0) { + if (getWernisWithdrawFeePercent() > 0) { // Percentage fee - $points += $points * getConfig('wernis_withdraw_fee_percent') / 100; - } elseif (getConfig('wernis_withdraw_fee_fix') > 0) { + $points += $points * getWernisWithdrawFeePercent() / 100; + } elseif (getWernisWithdrawFeeFix() > 0) { // Fixed fee - $points += getConfig('wernis_withdraw_fee_fix'); + $points += getWernisWithdrawFeeFix(); } // Return value return $points; } +//----------------------------------------------------------------------------- +// Wrapper functions +//----------------------------------------------------------------------------- + +// Wrapper function for 'wernis_refid' +function getWernisRefid () { + // Is there cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Get config entry + $GLOBALS[__FUNCTION__] = getConfig('wernis_refid'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// Wrapper function for 'wernis_pass_md5' +function getWernisPassMd5 () { + // Is there cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Get config entry + $GLOBALS[__FUNCTION__] = getConfig('wernis_pass_md5'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// Wrapper function for 'wernis_api_id' +function getWernisApiId () { + // Is there cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Get config entry + $GLOBALS[__FUNCTION__] = getConfig('wernis_api_id'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// Wrapper function for 'wernis_api_md5' +function getWernisApiMd5 () { + // Is there cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Get config entry + $GLOBALS[__FUNCTION__] = getConfig('wernis_api_md5'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// Wrapper function for 'wernis_api_url' +function getWernisApiUrl () { + // Is there cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Get config entry + $GLOBALS[__FUNCTION__] = getConfig('wernis_api_url'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// Wrapper function for 'wernis_withdraw_active' +function getWernisWithdrawActive () { + // Is there cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Get config entry + $GLOBALS[__FUNCTION__] = getConfig('wernis_withdraw_active'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// Wrapper function for 'wernis_payout_active' +function getWernisPayoutActive () { + // Is there cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Get config entry + $GLOBALS[__FUNCTION__] = getConfig('wernis_payout_active'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// Wrapper function for 'wernis_withdraw_active' +function isWernisWithdrawActive () { + // Is there cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Get config entry + $GLOBALS[__FUNCTION__] = (getConfig('wernis_withdraw_active') == 'Y'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// Wrapper function for 'wernis_payout_active' +function isWernisPayoutActive () { + // Is there cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Get config entry + $GLOBALS[__FUNCTION__] = (getConfig('wernis_payout_active') == 'Y'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// Wrapper function for 'wernis_withdraw_factor' +function getWernisWithdrawFactor () { + // Is there cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Get config entry + $GLOBALS[__FUNCTION__] = getConfig('wernis_withdraw_factor'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// Wrapper function for 'wernis_payout_factor' +function getWernisPayoutFactor () { + // Is there cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Get config entry + $GLOBALS[__FUNCTION__] = getConfig('wernis_payout_factor'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// Wrapper function for 'wernis_withdraw_fee_percent' +function getWernisWithdrawFeePercent () { + // Is there cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Get config entry + $GLOBALS[__FUNCTION__] = getConfig('wernis_withdraw_fee_percent'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// Wrapper function for 'wernis_withdraw_fee_fix' +function getWernisWithdrawFeeFix () { + // Is there cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Get config entry + $GLOBALS[__FUNCTION__] = getConfig('wernis_withdraw_fee_fix'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + // [EOF] ?>