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 ((isPostRequestParameterSet('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 ((isPostRequestParameterSet('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
106 WHERE `id`='".$id."' LIMIT 1",
108 postRequestParameter('title', $id),
109 convertCommaToDot(postRequestParameter('rate', $id)),
110 convertCommaToDot(postRequestParameter('min_points' , $id)),
111 postRequestParameter('allow', $id),
112 ),__FILE__, __LINE__, false));
117 runFilterChain('run_sqls');
120 $message = getMessage('ADMIN_PAYOUT_ENTRIES_CHANGED');
122 $display = false; //Suppress any other outputs
124 foreach (postRequestParameter('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, $min_points, $allow) = SQL_FETCHROW($result);
129 SQL_FREERESULT($result);
131 // Prepare data for the row template
136 'rate' => translateComma($rate),
137 'min_points' => translateComma($min_points),
138 'allow' => addSelectionBox('yn', $allow, "allow[".$id."]"),
141 // Load row template and switch color
142 $OUT .= loadTemplate('admin_config_payouts_edit_row', true, $content);
146 // Load main template
147 loadTemplate('admin_config_payouts_edit', false, $OUT);
149 } elseif ((isPostRequestParameterSet('del')) && (countPostSelection() > 0)) {
150 // Delete payout types
151 if ((isGetRequestParameterSet('ok')) && (getRequestParameter('ok') == 'ok')) {
156 foreach (postRequestParameter('sel') as $id => $sel) {
157 addSql(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_payout_types` WHERE `id`=%s LIMIT 1",
158 array(bigintval($id)), __FILE__, __LINE__, false));
162 runFilterChain('run_sqls');
165 $message = getMessage('ADMIN_PAYOUT_ENTRIES_DELETED');
167 $display = false; //Suppress any other outputs
169 foreach (postRequestParameter('sel') as $id => $sel) {
171 $id = bigintval($id);
174 $result = SQL_QUERY_ESC("SELECT type, rate, min_points FROM `{?_MYSQL_PREFIX?}_payout_types` WHERE `id`=%s LIMIT 1",
175 array($id), __FILE__, __LINE__);
176 list($title, $rate, $min_points) = SQL_FETCHROW($result);
177 SQL_FREERESULT($result);
179 // Prepare data for the row template
184 'rate' => translateComma($rate),
185 'min_points' => translateComma($min_points),
188 // Load row template and switch color
189 $OUT .= loadTemplate('admin_config_payouts_del_row', true, $content);
193 // Load main template
194 loadTemplate('admin_config_payouts_del', false, $OUT);
198 if (!empty($message)) {
200 loadTemplate('admin_settings_saved', false, $message);
204 $result_type = SQL_QUERY("SELECT
205 `id`, `type`, `rate`, `min_points`, `from_account`
207 `{?_MYSQL_PREFIX?}_payout_types`
209 `type` ASC", __FILE__, __LINE__);
211 if ((SQL_NUMROWS($result_type) > 0) && ($display)) {
212 // List all payout types
214 while ($content = SQL_FETCHARRAY($result_type)) {
215 // Prepare data for the row template
218 'id' => $content['id'],
219 'from_account' => $content['from_account'],
220 'type' => $content['type'],
221 'rate' => translateComma($content['rate']),
222 'min_points' => translateComma($content['min_points']),
225 // Load row template and switch color
226 $OUT .= loadTemplate('admin_config_payouts_row', true, $content);
231 SQL_FREERESULT($result_type);
233 // Load main template
234 loadTemplate('admin_config_payouts', false, $OUT);
237 // Does your members request payouts?
238 if ((SQL_NUMROWS($result_mem) > 0) && ($display)) {
239 // Members has requested payouts
240 loadTemplate('admin_settings_saved', false, '<a href="{%url=modules.php?module=admin&what=list_payouts%}">{--ADMIN_PAYOUT_LIST_REQUESTS--}</a>');
241 } elseif ($display) {
242 // No member requests so far
243 loadTemplate('admin_settings_saved', false, getMessage('ADMIN_PAYOUT_NO_MEMBER_REQUESTS'));
247 SQL_FREERESULT($result_mem);
249 // Add new payout type
250 if ($display === true) loadTemplate('admin_payout_add_new');