X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-payout.php;h=49e1636cf752868ec687fa294ac9e031696cfaa7;hp=07a0dd7428e1ae2b1600eccb4e724758d0f38eec;hb=9afd6ec5878544a7982c50ed9c0dd7de37606d5b;hpb=fb7120ffa230b62b54895bcf95952e1cf30f8594 diff --git a/inc/modules/member/what-payout.php b/inc/modules/member/what-payout.php index 07a0dd7428..49e1636cf7 100644 --- a/inc/modules/member/what-payout.php +++ b/inc/modules/member/what-payout.php @@ -17,7 +17,7 @@ * 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 * @@ -39,25 +39,26 @@ // Some security stuff... if (!defined('__SECURITY')) { // Don't call this directly! - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; - require($INC); -} elseif (!IS_MEMBER()) { + die(); +} elseif (!isMember()) { // Not logged in - LOAD_URL("modules.php?module=index"); -} elseif ((!EXT_IS_ACTIVE("payout")) && (!IS_ADMIN())) { - addFatalMessage(__FILE__, __LINE__, getMessage('EXTENSION_PROBLEM_EXT_INACTIVE'), "payout"); - return; + redirectToIndexMemberOnlyModule(); } // Add description as navigation point -ADD_DESCR("member", __FILE__); +addMenuDescription('member', __FILE__); + +if ((!isExtensionActive('payout')) && (!isAdmin())) { + loadTemplate('admin_settings_saved', false, generateExtensionInactiveNotInstalledMessage('payout')); + return; +} // END - if -$result_depths = SQL_QUERY("SELECT level, percents FROM `{!_MYSQL_PREFIX!}_refdepths` ORDER BY level", __FILE__, __LINE__); -$TPTS = 0; +$result_depths = SQL_QUERY("SELECT `level`, `percents` FROM `{?_MYSQL_PREFIX?}_refdepths` ORDER BY level", __FILE__, __LINE__); +$totalPoints = '0'; while ($content = SQL_FETCHARRAY($result_depths)) { // Load referal points - $result_points = SQL_QUERY_ESC("SELECT points FROM `{!_MYSQL_PREFIX_user_points!}` WHERE userid=%s AND ref_depth=%d LIMIT 1", - array(getUserId(), bigintval($content['level'])), __FILE__, __LINE__); + $result_points = SQL_QUERY_ESC("SELECT `points` FROM `{?_MYSQL_PREFIX?}_user_points` WHERE `userid`=%s AND `ref_depth`='%s' LIMIT 1", + array(getMemberId(), bigintval($content['level'])), __FILE__, __LINE__); // Entry found? if (SQL_NUMROWS($result_points) == 1) { @@ -65,53 +66,64 @@ while ($content = SQL_FETCHARRAY($result_depths)) { list($points) = SQL_FETCHROW($result_points); // Add them to total - $TPTS += $points; - } + $totalPoints += $points; + } // END - if // Free result SQL_FREERESULT($result_points); -} +} // END - while // Free memory SQL_FREERESULT($result_depths); // Get used points -$USED = GET_TOTAL_DATA(getUserId(), "user_data", "used_points"); +$usedPoints = countSumTotalData(getMemberId(), 'user_data', 'used_points'); // Translate point into comma -$TPTS = TRANSLATE_COMMA($TPTS - $USED); +$totalPoints = ($totalPoints - $usedPoints); // Sanity check... -if (empty($TPTS)) $TPTS = "0.00000"; +if (empty($totalPoints)) $totalPoints = '0.00000'; -if (!REQUEST_ISSET_GET(('payout'))) { +if (!isGetRequestElementSet('payout')) { // Load payout types - $result = SQL_QUERY_ESC("SELECT id, type, rate, min_points, allow_url -FROM `{!_MYSQL_PREFIX!}_payout_types` -WHERE %s >= min_points -ORDER BY type", array(REVERT_COMMA($TPTS)), __FILE__, __LINE__); + $result = SQL_QUERY_ESC("SELECT + `id`, `type`, `rate`, `min_points`, `allow_url` +FROM + `{?_MYSQL_PREFIX?}_payout_types` +WHERE + %s >= `min_points` +ORDER BY + `type` ASC", + array($totalPoints), __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(getUserId()), __FILE__, __LINE__); + $result_payouts = SQL_QUERY_ESC("SELECT + 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(getMemberId()), __FILE__, __LINE__); if (SQL_NUMROWS($result_payouts) > 0) { // List all his requests - $OUT = ""; $SW = 2; + $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") { + if ($content['allow'] == 'Y') { // Banner/Textlink views/clicks request if (!empty($content['banner'])) { // Banner @@ -120,11 +132,11 @@ ORDER BY p.payout_timestamp DESC", // Textlink $content['target_account'] = $content['alt']; } - $content['target_bank'] = "{--CLICK_HERE--}"; + $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'] = "---"; + if (empty($content['target_account'])) $content['target_account'] = '---'; + if (empty($content['target_bank'])) $content['target_bank'] = '---'; } // Prepare data for the template @@ -132,152 +144,150 @@ ORDER BY p.payout_timestamp DESC", $content = array( 'sw' => $SW, 'acc' => $content['target_account'], - 'points' => TRANSLATE_COMMA($content['payout_total'])." ".COMPILE_CODE($content['type']), + 'points' => translateComma($content['payout_total']) . ' ' . $content['type'], 'bank' => $content['target_bank'], - 'stamp' => MAKE_DATETIME($content['payout_timestamp'], "2"), + 'stamp' => generateDateTime($content['payout_timestamp'], 2), 'status' => $content['status'] ); // Load row template and switch colors - $OUT .= LOAD_TEMPLATE("member_payout_row", true, $content); + $OUT .= loadTemplate('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"); + loadTemplate('member_payout', false, $OUT); } // Free memory SQL_FREERESULT($result_payouts); // Output payout list - PAYOUT_OUTPUT_PAYOUT_LIST($TPTS); + outputPayoutList($totalPoints); + } else { + // No payout types setup + loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_NO_PAYOUT_TYPES')); } } 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__); + $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(getRequestElement('payout'))), __FILE__, __LINE__); if (SQL_NUMROWS($result) == 1) { - // ID is valid so load the data + // id is valid so load the data $content = SQL_FETCHARRAY($result); - SQL_FREERESULT($result); // Calculate maximum value - $max = round($TPTS * $content['rate'] - 0.5); + $max = round($totalPoints * $content['rate'] - 0.5); + $PAY_MAX = '0'; // Calulcate points from submitted amount - $PAYOUT = 0; - if (REQUEST_ISSET_POST(('payout'))) { - $PAYOUT = bigintval(REQUEST_POST('payout')) / $content['rate']; + $points = '0'; + if (isPostRequestElementSet('payout')) { + $points = bigintval(postRequestElement('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']) { + // Has enougth points to payout? + if ($totalPoints >= $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); + if ((isFormSent()) && ($points <= $PAY_MAX) && ($points >= $content['min_points'])) { + // Remember points in array + setRequestPostElement('payout_points', translateComma($points)); + setRequestPostElement('type' , $content['type']); // Subtract points from member's account - SUB_POINTS("payout", getUserId(), $PAYOUT); + subtractPoints('payout', getMemberId(), $points); // Add entry to his tranfer history - if ($content['allow'] == "Y") { + 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) + 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( - getUserId(), - bigintval(REQUEST_POST('payout')), - bigintval(REQUEST_GET('payout')), - REQUEST_POST('turl'), - REQUEST_POST('alt'), - REQUEST_POST('banner') -), __FILE__, __LINE__); + array( + getMemberId(), + bigintval(postRequestElement('payout')), + bigintval(getRequestElement('payout')), + postRequestElement('turl'), + postRequestElement('alt'), + postRequestElement('banner') + ), __FILE__, __LINE__); // Load templates - $msg_mem = LOAD_EMAIL_TEMPLATE("member_payout_request_banner", array(), getUserId()); - if (GET_EXT_VERSION("admins") >= "0.4.1") { - $adm_tpl = "admin_payout_request_banner"; + $message_mem = loadEmailTemplate('member_payout_request_banner', postRequestArray(), getMemberId()); + if (getExtensionVersion('admins') >= '0.4.1') { + $adm_tpl = 'admin_payout_request_banner'; } else { - $msg_adm = LOAD_EMAIL_TEMPLATE("admin_payout_request_banner", array(), getUserId()); + $message_adm = loadEmailTemplate('admin_payout_request_banner', postRequestArray(), getMemberId()); } } 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) + 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( - getUserId(), - bigintval(REQUEST_POST('payout')), - bigintval(REQUEST_POST('account')), - REQUEST_POST('bank'), - bigintval(REQUEST_GET('payout')), - REQUEST_POST('pass') -), __FILE__, __LINE__); + array( + getMemberId(), + bigintval(postRequestElement('payout')), + bigintval(postRequestElement('account')), + postRequestElement('bank'), + bigintval(getRequestElement('payout')), + postRequestElement('pass') + ), __FILE__, __LINE__); // Load templates - $msg_mem = LOAD_EMAIL_TEMPLATE("member_payout_request", array(), getUserId()); - $msg_adm = LOAD_EMAIL_TEMPLATE("admin_payout_request", array(), getUserId()); - $admin_tpl = ""; - if (GET_EXT_VERSION("admins") >= "0.4.1") - { - $admin_tpl = "admin_payout_request"; - } + $message_mem = loadEmailTemplate('member_payout_request', postRequestArray(), getMemberId()); + $message_adm = loadEmailTemplate('admin_payout_request', postRequestArray(), getMemberId()); + $admin_tpl = ''; + + // @TODO Rewrite this to a filter + if (getExtensionVersion('admins') >= '0.4.1') { + $admin_tpl = 'admin_payout_request'; + } // END - if } // 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, - getUserId() -), __FILE__, __LINE__); + createNewTask('[payout:] {--PAYOUT_REQUEST_ADMIN--}', $message_adm, 'PAYOUT_REQUEST', getMemberId()); // Send out mails - SEND_EMAIL(getUserId(), getMessage('PAYOUT_REQUEST_MEMBER'), $msg_mem); + sendEmail(getMemberId(), getMessage('PAYOUT_REQUEST_MEMBER'), $message_mem); // To admin(s) - SEND_ADMIN_NOTIFICATION(getMessage('PAYOUT_REQUEST_ADMIN'), $admin_tpl, array(), getUserId()); + sendAdminNotification(getMessage('PAYOUT_REQUEST_ADMIN'), $admin_tpl, postRequestArray(), getMemberId()); // Load template and output it - LOAD_TEMPLATE("admin_settings_saved", false, getMessage('PAYOUT_REQUEST_SENT')); - } elseif ($content['allow'] == "Y") { + loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_REQUEST_SENT')); + } elseif ($content['allow'] == 'Y') { // Prepare content $content = array( - 'payout' => bigintval(REQUEST_GET('payout')) + 'max' => $max, + 'type' => $content['type'], + 'payout' => bigintval(getRequestElement('payout')) ); // Generate banner order form - LOAD_TEMPLATE("member_payout_form_banner", false, $content); + loadTemplate('member_payout_form_banner', false, $content); } else { // Prepare content $content = array( - 'payout' => bigintval(REQUEST_GET('payout')) + 'max' => $max, + 'type' => $content['type'], + 'payout' => bigintval(getRequestElement('payout')) ); // Generate normal form - LOAD_TEMPLATE("member_payout_form", false, $content); + loadTemplate('member_payout_form', false, $content); } } else { // Not enougth points - LOAD_TEMPLATE("admin_settings_saved", false, getMessage('PAYOUT_POINTS_NOT_ENOUGTH')); + loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_POINTS_NOT_ENOUGTH')); } } else { - // ID is invalid - LOAD_TEMPLATE("admin_settings_saved", false, getMessage('PAYOUT_ID_INVALID')); + // id is invalid + loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_ID_INVALID')); } + + // Free result + SQL_FREERESULT($result); } -// +// [EOF] ?>