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($uid)), __FILE__, __LINE__); list($task) = SQL_FETCHROW($result); SQL_FREERESULT($result); if (empty($task)) $task = 0; } elseif ((empty($uid)) || ($uid == "0")) { // Cannot obtain member ID! LOAD_TEMPLATE("admin_settings_saved", false, PAYOUT_FAILED_OBTAIN_USERID); } else { // Get task ID from URL $task = $_GET['task']; } if ((!empty($task)) && (!empty($uid)) && ($uid > 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($uid)), __FILE__, __LINE__); list($email, $gender, $surname, $family) = SQL_FETCHROW($result); SQL_FREERESULT($result); // Konstante bauen define('PAYOUT_USERDATA_VALUE', "".TRANSLATE_GENDER($gender)." ".$surname." ".$family.""); if (($_GET['do'] == "accept") && (!empty($email))) { // Ok, now we can output the form or execute accepting if (isset($_POST['ok'])) { // 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($_GET['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($fuid, $fpass, $eurl, $eok, $failed, $eenc, $allow) = SQL_FETCHROW($result); SQL_FREERESULT($result); if (!empty($eurl)) { // Ok, run URL... $eurl = COMPILE_CODE($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 = urlencode(base64_encode(PAYOUT_REASON_PAYOUT)); // Run code... eval($eval); // Execute transfer $ret = @file($URL); } else { // No URL to run $ret[0] = $eok; } if ($ret[0] == $eok) { // Clear task if ($task > 0) { ADMIN_SOLVE_TASK($task); } // Clear payout request $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_payouts SET status='ACCEPTED' WHERE id=%s LIMIT 1", array(bigintval($_GET['pid'])), __FILE__, __LINE__); // Send out mail $msg = LOAD_EMAIL_TEMPLATE("member_payout_accepted", $_POST['text'], $uid); // Output message if ($allow == "Y") { // Banner / Textlink request LOAD_TEMPLATE("admin_settings_saved", false, PAYOUT_BANNER_ACCEPTED_NOTIFIED); } else { // Normal request LOAD_TEMPLATE("admin_settings_saved", false, PAYOUT_ACCEPTED_NOTIFIED); } // Finally send mail SEND_EMAIL($email, PAYOUT_ACCEPTED_SUBJECT, $msg); } else { // Something goes wrong... :-( $content = implode("
", $ret); LOAD_TEMPLATE("admin_payout_failed_transfer", false, $content); } } else { // Cannot load payout id OUTPUT_HTML("".PAYOUT_FAILED_OBTAIN_PAYOUT_ID.""); } } else { // Load template LOAD_TEMPLATE("admin_payout_accept_form", false, $task); } } elseif (($_GET['do'] == "reject") && (!empty($email))) { // Ok, now we can output the form or execute rejecting if (isset($_POST['ok'])) { if ($task > 0) { // Clear task ADMIN_SOLVE_TASK($task); } // Clear payout request $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_payouts SET status='REJECTED' WHERE id=%s LIMIT 1", array(bigintval($_GET['pid'])), __FILE__, __LINE__); // Send out mail $msg = LOAD_EMAIL_TEMPLATE("member_payout_rejected", $_POST['text'], $uid); // Output message LOAD_TEMPLATE("admin_settings_saved", false, PAYOUT_REJECTED_NOTIFIED); // Finally send mail SEND_EMAIL($email, PAYOUT_REJECTED_SUBJECT, $msg); } else { // Load template LOAD_TEMPLATE("admin_payout_reject_form", false, $task); } } else { // Cannot load user data LOAD_TEMPLATE("admin_settings_saved", false, PAYOUT_FAILED_OBTAIN_USERDATA); } } elseif((empty($task)) || ($task == "0")) { // Failed loading task ID LOAD_TEMPLATE("admin_settings_saved", false, PAYOUT_FAILED_OBTAIN_TASK_ID); } } else { if (empty($_GET['do'])) $_GET['do'] = ""; if ($_GET['do'] == "delete") { // Delete all requests $result = SQL_QUERY("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_payouts", __FILE__, __LINE__); } // Search for payouts $result = SQL_QUERY("SELECT p.id, p.userid AS uid, p.payout_total, p.target_account, p.target_bank, t.type, p.payout_timestamp, p.status, t.allow_url AS allow, p.target_url AS url, p.link_text AS alt, p.banner_url AS banner FROM "._MYSQL_PREFIX."_user_payouts AS p, "._MYSQL_PREFIX."_payout_types AS t WHERE p.payout_id=t.id ORDER BY p.payout_timestamp DESC", __FILE__, __LINE__); if (SQL_NUMROWS($result) > 0) { // List found payouts $OUT = ""; $SW = 2; while (list($pid, $uid, $total, $account, $bank, $type, $tstamp, $status, $allow, $url, $alt, $banner) = SQL_FETCHROW($result)) { if ($status == "NEW") { // Generate links for direct accepting and rejecting $status = "".PAYOUT_ACCEPT_PAYOUT." | ".PAYOUT_REJECT_PAYOUT.""; } else { // Translate status $evl = "\$status = PAYOUT_STATUS_".strtoupper($status).";"; eval($evl); $status = "".$status.""; } // Nothing entered must be secured in member/what-payputs.php ! if ($allow == "Y") { // Banner/Textlink views/clicks request if (!empty($banner)) { // Prepare array for the banner $content = array( 'banner' => $banner, 'alt' => $alt, 'url' => $url, ); // Load template for the banner $account = LOAD_TEMPLATE("admin_list_payouts_banner", true, $content); } else { // Textlink $content = array( 'txt_link' => $alt, 'txt_url' => $url, ); $account = LOAD_TEMPLATE("admin_list_payouts_txt", true, $content); } // Admins can addionally test the URL for framekillers $bank = "".CLICK_HERE.""; } else { // e-currency payout request if (empty($account)) $account = "---"; if (empty($bank)) $bank = "---"; } // Remember data in array for the template $content = array( 'sw' => $SW, 'ulink' => ADMIN_USER_PROFILE_LINK($uid), 'ptype' => TRANSLATE_COMMA($total)." ".COMPILE_CODE($type), 'account' => $account, 'bank' => $bank, 'tstamp' => MAKE_DATETIME($tstamp, "2"), 'status' => $status, ); // Add row and switch color $OUT .= LOAD_TEMPLATE("admin_list_payouts_row", true, $content); $SW = 3 - $SW; } // Free memory SQL_FREERESULT($result); define('__PAYOUT_ROWS', $OUT); // Load final template LOAD_TEMPLATE("admin_list_payouts"); } else { // No payout requests are sent so far LOAD_TEMPLATE("admin_settings_saved", false, PAYOUT_ADMIN_NO_REQUESTS_FOUND); } } // ?>