generateDateTime($data['wernis_timestamp'], 2),
'wernis_amount' => $data['wernis_amount'],
'wernis_account' => $data['wernis_account'],
'wernis_type' => $data['wernis_type'],
);
// Load row template
$content['rows'] .= loadTemplate('member_wernis_mode_list_row', true, $rowContent);
} // END - while
// Free result
SQL_FREERESULT($result);
} else {
// Default links are not active!
$content['payout_link'] = '{--MEMBER_WERNIS_PAYOUT_DISABLED--}';
$content['withdraw_link'] = '{--MEMBER_WERNIS_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 (isWernisWithdrawActive()) {
// Add link
$content['withdraw_link'] = '';
} // END - if
// Mode chooser! ;-)
setGetRequestParameter('mode', 'choose');
}
} elseif ((getRequestParameter('mode') == 'payout') && (getConfig('wernis_payout_active') == 'Y')) {
// Get user's total points and remove the registration fee
$points = getTotalPoints(getMemberId()) - getPointsRegister();
// 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
displayMessage('{%message,MEMBER_WERNIS_MIN_PAYOUT=' . $points . '%}');
return;
} // END - if
// No dots here...
$points = explode('.', $points);
$points = bigintval($points[0]);
// Add points to content array
$content['points'] = $points;
} elseif ((getRequestParameter('mode') == 'withdraw') && (isWernisWithdrawActive())) {
// Prepare data for the template
$content['points'] = getTotalPoints(getMemberId());
$content['wernis_userid'] = '';
// Fetch id
$content['wernis_userid'] = getUserData('wernis_userid');
} else {
// Invalid mode!
displayMessage('{%message,MEMBER_WERNIS_MODE_INVALID=' . getRequestParameter('mode') . '%}');
return;
}
// Is the formular sent?
if ((isFormSent()) && (isGetRequestParameterSet('mode'))) {
// Is the user id and password set?
if (!isPostRequestParameterSet('wernis_userid')) {
// Nothing entered in WDS66 user id
displayMessage('{--MEMBER_WERNIS_EMPTY_USERNAME--}');
} elseif (!isPostRequestParameterSet('wds66_password')) {
// Nothing entered in WDS66 password
displayMessage('{--MEMBER_WERNIS_EMPTY_PASSWORD--}');
} elseif (!isPostRequestParameterSet('amount')) {
// Nothing entered in amount
displayMessage('{--MEMBER_WERNIS_EMPTY_AMOUNT--}');
} elseif (postRequestParameter('wernis_userid') != bigintval(postRequestParameter('wernis_userid'))) {
// Only numbers in account id!
displayMessage('{--MEMBER_WERNIS_INVALID_USERNAME');
} elseif (postRequestParameter('amount') != bigintval(postRequestParameter('amount'))) {
// Only numbers in amount!
displayMessage('{--MEMBER_WERNIS_INVALID_AMOUNT--}');
} else {
// Check input data depending on the mode and execute the requested mode
switch (getRequestParameter('mode')) {
case 'withdraw': // Widthdraws WDS66 -> This exchange
if (postRequestParameter('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(postRequestParameter('wernis_userid'), md5(postRequestParameter('wds66_password')), postRequestParameter('amount'));
if ($success === true) {
// Add it to this amount
initReferalSystem();
addPointsThroughReferalSystem('wernis_withdraw', getMemberId(), bigintval(postRequestParameter('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(postRequestParameter('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 (postRequestParameter('amount') < getConfig('wernis_min_payout')) {
// Not enougth entered!
displayMessage('{--MEMBER_WERNIS_PAYOUT_AMOUNT_SMALLER_MIN--}');
} elseif (postRequestParameter('amount') > $points) {
// Not enougth points left!
displayMessage(sprintf(getMessage('MEMBER_WERNIS_PAYOUT_POINTS_DEPLETED'), bigintval(postRequestParameter('amount')), bigintval($points)));
} else {
// All is fine here so do the withdraw
$success = WERNIS_EXECUTE_PAYOUT(postRequestParameter('wernis_userid'), postRequestParameter('amount'));
if ($success === true) {
// Sub points and ignore return status
subtractPoints('wernis_payout', getMemberId(), postRequestParameter('amount'));
// Update WDS66 id
SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `wernis_userid`=%s WHERE `userid`=%s LIMIT 1",
array(bigintval(postRequestParameter('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.", getRequestParameter('mode')));
displayMessage('{%message,MEMBER_WERNIS_MODE_INVALID=' . getRequestParameter('mode') . '%}');
return;
} // END - switch
}
} // END - if
// Prepare mode for template name
$mode = sprintf("member_wernis_mode_%s", getRequestParameter('mode'));
// Load the template
loadTemplate($mode, false, $content);
// [EOF]
?>