generateDateTime($data['wernis_timestamp'], '2'),
'points' => translateComma($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 (getConfig('wernis_payout_active') == 'Y') {
// Add link
$content['payout_link'] = "";
} // END - if
// Is the withdraw mode active?
if (getConfig('wernis_withdraw_active') == 'Y') {
// Add link
$content['withdraw_link'] = "";
} // END - if
// Mode chooser! ;-)
REQUEST_SET_GET('mode', 'choose');
}
} elseif ((REQUEST_GET('mode') == 'payout') && (getConfig('wernis_payout_active') == 'Y')) {
// Get total points and check if the user can request a payout
$points = GET_TOTAL_DATA(getUserId(), 'user_points', 'points') - GET_TOTAL_DATA(getUserId(), 'user_data', 'used_points');
// Remove the registration fee
$points = $points - getConfig('points_register');
// Is there a percentage or fixed fee?
$points = WERNIS_TAKE_FEE($points, 'payout');
// Is this enougth for a payout?
if ($points < getConfig('wernis_min_payout')) {
// No, then abort here
LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_MIN_PAYOUT'), translateComma(getConfig('wernis_min_payout'))));
return;
} // END - if
// No dots here...
$points = explode('.', $points);
$points = bigintval($points[0]);
// Add points to content array
$content['points'] = translateComma($points);
$content['min_points'] = translateComma(getConfig('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(getUserId()), __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 ((REQUEST_GET('mode') == 'withdraw') && (getConfig('wernis_withdraw_active') == 'Y')) {
// Get total points for just displaying them
$points = GET_TOTAL_DATA(getUserId(), 'user_points', 'points') - GET_TOTAL_DATA(getUserId(), 'user_data', 'used_points');
// Prepare data for the template
$content['points'] = translateComma($points);
$content['min_points'] = translateComma(getConfig('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(getUserId()), __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(getMessage('WERNIS_MEMBER_MODE_INVALID'), REQUEST_GET('mode')));
return;
}
// Is the formular sent?
if ((isFormSent()) && (REQUEST_ISSET_GET('mode'))) {
// Is the user ID and password set?
if (!REQUEST_ISSET_POST(('wds66_id'))) {
// Nothing entered in WDS66 user ID
LOAD_TEMPLATE('admin_settings_saved', false, getMessage('WERNIS_MEMBER_EMPTY_USERNAME'));
} elseif (!REQUEST_ISSET_POST(('wds66_password'))) {
// Nothing entered in WDS66 password
LOAD_TEMPLATE('admin_settings_saved', false, getMessage('WERNIS_MEMBER_EMPTY_PASSWORD'));
} elseif (!REQUEST_ISSET_POST(('amount'))) {
// Nothing entered in amount
LOAD_TEMPLATE('admin_settings_saved', false, getMessage('WERNIS_MEMBER_EMPTY_AMOUNT'));
} elseif (REQUEST_POST('wds66_id') != bigintval(REQUEST_POST('wds66_id'))) {
// Only numbers in account ID!
LOAD_TEMPLATE('admin_settings_saved', false, getMessage('WERNIS_MEMBER_INVALID_USERNAME'));
} elseif (REQUEST_POST('amount') != bigintval(REQUEST_POST('amount'))) {
// Only numbers in amount!
LOAD_TEMPLATE('admin_settings_saved', false, getMessage('WERNIS_MEMBER_INVALID_AMOUNT'));
} else {
// Check input data depending on the mode and execute the requested mode
switch (REQUEST_GET('mode')) {
case "withdraw": // Widthdraws WDS66 -> This exchange
if (REQUEST_POST('amount') < getConfig('wernis_min_withdraw')) {
// Not enougth entered!
LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_AMOUNT_SMALLER_MIN'), getConfig(('wernis_min_withdraw'))));
} else {
// All is fine here so do the withdraw
$success = WERNIS_EXECUTE_WITHDRAW(REQUEST_POST('wds66_id'), md5(REQUEST_POST('wds66_password')), REQUEST_POST('amount'));
if ($success === true) {
// Add it to this amount
unset($GLOBALS['ref_level']);
ADD_POINTS_REFSYSTEM_DIRECT('wernis_withdraw', getUserId(), bigintval(REQUEST_POST('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(REQUEST_POST('wds66_id')), getUserId()), __FILE__, __LINE__);
// All done!
LOAD_TEMPLATE('admin_settings_saved', false, getMessage('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());
} else {
// Something went wrong
LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_WITHDRAW_FAILED'), GET_WERNIS_ERROR_MESSAGE()));
}
}
break;
case 'payout': // Payout this exchange -> WDS66
if (REQUEST_POST('amount') < getConfig('wernis_min_payout')) {
// Not enougth entered!
LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_AMOUNT_SMALLER_MIN'), getConfig(('wernis_min_payout'))));
} elseif (REQUEST_POST('amount') > $points) {
// Not enougth points left!
LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_PAYOUT_POINTS_DEPLETED'), bigintval(REQUEST_POST('amount')), bigintval($points)));
} else {
// All is fine here so do the withdraw
$success = WERNIS_EXECUTE_PAYOUT(REQUEST_POST('wds66_id'), REQUEST_POST('amount'));
if ($success === true) {
// Sub points
SUB_POINTS('wernis_payout', getUserId(), REQUEST_POST('amount'));
// Update WDS66 id
SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET `wernis_userid`=%s WHERE userid=%s LIMIT 1",
array(bigintval(REQUEST_POST('wds66_id')), getUserId()), __FILE__, __LINE__);
// All done!
LOAD_TEMPLATE('admin_settings_saved', false, getMessage('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());
} else {
// Something went wrong
LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_WITHDRAW_FAILED'), GET_WERNIS_ERROR_MESSAGE()));
}
}
break;
default: // Invalid mode!
DEBUG_LOG(__FILE__, __LINE__, sprintf("Invalid mode %s detected.", REQUEST_GET('mode')));
LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_MODE_INVALID'), REQUEST_GET('mode')));
return;
}
}
} // END - if
// Prepare mode for template name
$mode = sprintf("member_wernis_mode_%s", REQUEST_GET('mode'));
// Load the template
LOAD_TEMPLATE($mode, false, $content);
//
?>