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 * -------------------------------------------------------------------- *
15 * $Tag:: 0.2.1-FINAL $ *
17 * Needs to be in all Files and every File needs "svn propset *
18 * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
19 * -------------------------------------------------------------------- *
20 * Copyright (c) 2003 - 2008 by Roland Haeder *
21 * For more information visit: http://www.mxchange.org *
23 * This program is free software; you can redistribute it and/or modify *
24 * it under the terms of the GNU General Public License as published by *
25 * the Free Software Foundation; either version 2 of the License, or *
26 * (at your option) any later version. *
28 * This program is distributed in the hope that it will be useful, *
29 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
30 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
31 * GNU General Public License for more details. *
33 * You should have received a copy of the GNU General Public License *
34 * along with this program; if not, write to the Free Software *
35 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
37 ************************************************************************/
39 // Some security stuff...
40 if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
41 $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php';
45 // Add description as navigation point
46 ADD_DESCR('admin', __FILE__);
48 if (REQUEST_ISSET_POST('rate')) REQUEST_SET_POST('rate', convertCommaToDot(REQUEST_POST('rate')));
50 if ((REQUEST_ISSET_POST('add')) && (REQUEST_ISSET_POST('title')) && (REQUEST_POST('rate') > 0)) {
51 // Add new payout type
52 $result = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_payout_types` WHERE type='%s' LIMIT 1",
53 array(REQUEST_POST('title')), __FILE__, __LINE__);
54 if (SQL_NUMROWS($result) == 0) {
56 SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_payout_types`
57 (type, rate, min_points, from_account, from_pass, engine_url, engine_ret_ok, engine_ret_failed, pass_enc, allow_url)
58 VALUES ('%s', %d, %d,'%s','%s','%s','%s','%s','%s','%s')",
60 REQUEST_POST('title'),
61 bigintval(REQUEST_POST('rate')),
62 bigintval(REQUEST_POST('mpoi')),
64 REQUEST_POST('ypass'),
66 REQUEST_POST('yrdone'),
67 REQUEST_POST('yrfailed'),
68 REQUEST_POST('ytrans'),
69 REQUEST_POST('allow_url'),
70 ), __FILE__, __LINE__);
73 $msg = getMessage('ADMIN_PAYOUT_TYPE_ADDED');
76 SQL_FREERESULT($result);
79 $msg = "<div class=\"admin_failed\">{--ADMIN_PAYOUT_TYPE_ALREADY--}</div>";
83 // Payout requests by your members
84 $result_mem = SQL_QUERY("SELECT `id` FROM `{!_MYSQL_PREFIX!}_user_payouts` WHERE `status`='NEW' ORDER BY payout_timestamp DESC", __FILE__, __LINE__);
87 if ((REQUEST_ISSET_POST('edit')) && (countPostSelection() > 0)) {
89 if ((REQUEST_ISSET_GET('ok')) && (REQUEST_GET('ok') == 'ok')) {
94 foreach (REQUEST_POST('sel') as $id => $sel) {
98 // Edit only if something is entered
99 if ((REQUEST_ISSET_POST('title', $id)) && (REQUEST_POST('rate', $id) > 0)) {
101 ADD_SQL(SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_payout_types` SET
106 WHERE `id`='".$id."' LIMIT 1",
108 REQUEST_POST('title', $id),
109 convertCommaToDot(REQUEST_POST('rate', $id)),
110 convertCommaToDot(REQUEST_POST('mpoi' , $id)),
111 REQUEST_POST('allow', $id),
112 ),__FILE__, __LINE__, false));
117 runFilterChain('run_sqls');
120 $msg = getMessage('ADMIN_PAYOUT_ENTRIES_CHANGED');
122 $display = false; //Suppress any other outputs
124 foreach (REQUEST_POST('sel') as $id => $sel) {
126 $result = SQL_QUERY_ESC("SELECT type, rate, min_points, allow_url FROM `{!_MYSQL_PREFIX!}_payout_types` WHERE `id`=%s LIMIT 1",
127 array(bigintval($id)), __FILE__, __LINE__);
128 list($title, $rate, $mpoi, $allow) = SQL_FETCHROW($result);
129 SQL_FREERESULT($result);
131 // Prepare data for the row template
135 'title' => COMPILE_CODE($title),
136 'rate' => translateComma($rate),
137 'mpoi' => translateComma($mpoi),
138 'allow' => ADD_SELECTION('yn', $allow, "allow[".$id."]"),
141 // Load row template and switch color
142 $OUT .= LOAD_TEMPLATE('admin_config_payouts_edit_row', true, $content);
146 // @TODO Rewrite this constant
147 define('__PAYOUT_ROWS', $OUT);
149 // Load main template
150 LOAD_TEMPLATE('admin_config_payouts_edit');
152 } elseif ((REQUEST_ISSET_POST('del')) && (countPostSelection() > 0)) {
153 // Delete payout types
154 if ((REQUEST_ISSET_GET('ok')) && (REQUEST_GET('ok') == 'ok')) {
159 foreach (REQUEST_POST('sel') as $id => $sel) {
160 ADD_SQL(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_payout_types` WHERE `id`=%s LIMIT 1",
161 array(bigintval($id)), __FILE__, __LINE__, false));
165 runFilterChain('run_sqls');
168 $msg = getMessage('ADMIN_PAYOUT_ENTRIES_DELETED');
170 $display = false; //Suppress any other outputs
172 foreach (REQUEST_POST('sel') as $id => $sel) {
174 $id = bigintval($id);
177 $result = SQL_QUERY_ESC("SELECT type, rate, min_points FROM `{!_MYSQL_PREFIX!}_payout_types` WHERE `id`=%s LIMIT 1",
178 array($id), __FILE__, __LINE__);
179 list($title, $rate, $mpoi) = SQL_FETCHROW($result);
180 SQL_FREERESULT($result);
182 // Prepare data for the row template
186 'title' => COMPILE_CODE($title),
187 'rate' => translateComma($rate),
188 'mpoi' => translateComma($mpoi),
191 // Load row template and switch color
192 $OUT .= LOAD_TEMPLATE('admin_config_payouts_del_row', true, $content);
195 define('__PAYOUT_ROWS', $OUT);
197 // Load main template
198 LOAD_TEMPLATE('admin_config_payouts_del');
204 LOAD_TEMPLATE('admin_settings_saved', false, $msg);
208 $result_type = SQL_QUERY("SELECT id, type, rate, min_points, from_account FROM `{!_MYSQL_PREFIX!}_payout_types` ORDER BY type", __FILE__, __LINE__);
210 if ((SQL_NUMROWS($result_type) > 0) && ($display)) {
211 // List all payout types
213 while ($content = SQL_FETCHARRAY($result_type)) {
214 // Prepare data for the row template
217 'id' => $content['id'],
218 'from' => COMPILE_CODE($content['from_account']),
219 'type' => COMPILE_CODE($content['type']),
220 'rate' => translateComma($content['rate']),
221 'mpoi' => translateComma($content['min_points']),
224 // Load row template and switch color
225 $OUT .= LOAD_TEMPLATE('admin_config_payouts_row', true, $content);
230 SQL_FREERESULT($result_type);
232 // @TODO Rewrite this constant
233 define('__PAYOUT_ROWS', $OUT);
235 // Load main template
236 LOAD_TEMPLATE('admin_config_payouts');
239 // Does your members request payouts?
240 if ((SQL_NUMROWS($result_mem) > 0) && ($display)) {
241 // Members has requested payouts
242 LOAD_TEMPLATE('admin_settings_saved', false, "<a href=\"{!URL!}/modules.php?module=admin&what=list_payouts\">{--ADMIN_PAYOUT_LIST_REQUESTS--}</a></P>");
243 } elseif ($display) {
244 // No member requests so far
245 LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_PAYOUT_NO_MEMBER_REQUESTS'));
249 SQL_FREERESULT($result_mem);
251 // Add new paypout type
252 if ($display === true) LOAD_TEMPLATE('admin_payout_add_new');