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