More language constants rewritten ({--LANGUAGE--} is for constants)
[mailer.git] / inc / libs / task_functions.php
1 <?php
2 /************************************************************************
3  * MXChange v0.2.1                                    Start: 08/03/2004 *
4  * ================                             Last change: 11/19/2005 *
5  *                                                                      *
6  * -------------------------------------------------------------------- *
7  * File              : task_functions.php                               *
8  * -------------------------------------------------------------------- *
9  * Short description : Special task functions                           *
10  * -------------------------------------------------------------------- *
11  * Kurzbeschreibung  : Spezielle task-Funktionen                        *
12  * -------------------------------------------------------------------- *
13  *                                                                      *
14  * -------------------------------------------------------------------- *
15  * Copyright (c) 2003 - 2008 by Roland Haeder                           *
16  * For more information visit: http://www.mxchange.org                  *
17  *                                                                      *
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.                                  *
22  *                                                                      *
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.                         *
27  *                                                                      *
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,               *
31  * MA  02110-1301  USA                                                  *
32  ************************************************************************/
33
34 // Some security stuff...
35 if (!defined('__SECURITY')) {
36         $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
37         require($INC);
38 }
39
40 //
41 // The advanced overview shows detailed informations to your exchange script:
42 //  - Unconfirmed / locked accounts
43 //  - Mails waiting to be approved
44 //  - Open tasks
45 //  - Your own tasks
46 //  - ...
47 //
48 // @TODO Move all extension-dependent queries into filters
49 function OUTPUT_ADVANCED_OVERVIEW (&$result_main)
50 {
51         global $_CONFIG;
52
53         // Init variables/arrays
54         $EXTRAS = "";
55         $OUT = "";
56         $SQLs = array();
57         $WHATs = array();
58         $DESCRs = array();
59         $TITLEs = array();
60
61         // Chheck for new extensions and updates
62         $JOBS_DONE = OUTPUT_STANDARD_OVERVIEW($result_main);
63
64         if (!$JOBS_DONE) {
65                 // New extensions or updates found
66                 $value = GET_TOTAL_DATA(GET_CURRENT_ADMIN_ID(), "task_system", "id", "assigned_admin", true, " AND `status`='NEW' AND task_type='EXTENSION_UPDATE'");
67
68                 if ($value > 0) {
69                         define('__TASK_UPDATE_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&amp;what=list_task&amp;type=updates\">".$value."</a>");
70                 } else {
71                         define('__TASK_UPDATE_VALUE', "0");
72                 }
73         } else {
74                 define('__TASK_UPDATE_VALUE', "0");
75         }
76
77         //
78         // First check for all account status seperately
79         //
80         // Confirmed accounts
81         $value = GET_TOTAL_DATA("CONFIRMED", "user_data", "userid", "status", true);
82
83         if ($value > 0) {
84                 define('__CONFIRMED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&amp;what=list_user&amp;status=confirmed\">".$value."</a>");
85         } else {
86                 define('__CONFIRMED_VALUE', "0");
87         }
88
89         // Unconfirmed accounts
90         $value = GET_TOTAL_DATA("UNCONFIRMED", "user_data", "userid", "status", true);
91
92         if ($value > 0) {
93                 define('__UNCONFIRMED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&amp;what=chk_regs\">".$value."</a>");
94         } else {
95                 define('__UNCONFIRMED_VALUE', "0");
96         }
97
98         // And locked accounts
99         $value = GET_TOTAL_DATA("LOCKED", "user_data", "userid", "status", true);
100
101         if ($value > 0) {
102                 define('__LOCKED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&amp;what=list_user&amp;status=locked\">".$value."</a>");
103         } else {
104                 define('__LOCKED_VALUE', "0");
105         }
106
107         //
108         // Unassigned tasks
109         //
110         $value = GET_TOTAL_DATA("0", "task_system", "id", "assigned_admin", true, " AND `status` != 'DELETED'");
111
112         if ($value > 0) {
113                 define('__TASK_NEW_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&amp;what=list_task&amp;type=unassigned\">".$value."</a>");
114         } else {
115                 define('__TASK_NEW_VALUE', "0");
116         }
117
118         //
119         // Closed tasks
120         //
121         $value = GET_TOTAL_DATA("CLOSED", "task_system", "id", "status", true);
122
123         if ($value > 0) {
124                 define('__TASK_CLOSED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&amp;what=list_task&amp;type=closed\">".$value."</a>");
125         } else {
126                 define('__TASK_CLOSED_VALUE', "0");
127         }
128
129         //
130         // Deleted tasks
131         //
132         $value = GET_TOTAL_DATA("DELETED", "task_system", "id", "status", true);
133
134         if ($value > 0) {
135                 define('__TASK_DELETED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&amp;what=list_task&amp;type=deleted\">".$value."</a>");
136         } else {
137                 define('__TASK_DELETED_VALUE', "0");
138         }
139
140         //
141         // Solved tasks
142         //
143         $value = GET_TOTAL_DATA("SOLVED", "task_system", "id", "status", true, sprintf(" AND assigned_admin=%s", GET_CURRENT_ADMIN_ID()));
144
145         if ($value > 0) {
146                 define('__TASK_SOLVED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&amp;what=list_task&amp;type=solved\">".$value."</a>");
147         } else {
148                 define('__TASK_SOLVED_VALUE', "0");
149         }
150
151         //
152         // Your tasks
153         //
154         $value = GET_TOTAL_DATA(GET_CURRENT_ADMIN_ID(), "task_system", "id", "assigned_admin", true, " AND status = 'NEW' AND task_type != 'EXTENSION_UPDATE'");
155
156         if ($value > 0) {
157                 define('__TASK_YOUR_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&amp;what=list_task\">".$value."</a>");
158         } else {
159                 define('__TASK_YOUR_VALUE', "0");
160         }
161
162         //
163         // Mails waiting to be approved
164         //
165         $value = GET_TOTAL_DATA("ADMIN", "pool", "id", "data_type", true);
166
167         if ($value > 0) {
168                 define('__MAIL_ADMIN_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&amp;what=unlock_emails\">".$value."</a>");
169         } else {
170                 define('__MAIL_ADMIN_VALUE', "0");
171         }
172
173         //
174         // Unfinished mail orders
175         //
176         $value = GET_TOTAL_DATA("TEMP", "pool", "id", "data_type", true);
177
178         if ($value > 0) {
179                 define('__MAIL_TEMP_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&amp;what=email_details\">".$value."</a>");
180         } else {
181                 define('__MAIL_TEMP_VALUE', "0");
182         }
183
184         //
185         // Sent mail orders
186         //
187         $value = GET_TOTAL_DATA("SEND", "pool", "id", "data_type", true);
188
189         if ($value > 0) {
190                 define('__MAIL_SEND_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&amp;what=email_archiv\">".$value."</a>");
191         } else {
192                 define('__MAIL_SEND_VALUE', "0");
193         }
194
195         //
196         // Autopurged mails
197         //
198         if (EXT_IS_ACTIVE("autopurge")) {
199                 // Get auto-purged mails
200                 $value = GET_TOTAL_DATA("DELETED", "pool", "id", "data_type", true);
201
202                 if ($value > 0) {
203                         define('__MAIL_DELETED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&amp;what=email_details\">".$value."</a>");
204                 } else {
205                         define('__MAIL_DELETED_VALUE', "0");
206                 }
207
208                 //
209                 // Autopurged bonus mails
210                 //
211                 if (GET_EXT_VERSION("bonus") >= "0.1.8") {
212                         // Get auto-purged bonus mails
213                         $value = GET_TOTAL_DATA("DELETED", "bonus", "id", "data_type", true);
214
215                         if ($value > 0) {
216                                 define('__MAIL_BONUS_AP_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&amp;what=email_details\">".$value."</a>");
217                         } else {
218                                 define('__MAIL_BONUS_AP_VALUE', "0");
219                         }
220                 } elseif (EXT_IS_ACTIVE("bonus")) {
221                         define('__MAIL_BONUS_AP_VALUE', ADMIN_EXT_BONUS_OUTDATED_1."0.1.8".ADMIN_EXT_BONUS_OUTDATED_2);
222                 } else {
223                         define('__MAIL_BONUS_AP_VALUE', "<div class=\"admin_note\">{--ADMIN_EXT_BONUS_404--}</div>");
224                 }
225         } else {
226                 define('__MAIL_BONUS_AP_VALUE', "<div class=\"admin_note\">{--ADMIN_EXT_AUTOPURGE_404--}</div>");
227                 define('__MAIL_DELETED_VALUE', "<div class=\"admin_note\">{--ADMIN_EXT_AUTOPURGE_404--}</div>");
228         }
229
230         //
231         // Sent bonus mails
232         //
233         if (GET_EXT_VERSION("bonus") >= "0.1.8") {
234                 // Get sent bonus mails (but not notifications)
235                 $value = GET_TOTAL_DATA("SEND", "bonus", "id", "data_type", true, " AND is_notify='N'");
236
237                 if ($value > 0) {
238                         define('__MAIL_BONUS_SEND_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&amp;what=email_details\">".$value."</a>");
239                 } else {
240                         define('__MAIL_BONUS_SEND_VALUE', "0");
241                 }
242         } elseif (EXT_IS_ACTIVE("bonus")) {
243                 define('__MAIL_BONUS_SEND_VALUE', ADMIN_EXT_BONUS_OUTDATED_1."0.1.8".ADMIN_EXT_BONUS_OUTDATED_2);
244         } else {
245                 define('__MAIL_BONUS_SEND_VALUE', getMessage('ADMIN_EXT_BONUS_404'));
246         }
247
248         if (EXT_IS_ACTIVE("autopurge")) {
249                 // Start finding them...
250                 $since = getConfig('ap_inactive_since');
251                 $EXCLUDE_LIST = "";
252                 if (getConfig('def_refid') > 0) {
253                         $EXCLUDE_LIST = " AND d.userid != ".getConfig('def_refid')."";
254                 } // END - if
255
256                 // Check for more extensions
257                 if (EXT_IS_ACTIVE("beg"))                  $EXCLUDE_LIST .= " AND d.userid != ".getConfig('beg_uid')."";
258                 if (EXT_IS_ACTIVE("bonus"))                $EXCLUDE_LIST .= " AND d.userid != ".getConfig('bonus_uid')."";
259                 if (EXT_IS_ACTIVE("doubler"))              $EXCLUDE_LIST .= " AND d.userid != ".getConfig('doubler_uid')."";
260                 if (GET_EXT_VERSION("holiday") >= "0.1.3") $EXCLUDE_LIST .= " AND d.holiday_active='N'";
261
262                 // Check for all accounts
263                 $SQLs[] = "SELECT DISTINCT d.userid, d.email, d.last_online
264 FROM `{!_MYSQL_PREFIX!}_user_data` AS d
265 WHERE d.`status`='CONFIRMED' AND d.joined < (UNIX_TIMESTAMP() - ".$since.") AND d.last_online < (UNIX_TIMESTAMP() - ".$since.") AND d.ap_notified < (UNIX_TIMESTAMP() - ".$since.")
266 ".$EXCLUDE_LIST."
267 ORDER BY d.userid";
268                 $WHATs[]  = "list_autopurge";
269                 $DESCRs[] = getMessage('TASK_ADMIN_INACTIVE_AUTOPURGE');
270                 $TITLEs[] = getMessage('TASK_ADMIN_INACTIVE_AUTOPURGE_TITLE');
271         }
272
273         if (GET_EXT_VERSION("sql_patches") >= "0.3.4") {
274                 // Check for accounts without referal
275                 $SQLs[]   = "SELECT userid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE refid='0' ORDER BY userid";
276                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_ACCOUNT_NOREF');
277                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_ACCOUNT_NOREF_TITLE');
278                 $WHATs[]  = "list_user&amp;mode=norefs";
279         }
280
281         if (EXT_IS_ACTIVE("payout")) {
282                 // List new payout requests
283                 $SQLs[]   = "SELECT userid FROM `{!_MYSQL_PREFIX!}_user_payouts` WHERE `status`='NEW' ORDER BY userid";
284                 $WHATs[]  = "list_payouts";
285                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_PAYOUTS_WAITING');
286                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_PAYOUTS_WAITING_TITLE');
287                 $SQLs[]   = "SELECT userid FROM `{!_MYSQL_PREFIX!}_user_payouts` ORDER BY userid";
288                 $WHATs[]  = "list_payouts";
289                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_PAYOUTS_ALL');
290                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_PAYOUTS_ALL_TITLE');
291         }
292
293         if (EXT_IS_ACTIVE("wernis")) {
294                 // List new wernis requests
295                 $SQLs[]   = "SELECT userid FROM `{!_MYSQL_PREFIX!}_user_wernis` ORDER BY userid";
296                 $WHATs[]  = "list_wernis";
297                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_WERNIS_ALL');
298                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_WERNIS_ALL_TITLE');
299         }
300
301         if (EXT_IS_ACTIVE("primera")) {
302                 // List new primera requests
303                 $SQLs[]   = "SELECT userid FROM `{!_MYSQL_PREFIX!}_user_primera` ORDER BY userid";
304                 $WHATs[]  = "list_primera";
305                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_PRIMERA_ALL');
306                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_PRIMERA_ALL_TITLE');
307         }
308
309         if (EXT_IS_ACTIVE("holiday")) {
310                 // List holiday requests
311                 $SQLs[]   = "SELECT userid FROM `{!_MYSQL_PREFIX!}_user_holidays` ORDER BY userid";
312                 $WHATs[]  = "list_holiday";
313                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_HOLIDAYS');
314                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_HOLIDAYS_TITLE');
315         }
316
317         if (GET_EXT_VERSION("bonus") >= "0.8.7") {
318                 // List all notifications
319                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_bonus` WHERE is_notify='Y' ORDER BY timestamp DESC";
320                 $WHATs[]  = "list_notifications";
321                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_NOTIFICATIONS');
322                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_NOTIFICATIONS_TITLE');
323         } // END - if
324
325         if (GET_EXT_VERSION("bonus") >= "0.2.3") {
326                 // Active rallye
327                 if (GET_EXT_VERSION("bonus") >= "0.6.9") {
328                         // Add more bonus points here
329                         $USE = "(0";
330                         if (getConfig('bonus_click_yn') == "Y") $USE .= " + turbo_bonus";
331                         if (getConfig('bonus_login_yn') == "Y") $USE .= " + login_bonus";
332                         if (getConfig('bonus_order_yn') == "Y") $USE .= " + bonus_order";
333                         if (getConfig('bonus_stats_yn') == "Y") $USE .= " + bonus_stats";
334                         if (getConfig('bonus_ref_yn')   == "Y") $USE .= " + bonus_ref";
335                         $USE .= ")";
336                 } else {
337                         // Old version ???
338                         $USE = "turbo_bonus";
339                 }
340
341                 // Autopurge installed?
342                 $LAST = "";
343                 if ((EXT_IS_ACTIVE("autopurge")) && (getConfig('autopurge_inactive') == "Y") && (getConfig('ap_inactive_since') > 0)) {
344                         // Use last online timestamp to keep inactive members away from here
345                         $LAST   = sprintf(" AND last_online >= (UNIX_TIMESTAMP() - %s)", getConfig('ap_inactive_since'));
346                 }
347
348                 $SQLs[]   = "SELECT ".$USE." AS points
349 FROM `{!_MYSQL_PREFIX!}_user_data`
350 WHERE `status`='CONFIRMED' AND ".$USE.">0".$LAST."
351 ORDER BY points DESC, userid";
352                 $WHATs[]  = "list_bonus";
353                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_BONUS');
354                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_BONUS_TITLE');
355         }
356
357         if (GET_EXT_VERSION("beg") >= "0.1.2") {
358                 // Begging rallye
359
360                 // Autopurge installed?
361                 $LAST = "";
362                 if ((EXT_IS_ACTIVE("autopurge")) && (getConfig('autopurge_inactive') == "Y") && (getConfig('ap_inactive_since') > 0)) {
363                         // Use last online timestamp to keep inactive members away from here
364                         $LAST   = sprintf(" AND last_online >= (UNIX_TIMESTAMP() - %s)", getConfig('ap_inactive_since'));
365                 }
366
367                 $SQLs[]   = "SELECT userid FROM `{!_MYSQL_PREFIX!}_user_data`
368 WHERE `status`='CONFIRMED' AND beg_points>0".$LAST."
369 ORDER BY beg_points DESC, userid";
370                 $WHATs[]  = "list_beg";
371                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_BEG');
372                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_BEG_TITLE');
373         }
374
375         if (EXT_IS_ACTIVE("doubler")) {
376                 // List waiting payouts
377                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_doubler` WHERE completed='N' ORDER BY `id`";
378                 $WHATs[]  = "list_doubler&amp;mode=waiting&amp;select=all";
379                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_DOUBLER_WAITING');
380                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_DOUBLER_WAITING_TITLE');
381                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_doubler` ORDER BY `id`";
382                 $WHATs[]  = "list_doubler";
383                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_DOUBLER_ALL');
384                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_DOUBLER_ALL_TITLE');
385         }
386
387         //
388         // All referal banner
389         //
390         $SQLs[] = "SELECT id FROM `{!_MYSQL_PREFIX!}_refbanner` ORDER BY `id`";
391         $WHATs[] = "refbanner";
392         $DESCRs[] = getMessage('TASK_ADMIN_LIST_REFBANNER_ALL');
393         $TITLEs[] = getMessage('TASK_ADMIN_LIST_REFBANNER_ALL_TITLE');
394
395         //
396         // All activated referal banner
397         //
398         $SQLs[] = "SELECT id FROM `{!_MYSQL_PREFIX!}_refbanner` WHERE `visible`='Y' ORDER BY `id`";
399         $WHATs[] = "refbanner";
400         $DESCRs[] = getMessage('TASK_ADMIN_LIST_REFBANNER_ACTIVE');
401         $TITLEs[] = getMessage('TASK_ADMIN_LIST_REFBANNER_ACTIVE_TITLE');
402
403         //
404         // All extensions
405         //
406         $SQLs[] = "SELECT id FROM `{!_MYSQL_PREFIX!}_extensions` ORDER BY `id`";
407         $WHATs[] = "extensions";
408         $DESCRs[] = getMessage('TASK_ADMIN_LIST_EXTENSIONS_ALL');
409         $TITLEs[] = getMessage('TASK_ADMIN_LIST_EXTENSIONS_ALL_TITLE');
410
411         //
412         // All activated extensions
413         //
414         $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_extensions` WHERE ext_active='Y' ORDER BY `id`";
415         $WHATs[]  = "extensions&amp;active=Y";
416         $DESCRs[] = getMessage('TASK_ADMIN_LIST_EXTENSIONS_ACTIVE');
417         $TITLEs[] = getMessage('TASK_ADMIN_LIST_EXTENSIONS_ACTIVE_TITLE');
418
419         if (EXT_IS_ACTIVE("engine")) {
420                 // List all export accounts
421                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_engine_accounts` ORDER BY `id`";
422                 $WHATs[]  = "list_engine";
423                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_ENGINE');
424                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_ENGINE_TITLE');
425
426                 // List all pending accounts
427                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_engine_accounts` WHERE `status`='UNCONFIRMED' ORDER BY `id`";
428                 $WHATs[]  = "unlock_engine";
429                 $DESCRs[] = getMessage('TASK_ADMIN_UNLOCK_ENGINE');
430                 $TITLEs[] = getMessage('TASK_ADMIN_UNLOCK_ENGINE_TITLE');
431
432                 // List all safes
433                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_engine_safe` ORDER BY `id`";
434                 $WHATs[]  = "list_engine&amp;mode=safe";
435                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_ENGINE_SAFES');
436                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_ENGINE_SAFES_TITLE');
437
438                 // List all export URLs
439                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_engine_urls` ORDER BY `id`";
440                 $WHATs[]  = "engine_urls";
441                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_ENGINE_URLS');
442                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_ENGINE_URLS_TITLE');
443         }
444
445         if (EXT_IS_ACTIVE("sponsor")) {
446                 // List all sponsors
447                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_sponsor_data` ORDER BY `id`";
448                 $WHATs[]  = "list_sponsor";
449                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_SPONSOR');
450                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_SPONSOR_TITLE');
451
452                 // List confirmed sponsor accounts
453                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_sponsor_data` WHERE `status`='CONFIRMED' ORDER BY `id`";
454                 $WHATs[]  = "list_sponsor";
455                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_SPONSOR_CONFIRMED');
456                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_SPONSOR_CONFIRMED_TITLE');
457
458                 // List unconfirmed sponsor accounts
459                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_sponsor_data` WHERE `status`='UNCONFIRMED' ORDER BY `id`";
460                 $WHATs[]  = "list_sponsor";
461                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_SPONSOR_UNCONFIRMED');
462                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_SPONSOR_UNCONFIRMED_TITLE');
463
464                 // List locked sponsor accounts
465                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_sponsor_data` WHERE `status`='LOCKED' ORDER BY `id`";
466                 $WHATs[]  = "list_sponsor";
467                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_SPONSOR_LOCKED');
468                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_SPONSOR_LOCKED_TITLE');
469
470                 // List waiting sponsor accounts to be approved
471                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_sponsor_data` WHERE `status`='PENDING' ORDER BY `id`";
472                 $WHATs[]  = "unlock_sponsor";
473                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_SPONSOR_PENDING');
474                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_SPONSOR_PENDING_TITLE');
475
476                 // Waiting payments
477                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_sponsor_orders` WHERE pay_`status`='PENDING' ORDER BY `id`";
478                 $WHATs[]  = "list_sponsor_pays";
479                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_SPONSOR_ORDERS');
480                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_SPONSOR_ORDERS_TITLE');
481         }
482
483         if (EXT_IS_ACTIVE("country")) {
484                 // List country codes
485                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_countries` ORDER BY `id`";
486                 $WHATs[]  = "list_country";
487                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_COUNTRY');
488                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_COUNTRY_TITLE');
489         }
490
491         if (EXT_IS_ACTIVE("theme")) {
492                 // List all themes
493                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_themes` ORDER BY `id`";
494                 $WHATs[]  = "theme_edit";
495                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_THEME_ALL');
496                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_THEME_ALL_TITLE');
497
498                 // List active themes
499                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_themes` WHERE theme_active='Y' ORDER BY `id`";
500                 $WHATs[]  = "theme_edit";
501                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_THEME_ACTIVE');
502                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_THEME_ACTIVE_TITLE');
503         }
504
505         if (EXT_IS_ACTIVE("admins")) {
506                 // List all administrator logins
507                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_admins` ORDER BY `id`";
508                 $WHATs[]  = "admins_edit";
509                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_ADMINS_ALL');
510                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_ADMINS_ALL_TITLE');
511         }
512
513         if (EXT_IS_ACTIVE("surfbar")) {
514                 // List all URLs in surfbar
515                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_surfbar_urls` ORDER BY `id`";
516                 $WHATs[]  = "list_surfbar_urls";
517                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_SURFBAR_URLS_ALL');
518                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_SURFBAR_URLS_ALL_TITLE');
519
520                 // List all pending URLs in surfbar
521                 $SQLs[]   = "SELECT id FROM `{!_MYSQL_PREFIX!}_surfbar_urls` WHERE `status`='PENDING' ORDER BY `id`";
522                 $WHATs[]  = "unlock_surfbar_urls";
523                 $DESCRs[] = getMessage('TASK_ADMIN_LIST_SURFBAR_URLS_PENDING');
524                 $TITLEs[] = getMessage('TASK_ADMIN_LIST_SURFBAR_URLS_PENDING_TITLE');
525         }
526
527         // Generate extra overview rows
528         $EXTRAS .= TASK_CREATE_EXTRA_ROWS($SQLs, $WHATs, $DESCRs, $TITLEs);
529
530         // If empty just keep a forced-space left for CSS issues
531         if (empty($EXTRAS)) $EXTRAS = "&nbsp;";
532
533         // Add compiled string to constant for final template
534         define('__OVERVIEW_EXTRA_TABLE', $EXTRAS);
535
536         // Simply load the template... :-)
537         LOAD_TEMPLATE("admin_overview_task");
538 }
539
540 //
541 function TASK_CREATE_EXTRA_ROWS ($SQLs, $WHATs, $DESCRs, $TITLEs) {
542         // Init
543         $OUT = ""; $SW = 2; $MAX = sizeof($SQLs) - 1;
544         foreach ($SQLs as $key => $sql) {
545                 // Run SQL command, get line numbers and free memory
546                 $result = SQL_QUERY($sql, __FILE__, __LINE__);
547
548                 // Get rows
549                 $value = SQL_NUMROWS($result);
550
551                 // Free result
552                 SQL_FREERESULT($result);
553
554                 $content = array(
555                         'row_descr' => $DESCRs[$key],
556                         'row_sw'    => $SW,
557                         'bottom'    => "",
558                 );
559
560                 if ($key < $MAX) $content['bottom'] = "bottom2";
561                 if (($value > 0) && (!empty($WHATs[$key]))) {
562                         if (empty($TITLEs[$key])) $TITLEs[$key] = getMessage('TASK_ADMIN_UNKNOWN_LIST_TITLE');
563                         $content['row_link'] = "<a href=\"{!URL!}/modules.php?module=admin&amp;what=".$WHATs[$key]."\" title=\"".$TITLEs[$key]."\">".$value."</a>";
564                 } else {
565                         $content['row_link'] = 0;
566                 }
567
568                 // Switch color
569                 $SW = 3 - $SW;
570
571                 // And insert the final string into extras template
572                 $OUT .= LOAD_TEMPLATE("admin_overview_task_rows", true, $content);
573         } // END - if
574
575         // Return output
576         return LOAD_TEMPLATE("admin_overview_task_extras", true, $OUT);
577 }
578 //
579 ?>