generateDateTime($data['wernis_timestamp'], 2),
'points' => translateComma($data['wernis_amount']),
'wernis_account' => bigintval($data['wernis_account']),
'status' => WERNIS_TRANSFER_STATUS($data['wernis_type']),
'raw_type' => strtolower($data['wernis_type']),
'sw' => $SW,
);
// Load row template
$content['rows'] .= loadTemplate('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! ;-)
setRequestGetElement('mode', 'choose');
}
} elseif ((getRequestElement('mode') == 'payout') && (getConfig('wernis_payout_active') == 'Y')) {
// Get total points and check if the user can request a payout
$points = countSumTotalData(getMemberId(), 'user_points', 'points') - countSumTotalData(getMemberId(), '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
loadTemplate('admin_settings_saved', false, sprintf(
getMessage('WERNIS_MEMBER_MIN_PAYOUT'),
translateComma(getConfig('wernis_min_payout')),
translateComma($points)
));
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);
// Init WDS66 userid
$content['wernis_userid'] = '';
// Are there some entries?
if (fetchUserData(getMemberId())) {
// Fetch id
$content['wernis_userid'] = getUserData('wernis_userid');
} // END - if
} elseif ((getRequestElement('mode') == 'withdraw') && (getConfig('wernis_withdraw_active') == 'Y')) {
// Get total points for just displaying them
$points = countSumTotalData(getMemberId(), 'user_points', 'points') - countSumTotalData(getMemberId(), 'user_data', 'used_points');
// Prepare data for the template
$content['points'] = translateComma($points);
$content['min_points'] = translateComma(getConfig('wernis_min_withdraw'));
$content['wernis_userid'] = '';
// Add fees to array
WERNIS_ADD_FEES_TO_ARRAY($content);
// Get WDS66 id
if (fetchUserData(getMemberId())) {
// Fetch id
$content['wernis_userid'] = getUserData('wernis_userid');
} // END - if
} else {
// Invalid mode!
loadTemplate('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_MODE_INVALID'), getRequestElement('mode')));
return;
}
// Is the formular sent?
if ((isFormSent()) && (isGetRequestElementSet('mode'))) {
// Is the user id and password set?
if (!isPostRequestElementSet(('wernis_userid'))) {
// Nothing entered in WDS66 user id
loadTemplate('admin_settings_saved', false, getMessage('WERNIS_MEMBER_EMPTY_USERNAME'));
} elseif (!isPostRequestElementSet(('wds66_password'))) {
// Nothing entered in WDS66 password
loadTemplate('admin_settings_saved', false, getMessage('WERNIS_MEMBER_EMPTY_PASSWORD'));
} elseif (!isPostRequestElementSet(('amount'))) {
// Nothing entered in amount
loadTemplate('admin_settings_saved', false, getMessage('WERNIS_MEMBER_EMPTY_AMOUNT'));
} elseif (postRequestElement('wernis_userid') != bigintval(postRequestElement('wernis_userid'))) {
// Only numbers in account id!
loadTemplate('admin_settings_saved', false, getMessage('WERNIS_MEMBER_INVALID_USERNAME'));
} elseif (postRequestElement('amount') != bigintval(postRequestElement('amount'))) {
// Only numbers in amount!
loadTemplate('admin_settings_saved', false, getMessage('WERNIS_MEMBER_INVALID_AMOUNT'));
} else {
// Check input data depending on the mode and execute the requested mode
switch (getRequestElement('mode')) {
case 'withdraw': // Widthdraws WDS66 -> This exchange
if (postRequestElement('amount') < getConfig('wernis_min_withdraw')) {
// Not enougth entered!
loadTemplate('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_AMOUNT_SMALLER_MIN'), translateComma(getConfig('wernis_min_withdraw'))));
} 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
addPointsDirectly('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!
loadTemplate('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
loadTemplate('admin_settings_saved', false, GET_WERNIS_ERROR_MESSAGE());
} else {
// Something went wrong
loadTemplate('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_WITHDRAW_FAILED'), GET_WERNIS_ERROR_MESSAGE()));
}
}
break;
case 'payout': // Payout this exchange -> WDS66
if (postRequestElement('amount') < getConfig('wernis_min_payout')) {
// Not enougth entered!
loadTemplate('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_AMOUNT_SMALLER_MIN'), translateComma(getConfig('wernis_min_payout'))));
} elseif (postRequestElement('amount') > $points) {
// Not enougth points left!
loadTemplate('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_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
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!
loadTemplate('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
loadTemplate('admin_settings_saved', false, GET_WERNIS_ERROR_MESSAGE());
} else {
// Something went wrong
loadTemplate('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_WITHDRAW_FAILED'), GET_WERNIS_ERROR_MESSAGE()));
}
}
break;
default: // Invalid mode!
logDebugMessage(__FILE__, __LINE__, sprintf("Invalid mode %s detected.", getRequestElement('mode')));
loadTemplate('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_MODE_INVALID'), getRequestElement('mode')));
return;
}
}
} // END - if
// Prepare mode for template name
$mode = sprintf("member_wernis_mode_%s", getRequestElement('mode'));
// Load the template
loadTemplate($mode, false, $content);
// [EOF]
?>