List active/inactive extensions
[mailer.git] / 0.2.1 / inc / modules / admin / what-config_payouts.php
1 <?php\r
2 /************************************************************************\r
3  * MXChange v0.2.1                                    Start: 04/11/2004 *\r
4  * ================                             Last change: 08/12/2004 *\r
5  *                                                                      *\r
6  * -------------------------------------------------------------------- *\r
7  * File              : what-config_payouts.php                          *\r
8  * -------------------------------------------------------------------- *\r
9  * Short description : Configure payout types                           *\r
10  * -------------------------------------------------------------------- *\r
11  * Kurzbeschreibung  : Auszahlungensarten editieren                     *\r
12  * -------------------------------------------------------------------- *\r
13  *                                                                      *\r
14  * -------------------------------------------------------------------- *\r
15  * Copyright (c) 2003 - 2008 by Roland Haeder                           *\r
16  * For more information visit: http://www.mxchange.org                  *\r
17  *                                                                      *\r
18  * This program is free software; you can redistribute it and/or modify *\r
19  * it under the terms of the GNU General Public License as published by *\r
20  * the Free Software Foundation; either version 2 of the License, or    *\r
21  * (at your option) any later version.                                  *\r
22  *                                                                      *\r
23  * This program is distributed in the hope that it will be useful,      *\r
24  * but WITHOUT ANY WARRANTY; without even the implied warranty of       *\r
25  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *\r
26  * GNU General Public License for more details.                         *\r
27  *                                                                      *\r
28  * You should have received a copy of the GNU General Public License    *\r
29  * along with this program; if not, write to the Free Software          *\r
30  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *\r
31  * MA  02110-1301  USA                                                  *\r
32  ************************************************************************/\r
33 \r
34 // Some security stuff...\r
35 if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))\r
36 {\r
37         $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4)."/security.php";\r
38         require($INC);\r
39 }\r
40 // Add description as navigation point\r
41 ADD_DESCR("admin", basename(__FILE__));\r
42 \r
43 if (!empty($_POST['rate'])) $_POST['rate'] = str_replace(",", ".", $_POST['rate']);\r
44 \r
45 if ((isset($_POST['add'])) && (!empty($_POST['title'])) && ($_POST['rate'] > 0))\r
46 {\r
47         // Add new payout type\r
48         $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_payout_types WHERE type='%s' LIMIT 1",\r
49          array($_POST['title']), __FILE__, __LINE__);\r
50         if (SQL_NUMROWS($result) == 0)\r
51         {\r
52                 // Add now\r
53                 $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_payout_types\r
54 (type, rate, min_points, from_account, from_pass, engine_url, engine_ret_ok, engine_ret_failed, pass_enc, allow_url)\r
55 VALUES ('%s', %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s')",\r
56  array(\r
57         $_POST['title'],\r
58         bigintval($_POST['rate']),\r
59         bigintval($_POST['mpoi']),\r
60         $_POST['yacc'],\r
61         $_POST['ypass'],\r
62         $_POST['yurl'],\r
63         $_POST['yrdone'],\r
64         $_POST['yrfailed'],\r
65         $_POST['ytrans'],\r
66         $_POST['allow_url'],\r
67 ), __FILE__, __LINE__);\r
68                 $msg = "<FONT class=\"admin_done\">".ADMIN_PAYOUT_TYPE_ADDED."</FONT>";\r
69         }\r
70          else\r
71         {\r
72                 // Free memory\r
73                 SQL_FREERESULT($result);\r
74 \r
75                 // Does already exist\r
76                 $msg = "<FONT class=\"admin_failed\">".ADMIN_PAYOUT_TYPE_ALREADY."</FONT>";\r
77         }\r
78 }\r
79 \r
80 // Payout requests by your members\r
81 $result_mem = SQL_QUERY("SELECT id FROM "._MYSQL_PREFIX."_user_payouts WHERE status='NEW' ORDER BY payout_timestamp DESC", __FILE__, __LINE__);\r
82 \r
83 $display = true;\r
84 if ((isset($_POST['edit'])) && (SELECTION_COUNT($_POST['sel']) > 0))\r
85 {\r
86         // Edit payout types\r
87         if ((isset($_GET['ok'])) && ($_GET['ok'] == "ok"))\r
88         {\r
89                 // Edit entries\r
90                 foreach ($_POST['sel'] as $id=>$sel)\r
91                 {\r
92                         // Secure ID\r
93                         $id = bigintval($id);\r
94 \r
95                         // Edit only if something is entered\r
96                         if ((!empty($_POST['title'][$id])) && ($_POST['rate'][$id] > 0))\r
97                         {\r
98                                 // Update entry\r
99                                 $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_payout_types SET\r
100 type='%s',\r
101 rate=%d,\r
102 min_points=%d,\r
103 allow_url='%s'\r
104 WHERE id='".$id."' LIMIT 1",\r
105  array(\r
106         $_POST['title'][$id],\r
107         bigintval(str_replace(",", ".", $_POST['rate'][$id])),\r
108         bigintval(str_replace(",", ".", $_POST['mpoi'][$id])),\r
109         $_POST['allow'][$id],\r
110 ),__FILE__, __LINE__);\r
111                         }\r
112                 }\r
113                 $msg = ADMIN_PAYOUT_ENTRIES_CHANGED;\r
114         }\r
115          else\r
116         {\r
117                 $display = false; //Suppress any other outputs\r
118                 $SW = 2; $OUT = "";\r
119                 foreach ($_POST['sel'] as $id=>$sel)\r
120                 {\r
121                         // Load data\r
122                         $result = SQL_QUERY_ESC("SELECT type, rate, min_points, allow_url FROM "._MYSQL_PREFIX."_payout_types WHERE id=%d LIMIT 1",\r
123                          array(bigintval($id)), __FILE__, __LINE__);\r
124                         list($title, $rate, $mpoi, $allow) = SQL_FETCHROW($result);\r
125                         SQL_FREERESULT($result);\r
126 \r
127                         // Prepare data for the row template\r
128                         $content = array(\r
129                                 'sw'    => $SW,\r
130                                 'id'    => $id,\r
131                                 'title' => COMPILE_CODE($title),\r
132                                 'rate'  => TRANSLATE_COMMA($rate),\r
133                                 'mpoi'  => TRANSLATE_COMMA($mpoi),\r
134                                 'allow' => ADD_SELECTION("yn", $allow, "allow[".$id."]"),\r
135                         );\r
136 \r
137                         // Load row template and switch color\r
138                         $OUT .= LOAD_TEMPLATE("admin_config_payouts_edit_row", true, $content);\r
139                         $SW = 3 - $SW;\r
140                 }\r
141                 define('__PAYOUT_ROWS', $OUT);\r
142 \r
143                 // Load main template\r
144                 LOAD_TEMPLATE("admin_config_payouts_edit");\r
145         }\r
146 }\r
147  elseif ((isset($_POST['del'])) && (SELECTION_COUNT($_POST['sel']) > 0))\r
148 {\r
149         // Delete payout types\r
150         if ($_GET['ok'] == "ok")\r
151         {\r
152                 // Delete entries\r
153                 foreach ($_POST['sel'] as $id=>$sel)\r
154                 {\r
155                         $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_payout_types WHERE id=%d LIMIT 1",\r
156                          array(bigintval($id)), __FILE__, __LINE__);\r
157                 }\r
158                 $msg = ADMIN_PAYOUT_ENTRIES_DELETED;\r
159         }\r
160          else\r
161         {\r
162                 $display = false; //Suppress any other outputs\r
163                 $SW = 2; $OUT = "";\r
164                 foreach ($_POST['sel'] as $id=>$sel)\r
165                 {\r
166                         // Secure ID number\r
167                         $id = bigintval($id);\r
168 \r
169                         // Load data\r
170                         $result = SQL_QUERY_ESC("SELECT type, rate, min_points FROM "._MYSQL_PREFIX."_payout_types WHERE id=%d LIMIT 1",\r
171                          array($id), __FILE__, __LINE__);\r
172                         list($title, $rate, $mpoi) = SQL_FETCHROW($result);\r
173                         SQL_FREERESULT($result);\r
174 \r
175                         // Prepare data for the row template\r
176                         $content = array(\r
177                                 'sw'    => $SW,\r
178                                 'id'    => $id,\r
179                                 'title' => COMPILE_CODE($title),\r
180                                 'rate'  => TRANSLATE_COMMA($rate),\r
181                                 'mpoi'  => TRANSLATE_COMMA($mpoi),\r
182                         );\r
183 \r
184                         // Load row template and switch color\r
185                         $OUT .= LOAD_TEMPLATE("admin_config_payouts_del_row", true, $content);\r
186                         $SW = 3 - $SW;\r
187                 }\r
188                 define('__PAYOUT_ROWS', $OUT);\r
189 \r
190                 // Load main template\r
191                 LOAD_TEMPLATE("admin_config_payouts_del");\r
192         }\r
193 }\r
194 \r
195 if (!empty($msg))\r
196 {\r
197         // Output message\r
198         LOAD_TEMPLATE("admin_settings_saved", false, $msg);\r
199 }\r
200 \r
201 // Payout types\r
202 $result_type = SQL_QUERY("SELECT id, type, rate, min_points, from_account FROM "._MYSQL_PREFIX."_payout_types ORDER BY type", __FILE__, __LINE__);\r
203 \r
204 if ((SQL_NUMROWS($result_type) > 0) && ($display))\r
205 {\r
206         // List all payout types\r
207         $SW = 2; $OUT = "";\r
208         while (list($id, $type, $rate, $mpoi, $from) = SQL_FETCHROW($result_type))\r
209         {\r
210                 // Prepare data for the row template\r
211                 $content = array(\r
212                         'sw'    => $SW,\r
213                         'id'    => $id,\r
214                         'from'  => COMPILE_CODE($from),\r
215                         'type'  => COMPILE_CODE($type),\r
216                         'rate'  => TRANSLATE_COMMA($rate),\r
217                         'mpoi'  => TRANSLATE_COMMA($mpoi),\r
218                 );\r
219 \r
220                 // Load row template and switch color\r
221                 $OUT .= LOAD_TEMPLATE("admin_config_payouts_row", true, $content);\r
222                 $SW = 3 - $SW;\r
223         }\r
224 \r
225         // Free memory\r
226         SQL_FREERESULT($result_type);\r
227         define('__PAYOUT_ROWS', $OUT);\r
228 \r
229         // Load main template\r
230         LOAD_TEMPLATE("admin_config_payouts");\r
231 }\r
232 \r
233 // Does your members request payouts?\r
234 if ((SQL_NUMROWS($result_mem) > 0) && ($display))\r
235 {\r
236         // Members has requested payouts\r
237         SQL_FREERESULT($result_mem);\r
238         OUTPUT_HTML ("<P><A href=\"".URL."/modules.php?module=admin&amp;what=list_payouts\">".ADMIN_PAYOUT_LIST_REQUESTS."</A></P>");\r
239 }\r
240  elseif ($display)\r
241 {\r
242         // No member requests so far\r
243         OUTPUT_HTML ("<P><STRONG>".ADMIN_PAYOUT_NO_MEMBER_REQUESTS."</STRONG></P>");\r
244 }\r
245 // Add new paypout type\r
246 if ($display) LOAD_TEMPLATE("admin_payout_add_new");\r
247 \r
248 //\r
249 ?>\r