X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-list_payouts.php;h=ff1e5c65208cd234bd6141c59cca89dbbc4140fb;hp=f9b7e02e47e9b762098221e7997a749356b508d1;hb=7c15ca79161bf475e958810a5b585bce869a2af9;hpb=e1653405d28923c78b2e292125306ccf61138f24 diff --git a/inc/modules/admin/what-list_payouts.php b/inc/modules/admin/what-list_payouts.php index f9b7e02e47..ff1e5c6520 100644 --- a/inc/modules/admin/what-list_payouts.php +++ b/inc/modules/admin/what-list_payouts.php @@ -10,9 +10,14 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Auflistung der Auszahlungsanfragen * * -------------------------------------------------------------------- * - * * + * $Revision:: $ * + * $Date:: $ * + * $Tag:: 0.2.1-FINAL $ * + * $Author:: $ * + * Needs to be in all Files and every File needs "svn propset * + * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * - * Copyright (c) 2003 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -32,296 +37,257 @@ ************************************************************************/ // Some security stuff... -if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN())) -{ - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; - require($INC); +if ((!defined('__SECURITY')) || (!isAdmin())) { + die(); } + // Add description as navigation point -ADD_DESCR("admin", basename(__FILE__)); - -if (!empty($_GET['pid'])) -{ - // First let's get the member's ID - $result = SQL_QUERY_ESC("SELECT userid, target_account, payout_total, payout_timestamp, password FROM "._MYSQL_PREFIX."_user_payouts WHERE id=%d LIMIT 1", - array($_GET['pid']), __FILE__, __LINE__); - list($uid, $tuid, $points, $tstamp, $tpass) = SQL_FETCHROW($result); +addMenuDescription('admin', __FILE__); + +if (isGetRequestElementSet(('pid'))) { + // First let's get the member's id + $result = SQL_QUERY_ESC("SELECT userid, target_account, payout_total, payout_timestamp, password FROM `{?_MYSQL_PREFIX?}_user_payouts` WHERE `id`=%s LIMIT 1", + array(getRequestElement('pid')), __FILE__, __LINE__); + list($userid, $tuserid, $points, $tstamp, $tpass) = SQL_FETCHROW($result); SQL_FREERESULT($result); // Obtain some data - if (empty($_GET['task']) && (!empty($uid)) && ($uid > 0)) - { - // Get task ID from database - $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_task_system WHERE userid=%d AND task_type='PAYOUT_REQUEST' AND task_created='".$tstamp."' LIMIT 1", - array(bigintval($uid)), __FILE__, __LINE__); + if (!isGetRequestElementSet(('task')) && (!empty($userid)) && ($userid > 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"; - + 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'); } - 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, sex, surname, family FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1", - array(bigintval($uid)), __FILE__, __LINE__); - list($email, $sex, $surname, $family) = SQL_FETCHROW($result); - SQL_FREERESULT($result); - // Konstante bauen - define('PAYOUT_USERDATA_VALUE', "".TRANSLATE_SEX($sex)." ".$surname." ".$family.""); + if ((!empty($task)) && (!empty($userid)) && ($userid > 0)) { + // Load user's data + if (!fetchUserData($userid)) { + // Abort here because it is not valid! + debug_report_bug('No user account ' . $userid . ' found.'); + } // END - if - if (($_GET['do'] == "accept") && (!empty($email))) - { + if ((getRequestElement('do') == 'accept') && (!empty(getUserData('email')))) { // Ok, now we can output the form or execute accepting - if (isset($_POST['ok'])) - { + if (isFormSent()) { // Obtain payout type and other data - $result = SQL_QUERY_ESC("SELECT payout_id FROM "._MYSQL_PREFIX."_user_payouts WHERE id=%d LIMIT 1", - array(bigintval($_GET['pid'])), __FILE__, __LINE__); + $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)) - { + 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=%d LIMIT 1", - array(bigintval($ptype)), __FILE__, __LINE__); - list($fuid, $fpass, $eurl, $eok, $failed, $eenc, $allow) = SQL_FETCHROW($result); + $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)) - { + 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; + 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)); + $reason = encodeString(getMessage('PAYOUT_REASON_PAYOUT'), false); // Run code... + // @TODO Do we need this time-consuming eval() here? eval($eval); // Execute transfer - $ret = @file($URL); - } - else - { + $ret = sendGetRequest($URL); + } else { // No URL to run $ret[0] = $eok; } - if ($ret[0] == $eok) - { + + if ($ret[0] == $eok) { // Clear task - if ($task > 0) - { - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_task_system SET status='SOLVED' WHERE id=%d LIMIT 1", - array(bigintval($task)),__FILE__, __LINE__); + if ($task > 0) { + runFilterChain('solve_task', $task); } // Clear payout request - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_payouts SET status='ACCEPTED' WHERE id=%d LIMIT 1", - array(bigintval($_GET['pid'])), __FILE__, __LINE__); + 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 - $msg = LOAD_EMAIL_TEMPLATE("member_payout_accepted", $_POST['text'], $uid); + $message = loadEmailTemplate('member_payout_accepted', postRequestElement('text'), $userid); // Output message - if ($allow == 'Y') - { + if ($allow == 'Y') { // Banner / Textlink request - LOAD_TEMPLATE("admin_settings_saved", false, PAYOUT_BANNER_ACCEPTED_NOTIFIED); - } - else - { + loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_BANNER_ACCEPTED_NOTIFIED')); + } else { // Normal request - LOAD_TEMPLATE("admin_settings_saved", false, PAYOUT_ACCEPTED_NOTIFIED); + loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_ACCEPTED_NOTIFIED')); } // Finally send mail - SEND_EMAIL($email, PAYOUT_ACCEPTED_SUBJECT, $msg); - } - else - { + sendEmail(getUserData('email'), getMessage('PAYOUT_ACCEPTED_SUBJECT'), $message); + } else { // Something goes wrong... :-( - $content = implode("
", $ret); - LOAD_TEMPLATE("admin_payout_failed_transfer", false, $content); + $content = implode("
", $ret); + loadTemplate('admin_payout_failed_transfer', false, $content); } - } - else - { + } else { // Cannot load payout id - OUTPUT_HTML ("".PAYOUT_FAILED_OBTAIN_PAYOUT_ID.""); + loadTemplate('admin_settings_saved', false, "
{--PAYOUT_FAILED_OBTAIN_PAYOUT_ID--}
"); } - } - else - { + } else { + // Prepare content + $content = array( + 'task' => $task, + 'pid' => bigintval(getRequestElement('pid')), + 'user' => "".translateGender(getUserData('gender'))." ".getUserData('surname')." ".getUserData('family')."", + ); + // Load template - LOAD_TEMPLATE("admin_payout_accept_form", false, $task); + loadTemplate('admin_payout_accept_form', false, $content); } - } - elseif (($_GET['do'] == "reject") && (!empty($email))) - { + } elseif ((getRequestElement('do') == 'reject') && (!empty(getUserData('email')))) { // Ok, now we can output the form or execute rejecting - if (isset($_POST['ok'])) - { - if ($task > 0) - { + if (isFormSent()) { + if ($task > 0) { // Clear task - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_task_system SET status='SOLVED' WHERE id=%d LIMIT 1", - array(bigintval($task)), __FILE__, __LINE__); - } + runFilterChain('solve_task', $task); + } // END - if // Clear payout request - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_payouts SET status='REJECTED' WHERE id=%d LIMIT 1", - array(bigintval($_GET['pid'])), __FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_payouts` SET `status`='REJECTED' WHERE `id`=%s LIMIT 1", + array(bigintval(getRequestElement('pid'))), __FILE__, __LINE__); // Send out mail - $msg = LOAD_EMAIL_TEMPLATE("member_payout_rejected", $_POST['text'], $uid); + $message = loadEmailTemplate('member_payout_rejected', postRequestElement('text'), $userid); // Output message - LOAD_TEMPLATE("admin_settings_saved", false, PAYOUT_REJECTED_NOTIFIED); + loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_REJECTED_NOTIFIED')); // Finally send mail - SEND_EMAIL($email, PAYOUT_REJECTED_SUBJECT, $msg); - } - else - { + sendEmail(getUserData('email'), getMessage('PAYOUT_REJECTED_SUBJECT'), $message); + } else { + // Prepare content + $content = array( + 'task' => $task, + 'pid' => bigintval(getRequestElement('pid')), + 'user' => "".translateGender(getUserData('gender'))." ".getUserData('surname')." ".getUserData('family')."", + ); + // Load template - LOAD_TEMPLATE("admin_payout_reject_form", false, $task); + loadTemplate('admin_payout_reject_form', false, $content); } - } - else - { + } else { // Cannot load user data - LOAD_TEMPLATE("admin_settings_saved", false, PAYOUT_FAILED_OBTAIN_USERDATA); + loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_FAILED_OBTAIN_USERDATA')); } + } elseif ((empty($task)) || ($task == 0)) { + // Failed loading task id + loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_FAILED_OBTAIN_TASK_ID')); } - 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") - { +} else { + if (!isGetRequestElementSet('do')) setRequestGetElement('do', ''); + + if (getRequestElement('do') == 'delete') { // Delete all requests - $result = SQL_QUERY("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_payouts", __FILE__, __LINE__); - } + $result = SQL_QUERY("TRUNCATE `{?_MYSQL_PREFIX?}_user_payouts`", __FILE__, __LINE__); + } // END - if // 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__); + $result = SQL_QUERY("SELECT + p.id, p.userid, 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 +LEFT JOIN + `{?_MYSQL_PREFIX?}_payout_types` AS t +ON + p.payout_id=t.id +ORDER BY + p.payout_timestamp DESC", __FILE__, __LINE__); - if (SQL_NUMROWS($result) > 0) - { + 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") - { + $OUT = ''; $SW = 2; + while ($content = SQL_FETCHARRAY($result)) { + if ($content['status'] == 'NEW') { // Generate links for direct accepting and rejecting - $status = "".PAYOUT_ACCEPT_PAYOUT." | ".PAYOUT_REJECT_PAYOUT.""; - } - else - { + $content['status'] = "".PAYOUT_ACCEPT_PAYOUT." | ".PAYOUT_REJECT_PAYOUT.""; + } else { // Translate status - $evl = "\$status = PAYOUT_STATUS_".strtoupper($status).";"; - eval($evl); - $status = "".$status.""; + $content['status'] = getMessage('PAYOUT_STATUS_'.strtoupper($content['status']).''); + $content['status'] = "
".$content['status']."
"; } // Nothing entered must be secured in member/what-payputs.php ! - if ($allow == 'Y') - { + if ($content['allow'] == 'Y') { // Banner/Textlink views/clicks request - if (!empty($banner)) - { - // Prepare array for the banner - $content = array( - 'banner' => $banner, - 'alt' => $alt, - 'url' => $url, - ); - + if (!empty($content['banner'])) { // Load template for the banner - $account = LOAD_TEMPLATE("admin_list_payouts_banner", true, $content); - } - else - { + $content['target_account'] = loadTemplate('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); + $content['target_account'] = loadTemplate('admin_list_payouts_txt', true, $content); } // Admins can addionally test the URL for framekillers - $bank = "".CLICK_HERE.""; - } - else - { + $content['target_bank'] = "{--CLICK_HERE--}"; + } else { // e-currency payout request - if (empty($account)) $account = "---"; - if (empty($bank)) $bank = "---"; + if (empty($content['target_account'])) $content['target_account'] = '---'; + if (empty($content['target_bank'])) $content['target_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, + 'ulink' => generateUserProfileLink($content['userid']), + 'ptype' => translateComma($content['payout_total']) . ' ' . $content['type'], + 'account' => $content['target_account'], + 'bank' => $content['target_bank'], + 'tstamp' => generateDateTime($content['payout_timestamp'], 2), + 'status' => $content['status'], ); // Add row and switch color - $OUT .= LOAD_TEMPLATE("admin_list_payouts_row", true, $content); + $OUT .= loadTemplate('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 - { + loadTemplate('admin_list_payouts', false, $OUT); + } else { // No payout requests are sent so far - LOAD_TEMPLATE("admin_settings_saved", false, PAYOUT_ADMIN_NO_REQUESTS_FOUND); + loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_ADMIN_NO_REQUESTS_FOUND')); } } -// + +// [EOF] ?>