2 /************************************************************************
3 * MXChange v0.2.1 Start: 08/03/2004 *
4 * ================ Last change: 11/19/2005 *
6 * -------------------------------------------------------------------- *
7 * File : task_functions.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Special task functions *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Spezielle task-Funktionen *
12 * -------------------------------------------------------------------- *
15 * $Tag:: 0.2.1-FINAL $ *
17 * Needs to be in all Files and every File needs "svn propset *
18 * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
19 * -------------------------------------------------------------------- *
20 * Copyright (c) 2003 - 2008 by Roland Haeder *
21 * For more information visit: http://www.mxchange.org *
23 * This program is free software; you can redistribute it and/or modify *
24 * it under the terms of the GNU General Public License as published by *
25 * the Free Software Foundation; either version 2 of the License, or *
26 * (at your option) any later version. *
28 * This program is distributed in the hope that it will be useful, *
29 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
30 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
31 * GNU General Public License for more details. *
33 * You should have received a copy of the GNU General Public License *
34 * along with this program; if not, write to the Free Software *
35 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
37 ************************************************************************/
39 // Some security stuff...
40 if (!defined('__SECURITY')) {
41 $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php';
46 // The advanced overview shows detailed informations to your exchange script:
47 // - Unconfirmed / locked accounts
48 // - Mails waiting to be approved
53 // @TODO Move all extension-dependent queries into filters
54 function OUTPUT_ADVANCED_OVERVIEW (&$result_main) {
55 // Init variables/arrays
62 // Chheck for new extensions and updates
63 $jobsDone = OUTPUT_STANDARD_OVERVIEW($result_main);
69 // New extensions or updates found
70 $value = GET_TOTAL_DATA(getCurrentAdminId(), 'task_system', 'id', 'assigned_admin', true, " AND `status`='NEW' AND `task_type`='EXTENSION_UPDATE'");
73 define('__TASK_UPDATE_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_task&type=updates\">".$value."</a>");
75 define('__TASK_UPDATE_VALUE', '0');
78 define('__TASK_UPDATE_VALUE', '0');
82 // First check for all account status seperately
85 $value = GET_TOTAL_DATA('CONFIRMED', 'user_data', 'userid', 'status', true);
88 define('__CONFIRMED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_user&status=confirmed\">".$value."</a>");
90 define('__CONFIRMED_VALUE', '0');
93 // Unconfirmed accounts
94 $value = GET_TOTAL_DATA('UNCONFIRMED', 'user_data', 'userid', 'status', true);
97 define('__UNCONFIRMED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=chk_regs\">".$value."</a>");
99 define('__UNCONFIRMED_VALUE', '0');
102 // And locked accounts
103 $value = GET_TOTAL_DATA('LOCKED', 'user_data', 'userid', 'status', true);
106 define('__LOCKED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_user&status=locked\">".$value."</a>");
108 define('__LOCKED_VALUE', '0');
114 $value = GET_TOTAL_DATA('0', 'task_system', 'id', 'assigned_admin', true, " AND `status` != 'DELETED'");
117 define('__TASK_NEW_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_task&type=unassigned\">".$value."</a>");
119 define('__TASK_NEW_VALUE', '0');
125 $value = GET_TOTAL_DATA('CLOSED', 'task_system', 'id', 'status', true);
128 define('__TASK_CLOSED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_task&type=closed\">".$value."</a>");
130 define('__TASK_CLOSED_VALUE', '0');
136 $value = GET_TOTAL_DATA('DELETED', 'task_system', 'id', 'status', true);
139 define('__TASK_DELETED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_task&type=deleted\">".$value."</a>");
141 define('__TASK_DELETED_VALUE', '0');
147 $value = GET_TOTAL_DATA('SOLVED', 'task_system', 'id', 'status', true, sprintf(" AND `assigned_admin`=%s", getCurrentAdminId()));
150 define('__TASK_SOLVED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_task&type=solved\">".$value."</a>");
152 define('__TASK_SOLVED_VALUE', '0');
158 $value = GET_TOTAL_DATA(getCurrentAdminId(), 'task_system', 'id', 'assigned_admin', true, " AND `status`='NEW' AND task_type != 'EXTENSION_UPDATE'");
161 define('__TASK_YOUR_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_task\">".$value."</a>");
163 define('__TASK_YOUR_VALUE', '0');
167 // Mails waiting to be approved
169 $value = GET_TOTAL_DATA('ADMIN', 'pool', 'id', 'data_type', true);
172 define('__MAIL_ADMIN_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=unlock_emails\">".$value."</a>");
174 define('__MAIL_ADMIN_VALUE', '0');
178 // Unfinished mail orders
180 $value = GET_TOTAL_DATA('TEMP', 'pool', 'id', 'data_type', true);
183 define('__MAIL_TEMP_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=email_details\">".$value."</a>");
185 define('__MAIL_TEMP_VALUE', '0');
191 $value = GET_TOTAL_DATA('SEND', 'pool', 'id', 'data_type', true);
194 define('__MAIL_SEND_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=email_archiv\">".$value."</a>");
196 define('__MAIL_SEND_VALUE', '0');
202 if (EXT_IS_ACTIVE('autopurge')) {
203 // Get auto-purged mails
204 $value = GET_TOTAL_DATA('DELETED', 'pool', 'id', 'data_type', true);
207 define('__MAIL_DELETED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=email_details\">".$value."</a>");
209 define('__MAIL_DELETED_VALUE', '0');
213 // Autopurged bonus mails
215 if (GET_EXT_VERSION('bonus') >= '0.1.8') {
216 // Get auto-purged bonus mails
217 $value = GET_TOTAL_DATA('DELETED', 'bonus', 'id', 'data_type', true);
220 define('__MAIL_BONUS_AP_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=email_details\">".$value."</a>");
222 define('__MAIL_BONUS_AP_VALUE', '0');
224 } elseif (EXT_IS_ACTIVE('bonus')) {
225 define('__MAIL_BONUS_AP_VALUE', sprintf(getMessage('ADMIN_EXT_BONUS_OUTDATED', '0.1.8')));
227 define('__MAIL_BONUS_AP_VALUE', "<span class=\"admin_note\">{--ADMIN_EXT_BONUS_404--}</span>");
230 define('__MAIL_BONUS_AP_VALUE', "<span class=\"admin_note\">{--ADMIN_EXT_AUTOPURGE_404--}</span>");
231 define('__MAIL_DELETED_VALUE', "<span class=\"admin_note\">{--ADMIN_EXT_AUTOPURGE_404--}</span>");
237 if (GET_EXT_VERSION('bonus') >= '0.1.8') {
238 // Get sent bonus mails (but not notifications)
239 $value = GET_TOTAL_DATA('SEND', 'bonus', 'id', 'data_type', true, " AND `is_notify`='N'");
242 define('__MAIL_BONUS_SEND_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=email_details\">".$value."</a>");
244 define('__MAIL_BONUS_SEND_VALUE', '0');
246 } elseif (EXT_IS_ACTIVE('bonus')) {
247 define('__MAIL_BONUS_SEND_VALUE', sprintf(getMessage('ADMIN_EXT_BONUS_OUTDATED', '0.1.8')));
249 define('__MAIL_BONUS_SEND_VALUE', getMessage('ADMIN_EXT_BONUS_404'));
252 if (EXT_IS_ACTIVE('autopurge')) {
253 // Start finding them...
254 $since = getConfig('ap_inactive_since');
256 if (getConfig('def_refid') > 0) {
257 $EXCLUDE_LIST = " AND d.userid != ".getConfig('def_refid')."";
260 // Check for more extensions
261 // @TODO These can be rewritten to filter
262 if (EXT_IS_ACTIVE('beg')) $EXCLUDE_LIST .= " AND d.userid != ".getConfig('beg_uid')."";
263 if (EXT_IS_ACTIVE('bonus')) $EXCLUDE_LIST .= " AND d.userid != ".getConfig('bonus_uid')."";
264 if (EXT_IS_ACTIVE('doubler')) $EXCLUDE_LIST .= " AND d.userid != ".getConfig('doubler_uid')."";
265 if (GET_EXT_VERSION('holiday') >= '0.1.3') $EXCLUDE_LIST .= " AND d.`holiday_active`='N'";
267 // Check for all accounts
268 ADD_SQL("SELECT DISTINCT d.userid, d.email, d.last_online
269 FROM `{!_MYSQL_PREFIX!}_user_data` AS d
270 WHERE d.`status`='CONFIRMED' AND d.joined < (UNIX_TIMESTAMP() - ".$since.") AND d.last_online < (UNIX_TIMESTAMP() - ".$since.") AND d.ap_notified < (UNIX_TIMESTAMP() - ".$since.")
273 $WHATs[] = 'list_autopurge';
274 $DESCRs[] = getMessage('ADMIN_TASK_INACTIVE_AUTOPURGE');
275 $TITLEs[] = getMessage('ADMIN_TASK_INACTIVE_AUTOPURGE_TITLE');
278 if (GET_EXT_VERSION('sql_patches') >= '0.3.4') {
279 // Check for accounts without referal
280 ADD_SQL("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `refid`=0 ORDER BY `userid` ASC");
281 $DESCRs[] = getMessage('ADMIN_TASK_LIST_ACCOUNT_NOREF');
282 $TITLEs[] = getMessage('ADMIN_TASK_LIST_ACCOUNT_NOREF_TITLE');
283 $WHATs[] = 'list_user&mode=norefs';
286 if (EXT_IS_ACTIVE('payout')) {
287 // List new payout requests
288 ADD_SQL("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_payouts` WHERE `status`='NEW' ORDER BY `userid` ASC");
289 $WHATs[] = 'list_payouts';
290 $DESCRs[] = getMessage('ADMIN_TASK_LIST_PAYOUTS_WAITING');
291 $TITLEs[] = getMessage('ADMIN_TASK_LIST_PAYOUTS_WAITING_TITLE');
292 ADD_SQL("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_payouts` ORDER BY `userid` ASC");
293 $WHATs[] = 'list_payouts';
294 $DESCRs[] = getMessage('ADMIN_TASK_LIST_PAYOUTS_ALL');
295 $TITLEs[] = getMessage('ADMIN_TASK_LIST_PAYOUTS_ALL_TITLE');
298 if (EXT_IS_ACTIVE('wernis')) {
299 // List new wernis requests
300 ADD_SQL("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_wernis` ORDER BY `userid` ASC");
301 $WHATs[] = 'list_wernis';
302 $DESCRs[] = getMessage('ADMIN_TASK_LIST_WERNIS_ALL');
303 $TITLEs[] = getMessage('ADMIN_TASK_LIST_WERNIS_ALL_TITLE');
306 if (EXT_IS_ACTIVE('primera')) {
307 // List new primera requests
308 ADD_SQL("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_primera` ORDER BY `userid` ASC");
309 $WHATs[] = 'list_primera';
310 $DESCRs[] = getMessage('ADMIN_TASK_LIST_PRIMERA_ALL');
311 $TITLEs[] = getMessage('ADMIN_TASK_LIST_PRIMERA_ALL_TITLE');
314 if (EXT_IS_ACTIVE('holiday')) {
315 // List holiday requests
316 ADD_SQL("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_holidays` ORDER BY `userid` ASC");
317 $WHATs[] = 'list_holiday';
318 $DESCRs[] = getMessage('ADMIN_TASK_LIST_HOLIDAYS');
319 $TITLEs[] = getMessage('ADMIN_TASK_LIST_HOLIDAYS_TITLE');
322 if (GET_EXT_VERSION('bonus') >= '0.8.7') {
323 // List all notifications
324 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_bonus` WHERE is_notify='Y' ORDER BY timestamp DESC");
325 $WHATs[] = 'list_notifications';
326 $DESCRs[] = getMessage('ADMIN_TASK_LIST_NOTIFICATIONS');
327 $TITLEs[] = getMessage('ADMIN_TASK_LIST_NOTIFICATIONS_TITLE');
330 if (GET_EXT_VERSION('bonus') >= '0.2.3') {
332 if (GET_EXT_VERSION('bonus') >= '0.6.9') {
333 // Add more bonus points here
335 if (getConfig('bonus_click_yn') == 'Y') $USE .= ' + `turbo_bonus`';
336 if (getConfig('bonus_login_yn') == 'Y') $USE .= ' + `login_bonus`';
337 if (getConfig('bonus_order_yn') == 'Y') $USE .= ' + `bonus_order`';
338 if (getConfig('bonus_stats_yn') == 'Y') $USE .= ' + `bonus_stats`';
339 if (getConfig('bonus_ref_yn') == 'Y') $USE .= ' + `bonus_ref`';
343 $USE = 'turbo_bonus';
346 // Autopurge installed?
348 if ((EXT_IS_ACTIVE('autopurge')) && (getConfig('autopurge_inactive') == 'Y') && (getConfig('ap_inactive_since') > 0)) {
349 // Use last online timestamp to keep inactive members away from here
350 $lastOnline = sprintf(" AND `last_online` >= (UNIX_TIMESTAMP() - %s)", getConfig('ap_inactive_since'));
353 ADD_SQL("SELECT ".$USE." AS points
354 FROM `{!_MYSQL_PREFIX!}_user_data`
355 WHERE `status`='CONFIRMED' AND ".$USE.">0".$lastOnline."
356 ORDER BY points DESC, userid");
357 $WHATs[] = 'list_bonus';
358 $DESCRs[] = getMessage('ADMIN_TASK_LIST_BONUS');
359 $TITLEs[] = getMessage('ADMIN_TASK_LIST_BONUS_TITLE');
362 if (GET_EXT_VERSION('beg') >= '0.1.2') {
365 // Autopurge installed?
367 if ((EXT_IS_ACTIVE('autopurge')) && (getConfig('autopurge_inactive') == 'Y') && (getConfig('ap_inactive_since') > 0)) {
368 // Use last online timestamp to keep inactive members away from here
369 $lastOnline = sprintf(" AND `last_online` >= (UNIX_TIMESTAMP() - %s)", getConfig('ap_inactive_since'));
372 ADD_SQL("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_data`
373 WHERE `status`='CONFIRMED' AND beg_points>0".$lastOnline."
374 ORDER BY beg_points DESC, userid");
375 $WHATs[] = 'list_beg';
376 $DESCRs[] = getMessage('ADMIN_TASK_LIST_BEG');
377 $TITLEs[] = getMessage('ADMIN_TASK_LIST_BEG_TITLE');
380 if (EXT_IS_ACTIVE('doubler')) {
381 // List waiting payouts
382 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_doubler` WHERE completed='N' ORDER BY `id`");
383 $WHATs[] = 'list_doubler&mode=waiting&select=all';
384 $DESCRs[] = getMessage('ADMIN_TASK_LIST_DOUBLER_WAITING');
385 $TITLEs[] = getMessage('ADMIN_TASK_LIST_DOUBLER_WAITING_TITLE');
386 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_doubler` ORDER BY `id`");
387 $WHATs[] = 'list_doubler';
388 $DESCRs[] = getMessage('ADMIN_TASK_LIST_DOUBLER_ALL');
389 $TITLEs[] = getMessage('ADMIN_TASK_LIST_DOUBLER_ALL_TITLE');
393 // All referal banner
395 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_refbanner` ORDER BY `id`");
396 $WHATs[] = 'refbanner';
397 $DESCRs[] = getMessage('ADMIN_TASK_LIST_REFBANNER_ALL');
398 $TITLEs[] = getMessage('ADMIN_TASK_LIST_REFBANNER_ALL_TITLE');
401 // All activated referal banner
403 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_refbanner` WHERE `visible`='Y' ORDER BY `id`");
404 $WHATs[] = 'refbanner';
405 $DESCRs[] = getMessage('ADMIN_TASK_LIST_REFBANNER_ACTIVE');
406 $TITLEs[] = getMessage('ADMIN_TASK_LIST_REFBANNER_ACTIVE_TITLE');
411 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_extensions` ORDER BY `id`");
412 $WHATs[] = 'extensions';
413 $DESCRs[] = getMessage('ADMIN_TASK_LIST_EXTENSIONS_ALL');
414 $TITLEs[] = getMessage('ADMIN_TASK_LIST_EXTENSIONS_ALL_TITLE');
417 // All activated extensions
419 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_extensions` WHERE `ext_active`='Y' ORDER BY `id`");
420 $WHATs[] = 'extensions&active=Y';
421 $DESCRs[] = getMessage('ADMIN_TASK_LIST_EXTENSIONS_ACTIVE');
422 $TITLEs[] = getMessage('ADMIN_TASK_LIST_EXTENSIONS_ACTIVE_TITLE');
424 if (EXT_IS_ACTIVE('engine')) {
425 // List all export accounts
426 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_engine_accounts` ORDER BY `id`");
427 $WHATs[] = 'list_engine';
428 $DESCRs[] = getMessage('ADMIN_TASK_LIST_ENGINE');
429 $TITLEs[] = getMessage('ADMIN_TASK_LIST_ENGINE_TITLE');
431 // List all pending accounts
432 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_engine_accounts` WHERE `status`='UNCONFIRMED' ORDER BY `id`");
433 $WHATs[] = 'unlock_engine';
434 $DESCRs[] = getMessage('ADMIN_TASK_UNLOCK_ENGINE');
435 $TITLEs[] = getMessage('ADMIN_TASK_UNLOCK_ENGINE_TITLE');
438 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_engine_safe` ORDER BY `id`");
439 $WHATs[] = 'list_engine&mode=safe';
440 $DESCRs[] = getMessage('ADMIN_TASK_LIST_ENGINE_SAFES');
441 $TITLEs[] = getMessage('ADMIN_TASK_LIST_ENGINE_SAFES_TITLE');
443 // List all export URLs
444 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_engine_urls` ORDER BY `id`");
445 $WHATs[] = 'engine_urls';
446 $DESCRs[] = getMessage('ADMIN_TASK_LIST_ENGINE_URLS');
447 $TITLEs[] = getMessage('ADMIN_TASK_LIST_ENGINE_URLS_TITLE');
450 if (EXT_IS_ACTIVE('sponsor')) {
452 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_sponsor_data` ORDER BY `id`");
453 $WHATs[] = 'list_sponsor';
454 $DESCRs[] = getMessage('ADMIN_TASK_LIST_SPONSOR');
455 $TITLEs[] = getMessage('ADMIN_TASK_LIST_SPONSOR_TITLE');
457 // List confirmed sponsor accounts
458 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_sponsor_data` WHERE `status`='CONFIRMED' ORDER BY `id`");
459 $WHATs[] = 'list_sponsor';
460 $DESCRs[] = getMessage('ADMIN_TASK_LIST_SPONSOR_CONFIRMED');
461 $TITLEs[] = getMessage('ADMIN_TASK_LIST_SPONSOR_CONFIRMED_TITLE');
463 // List unconfirmed sponsor accounts
464 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_sponsor_data` WHERE `status`='UNCONFIRMED' ORDER BY `id`");
465 $WHATs[] = 'list_sponsor';
466 $DESCRs[] = getMessage('ADMIN_TASK_LIST_SPONSOR_UNCONFIRMED');
467 $TITLEs[] = getMessage('ADMIN_TASK_LIST_SPONSOR_UNCONFIRMED_TITLE');
469 // List locked sponsor accounts
470 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_sponsor_data` WHERE `status`='LOCKED' ORDER BY `id`");
471 $WHATs[] = 'list_sponsor';
472 $DESCRs[] = getMessage('ADMIN_TASK_LIST_SPONSOR_LOCKED');
473 $TITLEs[] = getMessage('ADMIN_TASK_LIST_SPONSOR_LOCKED_TITLE');
475 // List waiting sponsor accounts to be approved
476 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_sponsor_data` WHERE `status`='PENDING' ORDER BY `id`");
477 $WHATs[] = 'unlock_sponsor';
478 $DESCRs[] = getMessage('ADMIN_TASK_LIST_SPONSOR_PENDING');
479 $TITLEs[] = getMessage('ADMIN_TASK_LIST_SPONSOR_PENDING_TITLE');
482 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_sponsor_orders` WHERE `pay_status`='PENDING' ORDER BY `id`");
483 $WHATs[] = 'list_sponsor_pays';
484 $DESCRs[] = getMessage('ADMIN_TASK_LIST_SPONSOR_ORDERS');
485 $TITLEs[] = getMessage('ADMIN_TASK_LIST_SPONSOR_ORDERS_TITLE');
488 if (EXT_IS_ACTIVE('country')) {
489 // List country codes
490 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_countries` ORDER BY `id`");
491 $WHATs[] = 'list_country';
492 $DESCRs[] = getMessage('ADMIN_TASK_LIST_COUNTRY');
493 $TITLEs[] = getMessage('ADMIN_TASK_LIST_COUNTRY_TITLE');
496 if (EXT_IS_ACTIVE('theme')) {
498 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_themes` ORDER BY `id`");
499 $WHATs[] = 'theme_edit';
500 $DESCRs[] = getMessage('ADMIN_TASK_LIST_THEME_ALL');
501 $TITLEs[] = getMessage('ADMIN_TASK_LIST_THEME_ALL_TITLE');
503 // List active themes
504 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_themes` WHERE theme_active='Y' ORDER BY `id`");
505 $WHATs[] = 'theme_edit';
506 $DESCRs[] = getMessage('ADMIN_TASK_LIST_THEME_ACTIVE');
507 $TITLEs[] = getMessage('ADMIN_TASK_LIST_THEME_ACTIVE_TITLE');
510 if (EXT_IS_ACTIVE('admins')) {
511 // List all administrator logins
512 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_admins` ORDER BY `id`");
513 $WHATs[] = 'admins_edit';
514 $DESCRs[] = getMessage('ADMIN_TASK_LIST_ADMINS_ALL');
515 $TITLEs[] = getMessage('ADMIN_TASK_LIST_ADMINS_ALL_TITLE');
518 if (EXT_IS_ACTIVE('surfbar')) {
519 // List all URLs in surfbar
520 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_surfbar_urls` ORDER BY `id`");
521 $WHATs[] = 'list_surfbar_urls';
522 $DESCRs[] = getMessage('ADMIN_TASK_LIST_SURFBAR_URLS_ALL');
523 $TITLEs[] = getMessage('ADMIN_TASK_LIST_SURFBAR_URLS_ALL_TITLE');
525 // List all pending URLs in surfbar
526 ADD_SQL("SELECT `id` FROM `{!_MYSQL_PREFIX!}_surfbar_urls` WHERE `status`='PENDING' ORDER BY `id`");
527 $WHATs[] = 'unlock_surfbar_urls';
528 $DESCRs[] = getMessage('ADMIN_TASK_LIST_SURFBAR_URLS_PENDING');
529 $TITLEs[] = getMessage('ADMIN_TASK_LIST_SURFBAR_URLS_PENDING_TITLE');
532 // Generate extra overview rows
533 $EXTRAS .= TASK_CREATE_EXTRA_ROWS($WHATs, $DESCRs, $TITLEs);
535 // If empty just keep a forced-space left for CSS issues
536 if (empty($EXTRAS)) $EXTRAS = ' ';
538 // Add compiled string to constant for final template
539 define('__OVERVIEW_EXTRA_TABLE', $EXTRAS);
541 // Simply load the template... :-)
542 LOAD_TEMPLATE('admin_overview_task');
546 function TASK_CREATE_EXTRA_ROWS ($WHATs, $DESCRs, $TITLEs) {
550 // Sadly this cannot be rewritten to a filter... :(
551 foreach (GET_SQLS() as $key => $sql) {
552 // Run SQL command, get line numbers and free memory
553 $result = SQL_QUERY($sql, __FUNCTION__, __LINE__);
556 $value = SQL_NUMROWS($result);
559 SQL_FREERESULT($result);
561 // Prepare array for output
563 'row_descr' => $DESCRs[$key],
568 // Rewrite CSS class if not last entry is reached
569 if ($key < (COUNT_SQLS() - 1)) $content['bottom'] = 'bottom2';
571 if (($value > 0) && (!empty($WHATs[$key]))) {
572 if (empty($TITLEs[$key])) $TITLEs[$key] = getMessage('ADMIN_TASK_UNKNOWN_LIST_TITLE');
573 $content['row_link'] = "<a href=\"{!URL!}/modules.php?module=admin&what=".$WHATs[$key]."\" title=\"".$TITLEs[$key]."\">".$value."</a>";
575 $content['row_link'] = 0;
578 // And insert the final string into extras template
579 $OUT .= LOAD_TEMPLATE('admin_overview_task_rows', true, $content);
585 // Return output in the template
586 return LOAD_TEMPLATE('admin_overview_task_extras', true, $OUT);