2 /************************************************************************
3 * Mailer v0.2.1-FINAL 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 - 2009 by Roland Haeder *
21 * Copyright (c) 2009, 2010 by Mailer Developer Team *
22 * For more information visit: http://www.mxchange.org *
24 * This program is free software; you can redistribute it and/or modify *
25 * it under the terms of the GNU General Public License as published by *
26 * the Free Software Foundation; either version 2 of the License, or *
27 * (at your option) any later version. *
29 * This program is distributed in the hope that it will be useful, *
30 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
31 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
32 * GNU General Public License for more details. *
34 * You should have received a copy of the GNU General Public License *
35 * along with this program; if not, write to the Free Software *
36 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
38 ************************************************************************/
40 // Some security stuff...
41 if ((!defined('__SECURITY')) || (!isAdmin())) {
45 // Add description as navigation point
46 addMenuDescription('admin', __FILE__);
48 if (isPostRequestParameterSet('rate')) setPostRequestParameter('rate', convertCommaToDot(postRequestParameter('rate')));
50 if ((isFormSent('add')) && (isPostRequestParameterSet('title')) && (postRequestParameter('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(postRequestParameter('title')), __FILE__, __LINE__);
54 if (SQL_HASZERONUMS($result)) {
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 postRequestParameter('title'),
61 bigintval(postRequestParameter('rate')),
62 bigintval(postRequestParameter('min_points')),
63 postRequestParameter('yacc'),
64 postRequestParameter('ypass'),
65 postRequestParameter('yurl'),
66 postRequestParameter('yrdone'),
67 postRequestParameter('yrfailed'),
68 postRequestParameter('ytrans'),
69 postRequestParameter('allow_url'),
70 ), __FILE__, __LINE__);
73 $message = getMessage('ADMIN_PAYOUT_TYPE_ADDED');
76 SQL_FREERESULT($result);
79 $message = '<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 ((isFormSent('edit')) && (countPostSelection() > 0)) {
89 if ((isGetRequestParameterSet('ok')) && (getRequestParameter('ok') == 'ok')) {
94 foreach (postRequestParameter('sel') as $id => $sel) {
98 // Edit only if something is entered
99 if ((isPostRequestParameterSet('title', $id)) && (postRequestParameter('rate', $id) > 0)) {
101 addSql(SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_payout_types` SET
110 postRequestParameter('title', $id),
111 convertCommaToDot(postRequestParameter('rate', $id)),
112 convertCommaToDot(postRequestParameter('min_points' , $id)),
113 postRequestParameter('allow', $id),
115 ),__FILE__, __LINE__, false));
120 runFilterChain('run_sqls');
123 $message = getMessage('ADMIN_PAYOUT_ENTRIES_CHANGED');
125 $display = false; //Suppress any other outputs
127 foreach (postRequestParameter('sel') as $id => $sel) {
129 $result = SQL_QUERY_ESC("SELECT type, rate, min_points, allow_url FROM `{?_MYSQL_PREFIX?}_payout_types` WHERE `id`=%s LIMIT 1",
130 array(bigintval($id)), __FILE__, __LINE__);
131 list($title, $rate, $min_points, $allow) = SQL_FETCHROW($result);
132 SQL_FREERESULT($result);
134 // Prepare data for the row template
139 'rate' => translateComma($rate),
140 'min_points' => translateComma($min_points),
141 'allow' => addSelectionBox('yn', $allow, 'allow[' . $id . ']'),
144 // Load row template and switch color
145 $OUT .= loadTemplate('admin_config_payouts_edit_row', true, $content);
149 // Load main template
150 loadTemplate('admin_config_payouts_edit', false, $OUT);
152 } elseif ((isFormSent('del')) && (countPostSelection() > 0)) {
153 // Delete payout types
154 if ((isGetRequestParameterSet('ok')) && (getRequestParameter('ok') == 'ok')) {
159 foreach (postRequestParameter('sel') as $id => $sel) {
160 addSql(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 $message = getMessage('ADMIN_PAYOUT_ENTRIES_DELETED');
170 $display = false; //Suppress any other outputs
172 foreach (postRequestParameter('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, $min_points) = SQL_FETCHROW($result);
180 SQL_FREERESULT($result);
182 // Prepare data for the row template
187 'rate' => translateComma($rate),
188 'min_points' => translateComma($min_points),
191 // Load row template and switch color
192 $OUT .= loadTemplate('admin_config_payouts_del_row', true, $content);
196 // Load main template
197 loadTemplate('admin_config_payouts_del', false, $OUT);
201 if (!empty($message)) {
203 loadTemplate('admin_settings_saved', false, $message);
207 $result_type = SQL_QUERY("SELECT
208 `id`, `type`, `rate`, `min_points`, `from_account`
210 `{?_MYSQL_PREFIX?}_payout_types`
212 `type` ASC", __FILE__, __LINE__);
214 if ((SQL_NUMROWS($result_type) > 0) && ($display)) {
215 // List all payout types
217 while ($content = SQL_FETCHARRAY($result_type)) {
218 // Prepare data for the row template
221 'id' => $content['id'],
222 'from_account' => $content['from_account'],
223 'type' => $content['type'],
224 'rate' => translateComma($content['rate']),
225 'min_points' => translateComma($content['min_points']),
228 // Load row template and switch color
229 $OUT .= loadTemplate('admin_config_payouts_row', true, $content);
234 SQL_FREERESULT($result_type);
236 // Load main template
237 loadTemplate('admin_config_payouts', false, $OUT);
240 // Does your members request payouts?
241 if ((SQL_NUMROWS($result_mem) > 0) && ($display)) {
242 // Members has requested payouts
243 loadTemplate('admin_settings_saved', false, '<a href="{%url=modules.php?module=admin&what=list_payouts%}">{--ADMIN_PAYOUT_LIST_REQUESTS--}</a>');
244 } elseif ($display) {
245 // No member requests so far
246 loadTemplate('admin_settings_saved', false, getMessage('ADMIN_PAYOUT_NO_MEMBER_REQUESTS'));
250 SQL_FREERESULT($result_mem);
252 // Add new payout type
253 if ($display === true) loadTemplate('admin_payout_add_new');