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='".$tstamp."' LIMIT 1",
array(bigintval($userid)), __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, getMessage('PAYOUT_FAILED_OBTAIN_USERID'));
} else {
// Get task ID from URL
$task = getRequestElement('task');
}
if ((!empty($task)) && (!empty($userid)) && ($userid > 0)) {
// Load user's data
$result = SQL_QUERY_ESC("SELECT `email`, `gender`, `surname`, `family` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid`=%s LIMIT 1",
array(bigintval($userid)), __FILE__, __LINE__);
list($email, $gender, $surname, $family) = SQL_FETCHROW($result);
SQL_FREERESULT($result);
if ((getRequestElement('do') == 'accept') && (!empty($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(getRequestElement('pid'))), __FILE__, __LINE__);
list($ptype) = SQL_FETCHROW($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__);
list($fuserid, $fpass, $eurl, $eok, $failed, $eenc, $allow) = SQL_FETCHROW($result);
SQL_FREERESULT($result);
if (!empty($eurl)) {
// Ok, run URL...
$eurl = compileCode($eurl);
switch ($eenc) {
case 'md5':
$fpass = md5($fpass);
$tpass = md5($tpass);
break;
case 'base64':
$fpass = base64_encode($fpass);
$tpass = base64_encode($tpass);
break;
}
// Transfer variables...
$eval = "\$URL = \"".$eurl."\";";
$reason = encodeString(getMessage('PAYOUT_REASON_PAYOUT'), false);
// Run code...
// @TODO Do we need this time-consuming eval() here?
eval($eval);
// Execute transfer
$ret = sendGetRequest($URL);
} else {
// No URL to run
$ret[0] = $eok;
}
if ($ret[0] == $eok) {
// 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(getRequestElement('pid'))), __FILE__, __LINE__);
// Send out mail
$message = loadEmailTemplate('member_payout_accepted', postRequestElement('text'), $userid);
// Output message
if ($allow == 'Y') {
// Banner / Textlink request
loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_BANNER_ACCEPTED_NOTIFIED'));
} else {
// Normal request
loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_ACCEPTED_NOTIFIED'));
}
// Finally send mail
sendEmail($email, getMessage('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, "