+// Is the formular sent?
+if ((isFormSent()) && (isGetRequestElementSet('do'))) {
+ // Is the user id and password set?
+ if (!isPostRequestElementSet('wernis_userid')) {
+ // Nothing entered in WDS66 user id
+ displayMessage('{--MEMBER_WERNIS_EMPTY_USERNAME--}');
+ } elseif (!isPostRequestElementSet('wds66_password')) {
+ // Nothing entered in WDS66 password
+ displayMessage('{--MEMBER_WERNIS_EMPTY_PASSWORD--}');
+ } elseif (!isPostRequestElementSet('amount')) {
+ // Nothing entered in amount
+ displayMessage('{--MEMBER_WERNIS_EMPTY_AMOUNT--}');
+ } elseif (postRequestElement('wernis_userid') != bigintval(postRequestElement('wernis_userid'))) {
+ // Only numbers in account id!
+ displayMessage('{--MEMBER_WERNIS_INVALID_USERNAME');
+ } elseif (postRequestElement('amount') != bigintval(postRequestElement('amount'))) {
+ // Only numbers in amount!
+ displayMessage('{--MEMBER_WERNIS_INVALID_AMOUNT--}');
+ } else {
+ // Check input data depending on the mode and execute the requested mode
+ switch (getRequestElement('do')) {
+ case 'withdraw': // Widthdraws WDS66 -> This exchange
+ if (postRequestElement('amount') < getConfig('wernis_min_withdraw')) {
+ // Not enougth entered!
+ displayMessage('{--MEMBER_WERNIS_WITHDRAW_AMOUNT_SMALLER_MIN--}');
+ } else {
+ // All is fine here so do the withdraw
+ $success = WERNIS_EXECUTE_WITHDRAW(postRequestElement('wernis_userid'), md5(postRequestElement('wds66_password')), postRequestElement('amount'));
+ if ($success === true) {
+ // Add it to this amount
+ initReferralSystem();
+ addPointsThroughReferralSystem('wernis_withdraw', getMemberId(), bigintval(postRequestElement('amount')));
+
+ // Update the user data as well..
+ SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `wernis_userid`=%s WHERE `userid`=%s LIMIT 1",
+ array(bigintval(postRequestElement('wernis_userid')), getMemberId()), __FILE__, __LINE__);
+
+ // All done!
+ displayMessage('{--MEMBER_WERNIS_WITHDRAW_DONE--}');
+ return;
+ } elseif ((GET_WERNIS_ERROR_CODE() == 'user_failed') || (GET_WERNIS_ERROR_CODE() == 'own_failed') || (GET_WERNIS_ERROR_CODE() == 'amount_failed')) {
+ // Wrong login data
+ displayMessage(GET_WERNIS_ERROR_MESSAGE());
+ } else {
+ // Something went wrong
+ displayMessage('{--MEMBER_WERNIS_WITHDRAW_FAILED--}');
+ }
+ }
+ break;
+
+ case 'payout': // Payout this exchange -> WDS66
+ if (postRequestElement('amount') < getConfig('wernis_min_payout')) {
+ // Not enougth entered!
+ displayMessage('{--MEMBER_WERNIS_PAYOUT_AMOUNT_SMALLER_MIN--}');
+ } elseif (postRequestElement('amount') > $points) {
+ // Not enougth points left!
+ displayMessage(sprintf(getMessage('MEMBER_WERNIS_PAYOUT_POINTS_DEPLETED'), bigintval(postRequestElement('amount')), bigintval($points)));
+ } else {
+ // All is fine here so do the withdraw
+ $success = WERNIS_EXECUTE_PAYOUT(postRequestElement('wernis_userid'), postRequestElement('amount'));
+ if ($success === true) {
+ // Sub points and ignore return status
+ subtractPoints('wernis_payout', getMemberId(), postRequestElement('amount'));
+
+ // Update WDS66 id
+ SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `wernis_userid`=%s WHERE `userid`=%s LIMIT 1",
+ array(bigintval(postRequestElement('wernis_userid')), getMemberId()), __FILE__, __LINE__);
+
+ // All done!
+ displayMessage('{--MEMBER_WERNIS_PAYOUT_DONE--}');
+ return;
+ } elseif ((GET_WERNIS_ERROR_CODE() == 'user_failed') || (GET_WERNIS_ERROR_CODE() == 'own_failed') || (GET_WERNIS_ERROR_CODE() == 'amount_failed') || (GET_WERNIS_ERROR_CODE() == 'api_amount_failed')) {
+ // Wrong login data
+ displayMessage(GET_WERNIS_ERROR_MESSAGE());
+ } else {
+ // Something went wrong
+ displayMessage('{--MEMBER_WERNIS_PAYOUT_FAILED--}');
+ }
+ }
+ break;
+
+ default: // Invalid mode!
+ logDebugMessage(__FILE__, __LINE__, sprintf("Invalid mode %s detected.", getRequestElement('do')));
+ displayMessage('{%message,MEMBER_WERNIS_MODE_INVALID=' . getRequestElement('do') . '%}');
+ return;
+ } // END - switch
+ }
+} // END - if
+
+// Prepare mode for template name
+$mode = sprintf("member_wernis_mode_%s", getRequestElement('do'));
+
+// Load the template
+loadTemplate($mode, false, $content);
+
+// [EOF]