MAKE_DATETIME($data['wernis_timestamp'], "2"),
'points' => TRANSLATE_COMMA($data['wernis_amount']),
'acc' => bigintval($data['wernis_account']),
'status' => WERNIS_TRANSFER_STATUS($data['wernis_type']),
'raw_type' => strtolower($data['wernis_type']),
'sw' => $SW,
);
// Load row template
$content['rows'] .= LOAD_TEMPLATE("member_wernis_mode_list_row", true, $rowContent);
$SW = 3 - $SW;
}
// Free result
SQL_FREERESULT($result);
} else {
// Default links are not active!
$content['payout_link'] = "".WERNIS_MEMBER_PAYOUT_DISABLED."";
$content['withdraw_link'] = "".WERNIS_MEMBER_WITHDRAW_DISABLED."";
// Is the payout mode active?
if ($_CONFIG['wernis_payout_active'] == "Y") {
// Add link
$content['payout_link'] = "";
} // END - if
// Is the withdraw mode active?
if ($_CONFIG['wernis_withdraw_active'] == "Y") {
// Add link
$content['withdraw_link'] = "";
} // END - if
// Mode chooser! ;-)
$_GET['mode'] = "choose";
}
} elseif (($_GET['mode'] == "payout") && ($_CONFIG['wernis_payout_active'] == "Y")) {
// Get total points and check if the user can request a payout
$points = GET_TOTAL_DATA($GLOBALS['userid'], "user_points", "points") - GET_TOTAL_DATA($GLOBALS['userid'], "user_data", "used_points");
// Remove the registration fee
$points = $points - $_CONFIG['points_register'];
// Is there a percentage or fixed fee?
$points = WERNIS_TAKE_FEE($points, "payout");
// Is this enougth for a payout?
if ($points < $_CONFIG['wernis_min_payout']) {
// No, then abort here
LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_MIN_PAYOUT, TRANSLATE_COMMA($_CONFIG['wernis_min_payout'])));
return;
} // END - if
// No dots here...
$points = explode(".", $points);
$points = bigintval($points[0]);
// Add points to content array
$content['points'] = TRANSLATE_COMMA($points);
$content['min_points'] = TRANSLATE_COMMA($_CONFIG['wernis_min_payout']);
// Add fees to array
WERNIS_ADD_FEES_TO_ARRAY($content);
// Get WDS66 id
$content['wds66_id'] = "";
$result = SQL_QUERY_ESC("SELECT wernis_userid FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
array($GLOBALS['userid']), __FILE__, __LINE__);
// Are there some entries?
if (SQL_NUMROWS($result) == 1) {
// Fetch ID
list($content['wds66_id']) = SQL_FETCHROW($result);
} // END - if
// Free result
SQL_FREERESULT($result);
} elseif (($_GET['mode'] == "withdraw") && ($_CONFIG['wernis_withdraw_active'] == "Y")) {
// Get total points for just displaying them
$points = GET_TOTAL_DATA($GLOBALS['userid'], "user_points", "points") - GET_TOTAL_DATA($GLOBALS['userid'], "user_data", "used_points");
// Prepare data for the template
$content['points'] = TRANSLATE_COMMA($points);
$content['min_points'] = TRANSLATE_COMMA($_CONFIG['wernis_min_withdraw']);
$content['wds66_id'] = "";
// Add fees to array
WERNIS_ADD_FEES_TO_ARRAY($content);
// Get WDS66 id
$result = SQL_QUERY_ESC("SELECT wernis_userid FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
array($GLOBALS['userid']), __FILE__, __LINE__);
// Are there some entries?
if (SQL_NUMROWS($result) == 1) {
// Fetch ID
list($content['wds66_id']) = SQL_FETCHROW($result);
} // END - if
// Free result
SQL_FREERESULT($result);
} else {
// Invalid mode!
LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_MODE_INVALID, SQL_ESCAPE($_GET['mode'])));
return;
}
// Is the formular sent?
if ((isset($_POST['ok'])) && (isset($_GET['mode']))) {
// Is the user ID and password set?
if (empty($_POST['wds66_id'])) {
// Nothing entered in WDS66 user ID
LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_EMPTY_USERNAME);
OUTPUT_HTML("
");
} elseif (empty($_POST['wds66_password'])) {
// Nothing entered in WDS66 password
LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_EMPTY_PASSWORD);
OUTPUT_HTML("
");
} elseif (empty($_POST['amount'])) {
// Nothing entered in amount
LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_EMPTY_AMOUNT);
OUTPUT_HTML("
");
} elseif ($_POST['wds66_id'] != bigintval($_POST['wds66_id'])) {
// Only numbers in account ID!
LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_INVALID_USERNAME);
OUTPUT_HTML("
");
} elseif ($_POST['amount'] != bigintval($_POST['amount'])) {
// Only numbers in amount!
LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_INVALID_AMOUNT);
OUTPUT_HTML("
");
} else {
// Check input data depending on the mode and execute the requested mode
switch ($_GET['mode']) {
case "withdraw": // Widthdraws WDS66 -> This exchange
if ($_POST['amount'] < $_CONFIG['wernis_min_withdraw']) {
// Not enougth entered!
LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_AMOUNT_SMALLER_MIN, bigintval($_CONFIG['wernis_min_withdraw'])));
OUTPUT_HTML("
");
} else {
// All is fine here so do the withdraw
$success = WERNIS_EXECUTE_WITHDRAW($_POST['wds66_id'], md5($_POST['wds66_password']), $_POST['amount']);
if ($success) {
// Add it to this amount
unset($DEPTH);
ADD_POINTS_REFSYSTEM($GLOBALS['userid'], bigintval($_POST['amount']), false, 0, false, "direct");
// Update the user data as well..
$result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET `wernis_userid`=%s WHERE userid=%s LIMIT 1",
array(bigintval($_POST['wds66_id']), $GLOBALS['userid']), __FILE__, __LINE__);
// All done!
LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_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
LOAD_TEMPLATE("admin_settings_saved", false, GET_WERNIS_ERROR_MESSAGE());
OUTPUT_HTML("
");
} else {
// Something went wrong
LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_WITHDRAW_FAILED, GET_WERNIS_ERROR_MESSAGE()));
OUTPUT_HTML("
");
}
}
break;
case "payout": // Payout this exchange -> WDS66
if ($_POST['amount'] < $_CONFIG['wernis_min_payout']) {
// Not enougth entered!
LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_AMOUNT_SMALLER_MIN, bigintval($_CONFIG['wernis_min_payout'])));
OUTPUT_HTML("
");
} elseif ($_POST['amount'] > $points) {
// Not enougth points left!
LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_PAYOUT_POINTS_DEPLETED, bigintval($_POST['amount']), bigintval($points)));
OUTPUT_HTML("
");
} else {
// All is fine here so do the withdraw
$success = WERNIS_EXECUTE_PAYOUT($_POST['wds66_id'], $_POST['amount']);
if ($success) {
// Sub points
SUB_POINTS($GLOBALS['userid'], $_POST['amount']);
// Update WDS66 id
$result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET `wernis_userid`=%s WHERE userid=%s LIMIT 1",
array(bigintval($_POST['wds66_id']), $GLOBALS['userid']), __FILE__, __LINE__);
// All done!
LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_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
LOAD_TEMPLATE("admin_settings_saved", false, GET_WERNIS_ERROR_MESSAGE());
OUTPUT_HTML("
");
} else {
// Something went wrong
LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_WITHDRAW_FAILED, GET_WERNIS_ERROR_MESSAGE()));
OUTPUT_HTML("
");
}
}
break;
default: // Invalid mode!
DEBUG_LOG(__FILE__, __LINE__, sprintf("Invalid mode %s detected.", $_GET['mode']));
LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_MODE_INVALID, SQL_ESCAPE($_GET['mode'])));
return;
}
}
} // END - if
// Prepare mode for template name
$mode = sprintf("member_wernis_mode_%s", SQL_ESCAPE($_GET['mode']));
// Load the template
LOAD_TEMPLATE($mode, false, $content);
//
?>