= min_points ORDER BY type", array(REVERT_COMMA($TPTS)), __FILE__, __LINE__); if (SQL_NUMROWS($result) > 0) { // Free memory SQL_FREERESULT($result); // Check for his payouts $result_payouts = SQL_QUERY_ESC("SELECT DISTINCT p.id, 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 WHERE p.userid = %s ORDER BY p.payout_timestamp DESC", array($GLOBALS['userid']), __FILE__, __LINE__); if (SQL_NUMROWS($result_payouts) > 0) { // List all his requests $OUT = ""; $SW = 2; while ($content = SQL_FETCHARRAY($result_payouts)) { // Translate status $content['status'] = getMessage('PAYOUT_MEMBER_STATUS_'.strtoupper($content['status']).''); $content['status'] = "
".$content['status']."
"; // Nothing entered must be secured in member/what-payputs.php ! if ($content['allow'] == "Y") { // Banner/Textlink views/clicks request if (!empty($content['banner'])) { // Banner $content['target_account'] = "\"".$content['alt']."\""; } else { // Textlink $content['target_account'] = $content['alt']; } $content['target_bank'] = "{--CLICK_HERE--}"; } else { // e-currency payout request if (empty($content['target_account'])) $content['target_account'] = "---"; if (empty($content['target_bank'])) $content['target_bank'] = "---"; } // Prepare data for the template // @TODO Rewritings: acc->target_account,bank->target_bank in templates $content = array( 'sw' => $SW, 'acc' => $content['target_account'], 'points' => TRANSLATE_COMMA($content['payout_total'])." ".COMPILE_CODE($content['type']), 'bank' => $content['target_bank'], 'stamp' => MAKE_DATETIME($content['payout_timestamp'], "2"), 'status' => $content['status'] ); // Load row template and switch colors $OUT .= LOAD_TEMPLATE("member_payout_row", true, $content); $SW = 3 - $SW; } // Remember rows in constant // @TODO Rewrite this constant define('__PAYOUT_ROWS', $OUT); // Load template LOAD_TEMPLATE("member_payout"); } // Free memory SQL_FREERESULT($result_payouts); // Output payout list PAYOUT_OUTPUT_PAYOUT_LIST($TPTS); } } else { // Chedk if he can get paid by selected type $result = SQL_QUERY_ESC("SELECT type, rate, min_points, allow_url AS allow FROM `{!_MYSQL_PREFIX!}_payout_types` WHERE id=%s LIMIT 1", array(bigintval(REQUEST_GET('payout'))), __FILE__, __LINE__); if (SQL_NUMROWS($result) == 1) { // ID is valid so load the data $content = SQL_FETCHARRAY($result); SQL_FREERESULT($result); // Calculate maximum value $max = round($TPTS * $content['rate'] - 0.5); // Calulcate points from submitted amount $PAYOUT = 0; if (REQUEST_ISSET_POST(('payout'))) { $PAYOUT = bigintval(REQUEST_POST('payout')) / $content['rate']; $PAY_MAX = $max / $content['rate']; } // Move variables into constants for templates // @TODO Rewrite these constants define('PAYOUT_MAX_VALUE' , $max); define('PAYOUT_TYPE_VALUE', COMPILE_CODE($content['type'])); if (REVERT_COMMA($TPTS) >= $content['min_points']) { // Ok, he can get be paid if ((IS_FORM_SENT()) && ($PAYOUT <= $PAY_MAX) && ($PAYOUT >= $content['min_points'])) { // Calculate exact value // @TODO Rewrite this constant define('PAYOUT_POINTS_VALUE', $PAYOUT); // Subtract points from member's account SUB_POINTS("payout", $GLOBALS['userid'], $PAYOUT); // Add entry to his tranfer history if ($content['allow'] == "Y") { // Banner/textlink ordered SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_user_payouts` (userid, payout_total, payout_id, payout_timestamp, status, target_url, link_text, banner_url) VALUES (%s,%s,%s, UNIX_TIMESTAMP(), 'NEW','%s','%s','%s')", array( $GLOBALS['userid'], bigintval(REQUEST_POST('payout')), bigintval(REQUEST_GET('payout')), REQUEST_POST('turl'), REQUEST_POST('alt'), REQUEST_POST('banner') ), __FILE__, __LINE__); // Load templates $msg_mem = LOAD_EMAIL_TEMPLATE("member_payout_request_banner", array(), $GLOBALS['userid']); if (GET_EXT_VERSION("admins") >= "0.4.1") { $adm_tpl = "admin_payout_request_banner"; } else { $msg_adm = LOAD_EMAIL_TEMPLATE("admin_payout_request_banner", array(), $GLOBALS['userid']); } } else { // e-currency payout requested SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_user_payouts` (userid, payout_total, target_account, target_bank, payout_id, payout_timestamp, status, password) VALUES (%s,%s,%s,'%s',%s, UNIX_TIMESTAMP(), 'NEW','%s')", array( $GLOBALS['userid'], bigintval(REQUEST_POST('payout')), bigintval(REQUEST_POST('account')), REQUEST_POST('bank'), bigintval(REQUEST_GET('payout')), REQUEST_POST('pass') ), __FILE__, __LINE__); // Load templates $msg_mem = LOAD_EMAIL_TEMPLATE("member_payout_request", array(), $GLOBALS['userid']); $msg_adm = LOAD_EMAIL_TEMPLATE("admin_payout_request", array(), $GLOBALS['userid']); $admin_tpl = ""; if (GET_EXT_VERSION("admins") >= "0.4.1") { $admin_tpl = "admin_payout_request"; } } // Generate task SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_task_system` (assigned_admin, status, task_type, subject, text, task_created, userid) VALUES (0, 'NEW','PAYOUT_REQUEST','[payout:] {--PAYOUT_REQUEST_ADMIN--}','%s', UNIX_TIMESTAMP(), %s)", array( $msg_adm, $GLOBALS['userid'] ), __FILE__, __LINE__); // Send out mails SEND_EMAIL($GLOBALS['userid'], getMessage('PAYOUT_REQUEST_MEMBER'), $msg_mem); // To admin(s) SEND_ADMIN_NOTIFICATION(getMessage('PAYOUT_REQUEST_ADMIN'), $admin_tpl, array(), $GLOBALS['userid']); // Load template and output it LOAD_TEMPLATE("admin_settings_saved", false, getMessage('PAYOUT_REQUEST_SENT')); } elseif ($content['allow'] == "Y") { // Generate banner order form LOAD_TEMPLATE("member_payout_form_banner"); } else { // Generate normal form LOAD_TEMPLATE("member_payout_form"); } } else { // Not enougth points LOAD_TEMPLATE("admin_settings_saved", false, getMessage('PAYOUT_POINTS_NOT_ENOUGTH')); } } else { // ID is invalid LOAD_TEMPLATE("admin_settings_saved", false, getMessage('PAYOUT_ID_INVALID')); } } // ?>