<?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 *
* $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 - 2009 by Roland Haeder *
- * For more information visit: http://www.mxchange.org *
+ * Copyright (c) 2009 - 2015 by Mailer Developer Team *
+ * For more information visit: http://mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
// Some security stuff...
if (!defined('__SECURITY')) {
// Don't call this directly!
- die();
+ exit();
} elseif (!isMember()) {
// Not logged in
redirectToIndexMemberOnlyModule();
}
// Add description as navigation point
-addMenuDescription('member', __FILE__);
+addYouAreHereLink('member', __FILE__);
if ((!isExtensionActive('payout')) && (!isAdmin())) {
- loadTemplate('admin_settings_saved', false, generateExtensionInactiveNotInstalledMessage('payout'));
+ displayMessage('{%pipe,generateExtensionInactiveNotInstalledMessage=payout%}');
return;
} // END - if
-$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`='%s' LIMIT 1",
- array(getMemberId(), bigintval($content['level'])), __FILE__, __LINE__);
-
- // Entry found?
- if (SQL_NUMROWS($result_points) == 1) {
- // Load points
- list($points) = SQL_FETCHROW($result_points);
-
- // Add them to total
- $totalPoints += $points;
- } // END - if
-
- // Free result
- SQL_FREERESULT($result_points);
-} // END - while
-
-// Free memory
-SQL_FREERESULT($result_depths);
-
-// Get used points
-$usedPoints = countSumTotalData(getMemberId(), 'user_data', 'used_points');
-
// Translate point into comma
-$totalPoints = ($totalPoints - $usedPoints);
+$payoutPoints = getPayoutPoints(getMemberId());
-// Sanity check...
-if (empty($totalPoints)) $totalPoints = '0.00000';
+// Output amount
+displayMessage('{%message,MEMBER_TOTAL_PAYOUT_POINTS=' . $payoutPoints . '%}');
+// GET parameter set?
if (!isGetRequestElementSet('payout')) {
// Load payout types
- $result = SQL_QUERY_ESC("SELECT
- `id`, `type`, `rate`, `min_points`, `allow_url`
+ $result = sqlQueryEscaped('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);
+ `type` ASC',
+ array($payoutPoints), __FILE__, __LINE__);
+ // Some entries found?
+ if (!ifSqlHasZeroNums($result)) {
// Check for his payouts
- $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
+ $result_payouts = sqlQueryEscaped('SELECT
+ `p`.`id`,
+ `p`.`payout_total`,
+ `p`.`target_account`,
+ `p`.`target_bank`,
+ `t`.`type`,
+ `p`.`payout_timestamp`,
+ `p`.`status`,
+ `t`.`allow_url`,
+ `p`.`target_url`,
+ `p`.`link_text`,
+ `p`.`banner_url`
FROM
- `{?_MYSQL_PREFIX?}_user_payouts` AS p
+ `{?_MYSQL_PREFIX?}_user_payouts` AS `p`
LEFT JOIN
- `{?_MYSQL_PREFIX?}_payout_types` AS t
+ `{?_MYSQL_PREFIX?}_payout_types` AS `t`
ON
- p.payout_id = t.id
+ `p`.`payout_id`=`t`.`id`
WHERE
- p.userid = %s
+ `p`.`userid`=%s
ORDER BY
- p.payout_timestamp DESC",
+ `p`.`payout_timestamp` DESC',
array(getMemberId()), __FILE__, __LINE__);
- if (SQL_NUMROWS($result_payouts) > 0) {
+ if (!ifSqlHasZeroNums($result_payouts)) {
// 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'] = "<div class=\"member_failed\">".$content['status']."</div>";
-
+ $OUT = '';
+ while ($content = sqlFetchArray($result_payouts)) {
// Nothing entered must be secured in member/what-payputs.php !
- if ($content['allow'] == 'Y') {
+ if ($content['allow_url'] == 'Y') {
// Banner/Textlink views/clicks request
if (!empty($content['banner'])) {
// Banner
- $content['target_account'] = "<img src=\"".$content['banner']."\" alt=\"".$content['alt']."\" title=\"".$content['alt']."\" border=\"0\" />";
+ $content['target_account'] = '<img src="' . $content['banner'] . '" alt="' . $content['link_text'] . '" title="' . $content['link_text'] . '" border="0" />';
} else {
// Textlink
- $content['target_account'] = $content['alt'];
+ $content['target_account'] = $content['link_text'];
}
- $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'] = '---';
- }
+ $content['target_bank'] = '<a href="{%pipe,generateDereferrerUrl=' . $content['target_url'] . '%}" target="_blank">{--CLICK_HERE--}</a>';
+ } // END - if
// Prepare data for the template
- // @TODO Rewritings: acc->target_account,bank->target_bank in templates
- $content = array(
- 'sw' => $SW,
- 'acc' => $content['target_account'],
- 'points' => translateComma($content['payout_total']) . ' ' . $content['type'],
- 'bank' => $content['target_bank'],
- 'stamp' => generateDateTime($content['payout_timestamp'], 2),
- 'status' => $content['status']
- );
+ $content['payout_timestamp'] = generateDateTime($content['payout_timestamp'], 2);
// Load row template and switch colors
- $OUT .= loadTemplate('member_payout_row', true, $content);
- $SW = 3 - $SW;
- }
+ $OUT .= loadTemplate('member_payout_row', TRUE, $content);
+ } // END - while
// Load template
- loadTemplate('member_payout', false, $OUT);
- }
+ loadTemplate('member_payout', FALSE, $OUT);
+ } // END - if
// Free memory
- SQL_FREERESULT($result_payouts);
+ sqlFreeResult($result_payouts);
// Output payout list
- outputPayoutList($totalPoints);
+ outputPayoutList($payoutPoints);
} else {
// No payout types setup
- loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_NO_PAYOUT_TYPES'));
+ displayMessage('{--MEMBER_PAYOUT_SETUP_INCOMPLETE_LOW_POINTS--}');
}
+
+ // Free memory
+ sqlFreeResult($result);
} 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",
+ $result = sqlQueryEscaped('SELECT
+ `type`,
+ `rate`,
+ `min_points`,
+ `allow_url`
+FROM
+ `{?_MYSQL_PREFIX?}_payout_types`
+WHERE
+ `id`=%s
+LIMIT 1',
array(bigintval(getRequestElement('payout'))), __FILE__, __LINE__);
- if (SQL_NUMROWS($result) == 1) {
+ if (sqlNumRows($result) == 1) {
// id is valid so load the data
- $content = SQL_FETCHARRAY($result);
+ $content = sqlFetchArray($result);
// Calculate maximum value
- $max = round($totalPoints * $content['rate'] - 0.5);
- $PAY_MAX = 0;
+ $max = round($payoutPoints * $content['rate'] - 0.5);
+ $PAY_MAX = '0';
// Calulcate points from submitted amount
- $points = 0;
+ $points = '0';
if (isPostRequestElementSet('payout')) {
$points = bigintval(postRequestElement('payout')) / $content['rate'];
$PAY_MAX = $max / $content['rate'];
- }
+ } // END - if
// Has enougth points to payout?
- if ($totalPoints >= $content['min_points']) {
+ if ($payoutPoints >= $content['min_points']) {
// Ok, he can get be paid
if ((isFormSent()) && ($points <= $PAY_MAX) && ($points >= $content['min_points'])) {
// Remember points in array
- setRequestPostElement('payout_points', translateComma($points));
- setRequestPostElement('type' , $content['type']);
+ setPostRequestElement('payout_points', $points);
+ setPostRequestElement('type' , $content['type']);
- // Subtract points from member's account
+ // Subtract points from member's account and ignore return status
subtractPoints('payout', getMemberId(), $points);
// Add entry to his tranfer history
- if ($content['allow'] == 'Y') {
+ if ($content['allow_url'] == '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`)
+ sqlQueryEscaped("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(
getMemberId(),
bigintval(postRequestElement('payout')),
bigintval(getRequestElement('payout')),
postRequestElement('turl'),
- postRequestElement('alt'),
+ postRequestElement('link_text'),
postRequestElement('banner')
), __FILE__, __LINE__);
// Load templates
$message_mem = loadEmailTemplate('member_payout_request_banner', postRequestArray(), getMemberId());
- if (getExtensionVersion('admins') >= '0.4.1') {
+ if (isExtensionInstalledAndNewer('admins', '0.4.1')) {
$adm_tpl = 'admin_payout_request_banner';
} else {
$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`)
+ sqlQueryEscaped("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(
getMemberId(),
bigintval(postRequestElement('account')),
postRequestElement('bank'),
bigintval(getRequestElement('payout')),
- postRequestElement('pass')
+ postRequestElement('password')
), __FILE__, __LINE__);
// Load templates
$admin_tpl = '';
// @TODO Rewrite this to a filter
- if (getExtensionVersion('admins') >= '0.4.1') {
+ if (isExtensionInstalledAndNewer('admins', '0.4.1')) {
$admin_tpl = 'admin_payout_request';
} // END - if
}
- // Generate task
- createNewTask('[payout:] {--PAYOUT_REQUEST_ADMIN--}', $message_adm, 'PAYOUT_REQUEST', getMemberId());
+ // Generate task (we ignore the task id here)
+ createNewTask('[payout:] {--ADMIN_PAYOUY_REQUEST_SUBJECT--}', $message_adm, 'PAYOUT_REQUEST', getMemberId());
// Send out mails
- sendEmail(getMemberId(), getMessage('PAYOUT_REQUEST_MEMBER'), $message_mem);
+ sendEmail(getMemberId(), '{--MEMBER_PAYOUT_REQUEST_SUBJECT--}', $message_mem);
// To admin(s)
- sendAdminNotification(getMessage('PAYOUT_REQUEST_ADMIN'), $admin_tpl, postRequestArray(), getMemberId());
+ sendAdminNotification('{--ADMIN_PAYOUY_REQUEST_SUBJECT--}', $admin_tpl, postRequestArray(), getMemberId());
// Load template and output it
- loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_REQUEST_SENT'));
- } elseif ($content['allow'] == 'Y') {
+ displayMessage('{--MEMBER_PAYOUT_REQUEST_SENT--}');
+ } elseif ($content['allow_url'] == 'Y') {
// Prepare content
$content = array(
'max' => $max,
);
// Generate banner order form
- loadTemplate('member_payout_form_banner', false, $content);
+ loadTemplate('member_payout_form_banner', FALSE, $content);
} else {
// Prepare content
$content = array(
);
// Generate normal form
- loadTemplate('member_payout_form', false, $content);
+ loadTemplate('member_payout_form', FALSE, $content);
}
} else {
// Not enougth points
- loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_POINTS_NOT_ENOUGTH'));
+ displayMessage('{--MEMBER_PAYOUT_POINTS_NOT_ENOUGTH--}');
}
} else {
// id is invalid
- loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_ID_INVALID'));
+ displayMessage('{--MEMBER_PAYOUT_ID_INVALID--}');
}
// Free result
- SQL_FREERESULT($result);
+ sqlFreeResult($result);
}
// [EOF]