0)) {
// Get task id from database
$result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_task_system` WHERE `userid`=%s AND `task_type`='PAYOUT_REQUEST' AND `task_created`=%s LIMIT 1",
array(bigintval($userid), bigintval($tstamp)), __FILE__, __LINE__);
list($task) = SQL_FETCHROW($result);
SQL_FREERESULT($result);
if (empty($task)) $task = '0';
} elseif ((empty($userid)) || ($userid == '0')) {
// Cannot obtain member id!
loadTemplate('admin_settings_saved', false, '{--ADMIN_PAYOUT_FAILED_OBTAIN_USERID--}');
} else {
// Get task id from URL
$task = getRequestParameter('task');
}
if ((!empty($task)) && (!empty($userid)) && ($userid > 0)) {
// Load user's data
if (!fetchUserData($userid)) {
// Abort here because it is not valid!
debug_report_bug(__FILE__, __LINE__, 'No user account ' . $userid . ' found.');
} // END - if
if ((getRequestParameter('do') == 'accept') && (getUserData('email') != '')) {
// Ok, now we can output the form or execute accepting
if (isFormSent()) {
// Obtain payout type and other data
$result = SQL_QUERY_ESC("SELECT `payout_id` FROM `{?_MYSQL_PREFIX?}_user_payouts` WHERE `id`=%s LIMIT 1",
array(bigintval(getRequestParameter('pid'))), __FILE__, __LINE__);
// Load ptype (id)
list($ptype) = SQL_FETCHROW($result);
// Free result
SQL_FREERESULT($result);
if (!empty($ptype)) {
// Obtain data from payout type
$result = SQL_QUERY_ESC("SELECT
`from_account`, `from_pass`, `engine_url`, `engine_ret_ok`, `engine_ret_failed`, `pass_enc`, `allow_url`
FROM
`{?_MYSQL_PREFIX?}_payout_types`
WHERE
`id`=%s
LIMIT 1",
array(bigintval($ptype)), __FILE__, __LINE__);
// Load data
$data = SQL_FETCHARRAY($result);
// Free result
SQL_FREERESULT($result);
if (!empty($data['engine_url'])) {
// Ok, run URL...
switch ($data['pass_enc']) {
case 'md5':
$data['from_pass'] = md5($data['from_pass']);
$tpass = md5($tpass);
break;
case 'base64':
$data['from_pass'] = base64_encode($data['from_pass']);
$tpass = base64_encode($tpass);
break;
}
// Transfer variables...
$reason = encodeString(getMessage('ADMIN_PAYOUT_REASON'), false);
// Execute transfer
$ret = sendGetRequest($data['engine_url']);
} else {
// No URL to run
$ret[0] = $data['engine_ret_ok'];
}
if ($ret[0] == $data['engine_ret_ok']) {
// Clear task
if ($task > 0) {
runFilterChain('solve_task', $task);
}
// Clear payout request
SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_payouts` SET `status`='ACCEPTED' WHERE `id`=%s LIMIT 1",
array(bigintval(getRequestParameter('pid'))), __FILE__, __LINE__);
// Send out mail
$message = loadEmailTemplate('member_payout_accepted', postRequestParameter('text'), $userid);
// Output message
if ($data['allow_url'] == 'Y') {
// Banner / Textlink request
loadTemplate('admin_settings_saved', false, '{--ADMIN_PAYOUT_BANNER_ACCEPTED_NOTIFIED--}');
} else {
// Normal request
loadTemplate('admin_settings_saved', false, '{--ADMIN_PAYOUT_ACCEPTED_NOTIFIED--}');
}
// Finally send mail
sendEmail(getUserData('email'), '{--MEMBER_PAYOUT_ACCEPTED_SUBJECT--}', $message);
} else {
// Something goes wrong... :-(
$content = implode('
', $ret);
loadTemplate('admin_payout_failed_transfer', false, $content);
}
} else {
// Cannot load payout id
loadTemplate('admin_settings_saved', false, '