<?php
/************************************************************************
- * MXChange v0.2.1 Start: 04/12/2004 *
- * ================ Last change: 12/01/2008 *
+ * Mailer v0.2.1-FINAL Start: 04/12/2004 *
+ * =================== Last change: 12/01/2008 *
* *
* -------------------------------------------------------------------- *
* File : what-payout.php *
* -------------------------------------------------------------------- *
* Kurzbeschreibung : Auszahlungsanfragen *
* -------------------------------------------------------------------- *
- * $Revision:: 856 $ *
- * $Date:: 2009-03-06 20:24:32 +0100 (Fr, 06. March 2009) $ *
+ * $Revision:: $ *
+ * $Date:: $ *
* $Tag:: 0.2.1-FINAL $ *
- * $Author:: stelzi $ *
+ * $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 *
// 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) {
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'] = "<div class=\"member_failed\">".$content['status']."</div>";
// 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
// Textlink
$content['target_account'] = $content['alt'];
}
- $content['target_bank'] = "<a href=\"".DEREFERER($content['url'])."\" target=\"_blank\">{--CLICK_HERE--}</a>";
+ $content['target_bank'] = "<a href=\"".generateDerefererUrl($content['url'])."\" target=\"_blank\">{--CLICK_HERE--}</a>";
} 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
- // @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']
+ 'sw' => $SW,
+ 'target_account' => $content['target_account'],
+ 'points' => translateComma($content['payout_total']) . ' ' . $content['type'],
+ 'target_bank' => $content['target_bank'],
+ 'payout_timestamp' => 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]
?>