A lot CSS classes rewritten, please update all your themes.
[mailer.git] / inc / libs / task_functions.php
1 <?php
2 /************************************************************************
3  * Mailer v0.2.1-FINAL                                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  * $Revision::                                                        $ *
14  * $Date::                                                            $ *
15  * $Tag:: 0.2.1-FINAL                                                 $ *
16  * $Author::                                                          $ *
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                  *
23  *                                                                      *
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.                                  *
28  *                                                                      *
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.                         *
33  *                                                                      *
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,               *
37  * MA  02110-1301  USA                                                  *
38  ************************************************************************/
39
40 // Some security stuff...
41 if (!defined('__SECURITY')) {
42         die();
43 } // END - if
44
45 //
46 // The advanced overview shows detailed informations to your exchange script:
47 //  - Unconfirmed / locked accounts
48 //  - Mails waiting to be approved
49 //  - Open tasks
50 //  - Your own tasks
51 //  - ...
52 //
53 // @TODO Move all extension-dependent queries into filters
54 function outputAdvancedOverview (&$result_main) {
55         // Init variables/arrays
56         $EXTRAS = '';
57         $OUT    = '';
58         $WHATs  = array();
59         $DESCRs = array();
60         $TITLEs = array();
61
62         // Chheck for new extensions and updates
63         $jobsDone = outputStandardOverview($result_main);
64
65         // Init SQLs
66         initSqls();
67
68         // Init content
69         foreach (
70                 array(
71                         // Member accounts
72                         'confirmed_members','unconfirmed_members','locked_members',
73                         // Tasks
74                         'update_tasks','new_tasks','closed_tasks','your_tasks','deleted_tasks','solved_tasks',
75                         // Mail orders
76                         'pending_mails','canceled_mails','send_emails',
77                         // Bonus mails
78                         'send_bonus_mails',
79                         // Purging
80                         'purged_mails','purged_bonus_mails'
81                 ) as $entry) {
82                 // Set it to zero
83                 $content[$entry] = '0';
84         } // END - foreach
85
86         // Extension updates found
87         $value = countSumTotalData(getCurrentAdminId(), 'task_system', 'id', 'assigned_admin', true, " AND `status`='NEW' AND `task_type`='EXTENSION_UPDATE'");
88
89         if ($value > 0) {
90                 $content['update_tasks'] = '<a href="{%url=modules.php?module=admin&amp;what=list_task&amp;type=updates%}">' . $value . '</a>';
91         } // END - if
92
93         //
94         // First check for all account status seperately
95         //
96         // Confirmed accounts
97         $value = getTotalConfirmedUser();
98
99         if ($value > 0) {
100                 $content['confirmed_members'] = '<a href="{%url=modules.php?module=admin&amp;what=list_user&amp;status=confirmed%}">' . $value . '</a>';
101         } // END - if
102
103         // Unconfirmed accounts
104         $value = getTotalUnconfirmedUser();
105
106         if ($value > 0) {
107                 $content['unconfirmed_members'] = '<a href="{%url=modules.php?module=admin&amp;what=chk_regs%}">' . $value . '</a>';
108         } // END - if
109
110
111         // And locked accounts
112         $value = getTotalLockedUser();
113         if ($value > 0) {
114                 $content['locked_members'] = '<a href="{%url=modules.php?module=admin&amp;what=list_user&amp;status=locked%}">' . $value . '</a>';
115         } // END - if
116
117         //
118         // Unassigned tasks
119         //
120         $value = countSumTotalData(0, 'task_system', 'id', 'assigned_admin', true, " AND `status` != 'DELETED'");
121
122         if ($value > 0) {
123                 $content['new_tasks'] = '<a href="{%url=modules.php?module=admin&amp;what=list_task&amp;type=unassigned%}">' . $value . '</a>';
124         } // END - if
125
126         //
127         // Closed tasks
128         //
129         $value = countSumTotalData('CLOSED', 'task_system', 'id', 'status', true);
130
131         if ($value > 0) {
132                 $content['closed_tasks'] = '<a href="{%url=modules.php?module=admin&amp;what=list_task&amp;type=closed%}">' . $value . '</a>';
133         } // END - if
134
135         //
136         // Deleted tasks
137         //
138         $value = countSumTotalData('DELETED', 'task_system', 'id', 'status', true);
139
140         if ($value > 0) {
141                 $content['deleted_tasks'] = '<a href="{%url=modules.php?module=admin&amp;what=list_task&amp;type=deleted%}">' . $value . '</a>';
142         } // END - if
143
144         //
145         // Solved tasks
146         //
147         $value = countSumTotalData('SOLVED', 'task_system', 'id', 'status', true, sprintf(" AND `assigned_admin`=%s", getCurrentAdminId()));
148
149         if ($value > 0) {
150                 $content['solved_tasks'] = '<a href="{%url=modules.php?module=admin&amp;what=list_task&amp;type=solved%}">' . $value . '</a>';
151         } // END - if
152
153         //
154         // Your tasks
155         //
156         $value = countSumTotalData(getCurrentAdminId(), 'task_system', 'id', 'assigned_admin', true, " AND `status`='NEW' AND task_type != 'EXTENSION_UPDATE'");
157
158         if ($value > 0) {
159                 $content['your_tasks'] = '<a href="{%url=modules.php?module=admin&amp;what=list_task%}">' . $value . '</a>';
160         } // END - if
161
162         //
163         // Mails waiting to be approved
164         //
165         $value = countSumTotalData('ADMIN', 'pool', 'id', 'data_type', true);
166
167         if ($value > 0) {
168                 $content['pending_mails'] = '<a href="{%url=modules.php?module=admin&amp;what=unlock_emails%}">' . $value . '</a>';
169         } // END - if
170
171         //
172         // Unfinished mail orders
173         //
174         $value = countSumTotalData('TEMP', 'pool', 'id', 'data_type', true);
175
176         if ($value > 0) {
177                 $content['canceled_mails'] = '<a href="{%url=modules.php?module=admin&amp;what=email_details%}">' . $value . '</a>';
178         } // END - if
179
180         //
181         // Sent mail orders
182         //
183         $value = countSumTotalData('SEND', 'pool', 'id', 'data_type', true);
184
185         if ($value > 0) {
186                 $content['send_emails'] = '<a href="{%url=modules.php?module=admin&amp;what=email_archiv%}">' . $value . '</a>';
187         } // END - if
188
189         //
190         // Autopurged mails
191         //
192         if (isExtensionActive('autopurge')) {
193                 // Get auto-purged mails
194                 $value = countSumTotalData('DELETED', 'pool', 'id', 'data_type', true);
195
196                 if ($value > 0) {
197                         $content['purged_mails'] = '<a href="{%url=modules.php?module=admin&amp;what=email_details%}">' . $value . '</a>';
198                 } // END - if
199
200                 //
201                 // Autopurged bonus mails
202                 //
203                 if (isExtensionInstalledAndNewer('bonus', '0.1.8')) {
204                         // Get auto-purged bonus mails
205                         $value = countSumTotalData('DELETED', 'bonus', 'id', 'data_type', true);
206
207                         if ($value > 0) {
208                                 $content['purged_bonus_mails'] = '<a href="{%url=modules.php?module=admin&amp;what=email_details%}">' . $value . '</a>';
209                         } // END - if
210                 } elseif (isExtensionActive('bonus')) {
211                         $content['purged_bonus_mails'] = getMaskedMessage('ADMIN_EXTENSION_BONUS_OUTDATED', '0.1.8');
212                 } else {
213                         $content['purged_bonus_mails'] = '<span class="notice">{--ADMIN_EXTENSION_BONUS_404--}</span>';
214                 }
215         } else {
216                 $content['purged_bonus_mails'] = '<span class="notice">{--ADMIN_EXTENSION_AUTOPURGE_404--}</span>';
217                 $content['purged_mails'] = '<span class="notice">{--ADMIN_EXTENSION_AUTOPURGE_404--}</span>';
218         }
219
220         //
221         // Sent bonus mails
222         //
223         if (isExtensionInstalledAndNewer('bonus', '0.1.8')) {
224                 // Get sent bonus mails (but not notifications)
225                 $value = countSumTotalData('SEND', 'bonus', 'id', 'data_type', true, " AND `is_notify`='N'");
226
227                 if ($value > 0) {
228                         $content['send_bonus_mails'] = '<a href="{%url=modules.php?module=admin&amp;what=email_details%}">' . $value . '</a>';
229                 } // END - if
230         } elseif (isExtensionActive('bonus')) {
231                 $content['send_bonus_mails'] = getMaskedMessage('ADMIN_EXTENSION_BONUS_OUTDATED', '0.1.8');
232         } else {
233                 $content['send_bonus_mails'] = '{--ADMIN_EXTENSION_BONUS_404--}';
234         }
235
236         if (isExtensionActive('autopurge')) {
237                 // Start finding them...
238                 $EXCLUDE_LIST = '';
239
240                 // Check for more extensions
241                 // @TODO These can be rewritten to filter
242                 if (getConfig('def_refid') > 0)                $EXCLUDE_LIST .= ' AND d.`userid` != {?def_refid?}';
243                 if (isExtensionActive('beg'))                  $EXCLUDE_LIST .= ' AND d.`userid` != {?beg_userid?}';
244                 if (isExtensionActive('bonus'))                $EXCLUDE_LIST .= ' AND d.`userid` != {?bonus_userid?}';
245                 if (isExtensionActive('doubler'))              $EXCLUDE_LIST .= ' AND d.`userid` != {?doubler_userid?}';
246                 if (isExtensionInstalledAndNewer('holiday', '0.1.3')) {
247                         // Recent ext-holiday found
248                         $EXCLUDE_LIST .= " AND d.`holiday_active`='N'";
249                 } // END - if
250
251                 // Check for all accounts
252                 addSql("SELECT
253         d.userid, d.email, d.last_online
254 FROM
255         `{?_MYSQL_PREFIX?}_user_data` AS d
256 WHERE
257         d.`status`='CONFIRMED' AND
258         d.joined < (UNIX_TIMESTAMP() - {?ap_inactive_since?}) AND
259         d.last_online < (UNIX_TIMESTAMP() - {?ap_inactive_since?}) AND
260         d.ap_notified < (UNIX_TIMESTAMP() - {?ap_inactive_since?})
261 ".$EXCLUDE_LIST."
262 ORDER BY
263         d.userid ASC");
264                 $WHATs[]  = 'list_autopurge';
265                 $DESCRs[] = '{--ADMIN_TASK_INACTIVE_AUTOPURGE--}';
266                 $TITLEs[] = '{--ADMIN_TASK_INACTIVE_AUTOPURGE_TITLE--}';
267         }
268
269         if (isExtensionInstalledAndNewer('sql_patches', '0.3.4')) {
270                 // Check for accounts without referal
271                 addSql("SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `refid`=0 ORDER BY `userid` ASC");
272                 $DESCRs[] = '{--ADMIN_TASK_LIST_ACCOUNT_NOREF--}';
273                 $TITLEs[] = '{--ADMIN_TASK_LIST_ACCOUNT_NOREFERAL_TITLE--}';
274                 $WHATs[]  = 'list_user&amp;mode=norefs';
275         }
276
277         if (isExtensionActive('payout')) {
278                 // List new payout requests
279                 addSql("SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_payouts` WHERE `status`='NEW' ORDER BY `userid` ASC");
280                 $WHATs[]  = 'list_payouts';
281                 $DESCRs[] = '{--ADMIN_TASK_LIST_PAYOUTS_WAITING--}';
282                 $TITLEs[] = '{--ADMIN_TASK_LIST_PAYOUTS_WAITING_TITLE--}';
283                 addSql("SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_payouts` ORDER BY `userid` ASC");
284                 $WHATs[]  = 'list_payouts';
285                 $DESCRs[] = '{--ADMIN_TASK_LIST_PAYOUTS_ALL--}';
286                 $TITLEs[] = '{--ADMIN_TASK_LIST_PAYOUTS_ALL_TITLE--}';
287         }
288
289         if (isExtensionActive('wernis')) {
290                 // List new wernis requests
291                 addSql("SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_wernis` ORDER BY `userid` ASC");
292                 $WHATs[]  = 'list_wernis';
293                 $DESCRs[] = '{--ADMIN_TASK_LIST_WERNIS_ALL--}';
294                 $TITLEs[] = '{--ADMIN_TASK_LIST_WERNIS_ALL_TITLE--}';
295         }
296
297         if (isExtensionActive('primera')) {
298                 // List new primera requests
299                 addSql("SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_primera` ORDER BY `userid` ASC");
300                 $WHATs[]  = 'list_primera';
301                 $DESCRs[] = '{--ADMIN_TASK_LIST_PRIMERA_ALL--}';
302                 $TITLEs[] = '{--ADMIN_TASK_LIST_PRIMERA_ALL_TITLE--}';
303         }
304
305         if (isExtensionActive('holiday')) {
306                 // List holiday requests
307                 addSql("SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_holidays` ORDER BY `userid` ASC");
308                 $WHATs[]  = 'list_holiday';
309                 $DESCRs[] = '{--ADMIN_TASK_LIST_HOLIDAYS--}';
310                 $TITLEs[] = '{--ADMIN_TASK_LIST_HOLIDAYS_TITLE--}';
311         }
312
313         if (isExtensionInstalledAndNewer('bonus', '0.8.7')) {
314                 // List all notifications
315                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `is_notify`='Y' ORDER BY `timestamp` DESC");
316                 $WHATs[]  = 'list_notifications';
317                 $DESCRs[] = '{--ADMIN_TASK_LIST_NOTIFICATIONS--}';
318                 $TITLEs[] = '{--ADMIN_TASK_LIST_NOTIFICATIONS_TITLE--}';
319         } // END - if
320
321         if (isExtensionInstalledAndNewer('bonus', '0.2.3')) {
322                 // Active rallye
323                 if (isExtensionInstalledAndNewer('bonus', '0.6.9')) {
324                         // Add more bonus points here
325                         $USE = '(0';
326                         if (getConfig('bonus_click_yn') == 'Y') $USE .= ' + `turbo_bonus`';
327                         if (getConfig('bonus_login_yn') == 'Y') $USE .= ' + `login_bonus`';
328                         if (getConfig('bonus_order_yn') == 'Y') $USE .= ' + `bonus_order`';
329                         if (getConfig('bonus_stats_yn') == 'Y') $USE .= ' + `bonus_stats`';
330                         if (getConfig('bonus_ref_yn')   == 'Y') $USE .= ' + `bonus_ref`';
331                         $USE .= ')';
332                 } else {
333                         // Old version ???
334                         $USE = 'turbo_bonus';
335                 }
336
337                 // Autopurge installed?
338                 $lastOnline = '';
339                 if ((isExtensionActive('autopurge')) && (getConfig('autopurge_inactive') == 'Y') && (getApInactiveSince() > 0)) {
340                         // Use last online timestamp to keep inactive members away from here
341                         $lastOnline   = ' AND `last_online` >= (UNIX_TIMESTAMP() - {?ap_inactive_since?})';
342                 } // END - if
343
344                 addSql("SELECT
345         " . $USE . " AS points
346 FROM
347         `{?_MYSQL_PREFIX?}_user_data`
348 WHERE
349         `status`='CONFIRMED' AND
350         " . $USE . " > 0
351         " . $lastOnline . "
352 ORDER BY
353         `points` DESC,
354         `userid` ASC");
355                 $WHATs[]  = 'list_bonus';
356                 $DESCRs[] = '{--ADMIN_TASK_LIST_BONUS--}';
357                 $TITLEs[] = '{--ADMIN_TASK_LIST_BONUS_TITLE--}';
358         }
359
360         if (isExtensionInstalledAndNewer('beg', '0.1.2')) {
361                 // Begging rallye
362
363                 // Autopurge installed?
364                 $lastOnline = '';
365                 if ((isExtensionActive('autopurge')) && (getConfig('autopurge_inactive') == 'Y') && (getApInactiveSince() > 0)) {
366                         // Use last online timestamp to keep inactive members away from here
367                         $lastOnline   = ' AND `last_online` >= (UNIX_TIMESTAMP() - {?ap_inactive_since?})';
368                 } // END - if
369
370                 addSql("SELECT
371         `userid`
372 FROM
373         `{?_MYSQL_PREFIX?}_user_data`
374 WHERE
375         `status`='CONFIRMED' AND
376         `beg_points` > 0
377         ".$lastOnline."
378 ORDER BY
379         `beg_points` DESC,
380         `userid` ASC");
381                 $WHATs[]  = 'list_beg';
382                 $DESCRs[] = '{--ADMIN_TASK_LIST_BEG--}';
383                 $TITLEs[] = '{--ADMIN_TASK_LIST_BEG_TITLE--}';
384         } // END - if
385
386         if (isExtensionActive('doubler')) {
387                 // List waiting payouts
388                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_doubler` WHERE `completed`='N' ORDER BY `id` ASC");
389                 $WHATs[]  = 'list_doubler&amp;mode=waiting&amp;select=all';
390                 $DESCRs[] = '{--ADMIN_TASK_LIST_DOUBLER_WAITING--}';
391                 $TITLEs[] = '{--ADMIN_TASK_LIST_DOUBLER_WAITING_TITLE--}';
392                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_doubler` ORDER BY `id` ASC");
393                 $WHATs[]  = 'list_doubler';
394                 $DESCRs[] = '{--ADMIN_TASK_LIST_DOUBLER_ALL--}';
395                 $TITLEs[] = '{--ADMIN_TASK_LIST_DOUBLER_ALL_TITLE--}';
396         } // END - if
397
398         //
399         // All referal banner
400         //
401         addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_refbanner` ORDER BY `id` ASC");
402         $WHATs[] = 'refbanner';
403         $DESCRs[] = '{--ADMIN_TASK_LIST_REFBANNER_ALL--}';
404         $TITLEs[] = '{--ADMIN_TASK_LIST_REFBANNER_ALL_TITLE--}';
405
406         //
407         // All activated referal banner
408         //
409         addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_refbanner` WHERE `visible`='Y' ORDER BY `id` ASC");
410         $WHATs[] = 'refbanner';
411         $DESCRs[] = '{--ADMIN_TASK_LIST_REFBANNER_ACTIVE--}';
412         $TITLEs[] = '{--ADMIN_TASK_LIST_REFBANNER_ACTIVE_TITLE--}';
413
414         //
415         // All extensions
416         //
417         addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_extensions` ORDER BY `id` ASC");
418         $WHATs[] = 'extensions';
419         $DESCRs[] = '{--ADMIN_TASK_LIST_EXTENSIONS_ALL--}';
420         $TITLEs[] = '{--ADMIN_TASK_LIST_EXTENSIONS_ALL_TITLE--}';
421
422         //
423         // All activated extensions
424         //
425         addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_extensions` WHERE `ext_active`='Y' ORDER BY `id` ASC");
426         $WHATs[]  = 'extensions&amp;active=Y';
427         $DESCRs[] = '{--ADMIN_TASK_LIST_EXTENSIONS_ACTIVE--}';
428         $TITLEs[] = '{--ADMIN_TASK_LIST_EXTENSIONS_ACTIVE_TITLE--}';
429
430         if (isExtensionActive('engine')) {
431                 // List all export accounts
432                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_engine_accounts` ORDER BY `id` ASC");
433                 $WHATs[]  = 'list_engine';
434                 $DESCRs[] = '{--ADMIN_TASK_LIST_ENGINE--}';
435                 $TITLEs[] = '{--ADMIN_TASK_LIST_ENGINE_TITLE--}';
436
437                 // List all pending accounts
438                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_engine_accounts` WHERE `status`='UNCONFIRMED' ORDER BY `id` ASC");
439                 $WHATs[]  = 'unlock_engine';
440                 $DESCRs[] = '{--ADMIN_TASK_UNLOCK_ENGINE--}';
441                 $TITLEs[] = '{--ADMIN_TASK_UNLOCK_ENGINE_TITLE--}';
442
443                 // List all safes
444                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_engine_safe` ORDER BY `id` ASC");
445                 $WHATs[]  = 'list_engine&amp;mode=safe';
446                 $DESCRs[] = '{--ADMIN_TASK_LIST_ENGINE_SAFES--}';
447                 $TITLEs[] = '{--ADMIN_TASK_LIST_ENGINE_SAFES_TITLE--}';
448
449                 // List all export URLs
450                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_engine_urls` ORDER BY `id` ASC");
451                 $WHATs[]  = 'engine_urls';
452                 $DESCRs[] = '{--ADMIN_TASK_LIST_ENGINE_URLS--}';
453                 $TITLEs[] = '{--ADMIN_TASK_LIST_ENGINE_URLS_TITLE--}';
454         } // END - if
455
456         if (isExtensionActive('sponsor')) {
457                 // List all sponsors
458                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_sponsor_data` ORDER BY `id` ASC");
459                 $WHATs[]  = 'list_sponsor';
460                 $DESCRs[] = '{--ADMIN_TASK_LIST_SPONSOR--}';
461                 $TITLEs[] = '{--ADMIN_TASK_LIST_SPONSOR_TITLE--}';
462
463                 // List confirmed sponsor accounts
464                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_sponsor_data` WHERE `status`='CONFIRMED' ORDER BY `id` ASC");
465                 $WHATs[]  = 'list_sponsor';
466                 $DESCRs[] = '{--ADMIN_TASK_LIST_SPONSOR_CONFIRMED--}';
467                 $TITLEs[] = '{--ADMIN_TASK_LIST_SPONSOR_CONFIRMED_TITLE--}';
468
469                 // List unconfirmed sponsor accounts
470                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_sponsor_data` WHERE `status`='UNCONFIRMED' ORDER BY `id` ASC");
471                 $WHATs[]  = 'list_sponsor';
472                 $DESCRs[] = '{--ADMIN_TASK_LIST_SPONSOR_UNCONFIRMED--}';
473                 $TITLEs[] = '{--ADMIN_TASK_LIST_SPONSOR_UNCONFIRMED_TITLE--}';
474
475                 // List locked sponsor accounts
476                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_sponsor_data` WHERE `status`='LOCKED' ORDER BY `id` ASC");
477                 $WHATs[]  = 'list_sponsor';
478                 $DESCRs[] = '{--ADMIN_TASK_LIST_SPONSOR_LOCKED--}';
479                 $TITLEs[] = '{--ADMIN_TASK_LIST_SPONSOR_LOCKED_TITLE--}';
480
481                 // List waiting sponsor accounts to be approved
482                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_sponsor_data` WHERE `status`='PENDING' ORDER BY `id` ASC");
483                 $WHATs[]  = 'unlock_sponsor';
484                 $DESCRs[] = '{--ADMIN_TASK_LIST_SPONSOR_PENDING--}';
485                 $TITLEs[] = '{--ADMIN_TASK_LIST_SPONSOR_PENDING_TITLE--}';
486
487                 // Waiting payments
488                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_sponsor_orders` WHERE `pay_status`='PENDING' ORDER BY `id` ASC");
489                 $WHATs[]  = 'list_sponsor_pays';
490                 $DESCRs[] = '{--ADMIN_TASK_LIST_SPONSOR_ORDERS--}';
491                 $TITLEs[] = '{--ADMIN_TASK_LIST_SPONSOR_ORDERS_TITLE--}';
492         } // END - if
493
494         if (isExtensionActive('country')) {
495                 // List country codes
496                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_countries` ORDER BY `id` ASC");
497                 $WHATs[]  = 'list_country';
498                 $DESCRs[] = '{--ADMIN_TASK_LIST_COUNTRY--}';
499                 $TITLEs[] = '{--ADMIN_TASK_LIST_COUNTRY_TITLE--}';
500         } // END - if
501
502         if (isExtensionActive('theme')) {
503                 // List all themes
504                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_themes` ORDER BY `id` ASC");
505                 $WHATs[]  = 'theme_edit';
506                 $DESCRs[] = '{--ADMIN_TASK_LIST_THEME_ALL--}';
507                 $TITLEs[] = '{--ADMIN_TASK_LIST_THEME_ALL_TITLE--}';
508
509                 // List active themes
510                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_themes` WHERE `theme_active`='Y' ORDER BY `id` ASC");
511                 $WHATs[]  = 'theme_edit';
512                 $DESCRs[] = '{--ADMIN_TASK_LIST_THEME_ACTIVE--}';
513                 $TITLEs[] = '{--ADMIN_TASK_LIST_THEME_ACTIVE_TITLE--}';
514         } // END - if
515
516         if (isExtensionActive('admins')) {
517                 // List all administrator logins
518                 addSql("SELECT `id` FROM `{?_MYSQL_PREFIX?}_admins` ORDER BY `id` ASC");
519                 $WHATs[]  = 'admins_edit';
520                 $DESCRs[] = '{--ADMIN_TASK_LIST_ADMINS_ALL--}';
521                 $TITLEs[] = '{--ADMIN_TASK_LIST_ADMINS_ALL_TITLE--}';
522         } // END - if
523
524         if (isExtensionActive('surfbar')) {
525                 // List all URLs in surfbar
526                 addSql("SELECT `url_id` FROM `{?_MYSQL_PREFIX?}_surfbar_urls` ORDER BY `url_id` ASC");
527                 $WHATs[]  = 'list_surfbar_urls';
528                 $DESCRs[] = '{--ADMIN_TASK_LIST_SURFBAR_URLS_ALL--}';
529                 $TITLEs[] = '{--ADMIN_TASK_LIST_SURFBAR_URLS_ALL_TITLE--}';
530
531                 // List all pending URLs in surfbar
532                 addSql("SELECT `url_id` FROM `{?_MYSQL_PREFIX?}_surfbar_urls` WHERE `url_status`='PENDING' ORDER BY `url_id` ASC");
533                 $WHATs[]  = 'unlock_surfbar_urls';
534                 $DESCRs[] = '{--ADMIN_TASK_LIST_SURFBAR_URLS_PENDING--}';
535                 $TITLEs[] = '{--ADMIN_TASK_LIST_SURFBAR_URLS_PENDING_TITLE--}';
536         } // END - if
537
538         // Generate extra overview rows
539         $EXTRAS .= createExtraTaskRows($WHATs, $DESCRs, $TITLEs);
540
541         // If empty just keep a forced-space left for CSS issues
542         if (empty($EXTRAS)) $EXTRAS = '&nbsp;';
543
544         // Add compiled string to constant for final template
545         $content['extra_table'] = $EXTRAS;
546
547         // Simply load the template... :-)
548         loadTemplate('admin_overview_task', false, $content);
549 }
550
551 //
552 function createExtraTaskRows ($WHATs, $DESCRs, $TITLEs) {
553         // Init variables
554         $OUT = '';
555
556         // Sadly this cannot be rewritten to a filter... :(
557         foreach (getSqls() as $sqls) {
558                 // New format...
559                 foreach ($sqls as $key => $sql) {
560                         // Run SQL command, get line numbers and free memory
561                         $result = SQL_QUERY($sql, __FUNCTION__, __LINE__);
562
563                         // Prepare array for output
564                         $content = array(
565                                 'row_descr' => $DESCRs[$key],
566                                 'bottom'    => '',
567                         );
568
569                         // Rewrite CSS class if not last entry is reached
570                         if ($key < (count($sqls) - 1)) $content['bottom'] = 'bottom';
571
572                         if ((SQL_NUMROWS($result) > 0) && (!empty($WHATs[$key]))) {
573                                 if (empty($TITLEs[$key])) {
574                                         $TITLEs[$key] = '{--ADMIN_TASK_UNKNOWN_LIST_TITLE--}';
575                                 } // END - if
576                                 $content['row_link'] = '<a href="{%url=modules.php?module=admin&amp;what=' . $WHATs[$key] . '%}" title="' . $TITLEs[$key] . '">' . SQL_NUMROWS($result) . '</a>';
577                         } else {
578                                 $content['row_link'] = '0';
579                         }
580
581                         // Free result
582                         SQL_FREERESULT($result);
583
584                         // And insert the final string into extras template
585                         $OUT .= loadTemplate('admin_overview_task_rows', true, $content);
586                 } // END- foreach
587         } // END - foreach
588
589         // Return output in the template
590         return loadTemplate('admin_overview_task_extras', true, $OUT);
591 }
592
593 //
594 ?>