2 /************************************************************************
3 * MXChange v0.2.1 Start: 04/11/2004 *
4 * ================ Last change: 08/12/2004 *
6 * -------------------------------------------------------------------- *
7 * File : what-config_payouts.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Configure payout types *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Auszahlungensarten editieren *
12 * -------------------------------------------------------------------- *
14 * -------------------------------------------------------------------- *
15 * Copyright (c) 2003 - 2008 by Roland Haeder *
16 * For more information visit: http://www.mxchange.org *
18 * This program is free software; you can redistribute it and/or modify *
19 * it under the terms of the GNU General Public License as published by *
20 * the Free Software Foundation; either version 2 of the License, or *
21 * (at your option) any later version. *
23 * This program is distributed in the hope that it will be useful, *
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
26 * GNU General Public License for more details. *
28 * You should have received a copy of the GNU General Public License *
29 * along with this program; if not, write to the Free Software *
30 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
32 ************************************************************************/
34 // Some security stuff...
35 if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
36 $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
40 // Add description as navigation point
41 ADD_DESCR("admin", __FILE__);
43 if (REQUEST_ISSET_POST(('rate'))) REQUEST_SET_POST('rate', REVERT_COMMA(REQUEST_POST('rate')));
45 if ((REQUEST_ISSET_POST(('add'))) && (REQUEST_ISSET_POST(('title'))) && (REQUEST_POST('rate') > 0)) {
46 // Add new payout type
47 $result = SQL_QUERY_ESC("SELECT id FROM `{!_MYSQL_PREFIX!}_payout_types` WHERE type='%s' LIMIT 1",
48 array(REQUEST_POST('title')), __FILE__, __LINE__);
49 if (SQL_NUMROWS($result) == 0) {
51 SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_payout_types`
52 (type, rate, min_points, from_account, from_pass, engine_url, engine_ret_ok, engine_ret_failed, pass_enc, allow_url)
53 VALUES ('%s', %d, %d,'%s','%s','%s','%s','%s','%s','%s')",
55 REQUEST_POST('title'),
56 bigintval(REQUEST_POST('rate')),
57 bigintval(REQUEST_POST('mpoi')),
59 REQUEST_POST('ypass'),
61 REQUEST_POST('yrdone'),
62 REQUEST_POST('yrfailed'),
63 REQUEST_POST('ytrans'),
64 REQUEST_POST('allow_url'),
65 ), __FILE__, __LINE__);
66 $msg = getMessage('ADMIN_PAYOUT_TYPE_ADDED');
69 SQL_FREERESULT($result);
72 $msg = "<div class=\"admin_failed\">{--ADMIN_PAYOUT_TYPE_ALREADY--}</div>";
76 // Payout requests by your members
77 $result_mem = SQL_QUERY("SELECT id FROM `{!_MYSQL_PREFIX!}_user_payouts` WHERE `status`='NEW' ORDER BY payout_timestamp DESC", __FILE__, __LINE__);
80 if ((REQUEST_ISSET_POST('edit')) && (SELECTION_COUNT(REQUEST_POST('sel')) > 0)) {
82 if ((REQUEST_ISSET_GET('ok')) && (REQUEST_GET('ok') == "ok")) {
87 foreach (REQUEST_POST('sel') as $id => $sel) {
91 // Edit only if something is entered
92 if ((REQUEST_ISSET_POST(('title', $id))) && (REQUEST_POST('rate', $id) > 0)) {
94 ADD_SQL(SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_payout_types` SET
99 WHERE id='".$id."' LIMIT 1",
101 REQUEST_POST('title', $id),
102 REVERT_COMMA(REQUEST_POST('rate', $id)),
103 REVERT_COMMA(REQUEST_POST('mpoi' , $id)),
104 REQUEST_POST('allow', $id),
105 ),__FILE__, __LINE__, false));
110 runFilterChain('run_sqls');
113 $msg = getMessage('ADMIN_PAYOUT_ENTRIES_CHANGED');
115 $display = false; //Suppress any other outputs
117 foreach (REQUEST_POST('sel') as $id => $sel) {
119 $result = SQL_QUERY_ESC("SELECT type, rate, min_points, allow_url FROM `{!_MYSQL_PREFIX!}_payout_types` WHERE id=%s LIMIT 1",
120 array(bigintval($id)), __FILE__, __LINE__);
121 list($title, $rate, $mpoi, $allow) = SQL_FETCHROW($result);
122 SQL_FREERESULT($result);
124 // Prepare data for the row template
128 'title' => COMPILE_CODE($title),
129 'rate' => TRANSLATE_COMMA($rate),
130 'mpoi' => TRANSLATE_COMMA($mpoi),
131 'allow' => ADD_SELECTION("yn", $allow, "allow[".$id."]"),
134 // Load row template and switch color
135 $OUT .= LOAD_TEMPLATE("admin_config_payouts_edit_row", true, $content);
139 // @TODO Rewrite this constant
140 define('__PAYOUT_ROWS', $OUT);
142 // Load main template
143 LOAD_TEMPLATE("admin_config_payouts_edit");
145 } elseif ((REQUEST_ISSET_POST('del')) && (SELECTION_COUNT(REQUEST_POST('sel')) > 0)) {
146 // Delete payout types
147 if ((REQUEST_ISSET_GET('ok')) && (REQUEST_GET('ok') == "ok")) {
152 foreach (REQUEST_POST('sel') as $id => $sel) {
153 ADD_SQL(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_payout_types` WHERE id=%s LIMIT 1",
154 array(bigintval($id)), __FILE__, __LINE__, false));
158 runFilterChain('run_sqls');
161 $msg = getMessage('ADMIN_PAYOUT_ENTRIES_DELETED');
163 $display = false; //Suppress any other outputs
165 foreach (REQUEST_POST('sel') as $id => $sel) {
167 $id = bigintval($id);
170 $result = SQL_QUERY_ESC("SELECT type, rate, min_points FROM `{!_MYSQL_PREFIX!}_payout_types` WHERE id=%s LIMIT 1",
171 array($id), __FILE__, __LINE__);
172 list($title, $rate, $mpoi) = SQL_FETCHROW($result);
173 SQL_FREERESULT($result);
175 // Prepare data for the row template
179 'title' => COMPILE_CODE($title),
180 'rate' => TRANSLATE_COMMA($rate),
181 'mpoi' => TRANSLATE_COMMA($mpoi),
184 // Load row template and switch color
185 $OUT .= LOAD_TEMPLATE("admin_config_payouts_del_row", true, $content);
188 define('__PAYOUT_ROWS', $OUT);
190 // Load main template
191 LOAD_TEMPLATE("admin_config_payouts_del");
197 LOAD_TEMPLATE("admin_settings_saved", false, $msg);
201 $result_type = SQL_QUERY("SELECT id, type, rate, min_points, from_account FROM `{!_MYSQL_PREFIX!}_payout_types` ORDER BY type", __FILE__, __LINE__);
203 if ((SQL_NUMROWS($result_type) > 0) && ($display)) {
204 // List all payout types
206 while ($content = SQL_FETCHARRAY($result_type)) {
207 // Prepare data for the row template
210 'id' => $content['id'],
211 'from' => COMPILE_CODE($content['from_account']),
212 'type' => COMPILE_CODE($content['type']),
213 'rate' => TRANSLATE_COMMA($content['rate']),
214 'mpoi' => TRANSLATE_COMMA($content['min_points']),
217 // Load row template and switch color
218 $OUT .= LOAD_TEMPLATE("admin_config_payouts_row", true, $content);
223 SQL_FREERESULT($result_type);
225 // @TODO Rewrite this constant
226 define('__PAYOUT_ROWS', $OUT);
228 // Load main template
229 LOAD_TEMPLATE("admin_config_payouts");
232 // Does your members request payouts?
233 if ((SQL_NUMROWS($result_mem) > 0) && ($display)) {
234 // Members has requested payouts
235 LOAD_TEMPLATE("admin_settings_saved", false, "<a href=\"{!URL!}/modules.php?module=admin&what=list_payouts\">{--ADMIN_PAYOUT_LIST_REQUESTS--}</a></P>");
236 } elseif ($display) {
237 // No member requests so far
238 LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_PAYOUT_NO_MEMBER_REQUESTS'));
242 SQL_FREERESULT($result_mem);
244 // Add new paypout type
245 if ($display) LOAD_TEMPLATE("admin_payout_add_new");