+ 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')",
+ 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);
+ if (!in_array($mode, array('payout', 'withdraw'))) {
+ // Log error and abort
+ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . getMemberId() . ',mode=' . $mode . ',points=' . $points);
+ return false;
+ } // END - if
+
+ // Is there a percentage or fixed fee?
+ if (getConfig('wernis_' . $mode . '_fee_percent') > 0) {
+ // Percentage fee
+ $points -= $points * getConfig('wernis_'.$mode.'_fee_percent') / 100;
+ } elseif (getConfig('wernis_' . $mode . '_fee_fix') > 0) {
+ // Fixed fee
+ $points -= getConfig('wernis_' . $mode . '_fee_fix');
+ }
+
+ // Divide/multiply the factor
+ if ($mode == 'payout') {
+ // Divide for payout
+ $points = $points / getWernisPayoutFactor();
+ } else {
+ // Multiply for withdraw
+ $points = $points * getWernisWithdrawFactor();
+ }
+
+ // Return value
+ //* 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 (getWernisWithdrawFeePercent() > 0) {
+ // Percentage fee
+ $points += $points * getWernisWithdrawFeePercent() / 100;
+ } elseif (getWernisWithdrawFeeFix() > 0) {
+ // Fixed fee
+ $points += getWernisWithdrawFeeFix();
+ }
+
+ // Return value
+ return $points;
+}
+
+// ---------------------------------------------------------------------------
+// Wrapper functions
+// ---------------------------------------------------------------------------
+
+// Wrapper function for 'wernis_refid'
+function getWernisRefid () {
+ // Do we have 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 () {
+ // Do we have 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 () {
+ // Do we have 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 () {
+ // Do we have 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 () {
+ // Do we have 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 () {
+ // Do we have 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 () {
+ // Do we have 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 () {
+ // Do we have 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 () {
+ // Do we have 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 () {
+ // Do we have 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 () {
+ // Do we have 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 () {
+ // Do we have 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 () {
+ // Do we have cache?
+ if (!isset($GLOBALS[__FUNCTION__])) {
+ // Get config entry
+ $GLOBALS[__FUNCTION__] = getConfig('wernis_withdraw_fee_fix');
+ } // END - if
+
+ // Return cache
+ return $GLOBALS[__FUNCTION__];