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 * -------------------------------------------------------------------- *
14 * -------------------------------------------------------------------- *
15 * Copyright (c) 2003 - 2008 by Roland Haeder *
16 * For more information visit: http://www.mxchange.org *
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. *
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. *
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, *
32 ************************************************************************/
34 // Some security stuff...
35 if (!defined('__SECURITY')) {
36 $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
41 // The advanced overview shows detailed informations to your exchange script:
42 // - Unconfirmed / locked accounts
43 // - Mails waiting to be approved
48 // @TODO Move all extension-dependent queries into filters
49 function OUTPUT_ADVANCED_OVERVIEW (&$result_main)
53 // Init variables/arrays
61 // Chheck for new extensions and updates
62 $JOBS_DONE = OUTPUT_STANDARD_OVERVIEW($result_main);
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'");
69 define('__TASK_UPDATE_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_task&type=updates\">".$value."</a>");
71 define('__TASK_UPDATE_VALUE', "0");
74 define('__TASK_UPDATE_VALUE', "0");
78 // First check for all account status seperately
81 $value = GET_TOTAL_DATA("CONFIRMED", "user_data", "userid", "status", true);
84 define('__CONFIRMED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_user&status=confirmed\">".$value."</a>");
86 define('__CONFIRMED_VALUE', "0");
89 // Unconfirmed accounts
90 $value = GET_TOTAL_DATA("UNCONFIRMED", "user_data", "userid", "status", true);
93 define('__UNCONFIRMED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=chk_regs\">".$value."</a>");
95 define('__UNCONFIRMED_VALUE', "0");
98 // And locked accounts
99 $value = GET_TOTAL_DATA("LOCKED", "user_data", "userid", "status", true);
102 define('__LOCKED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_user&status=locked\">".$value."</a>");
104 define('__LOCKED_VALUE', "0");
110 $value = GET_TOTAL_DATA("0", "task_system", "id", "assigned_admin", true, " AND `status` != 'DELETED'");
113 define('__TASK_NEW_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_task&type=unassigned\">".$value."</a>");
115 define('__TASK_NEW_VALUE', "0");
121 $value = GET_TOTAL_DATA("CLOSED", "task_system", "id", "status", true);
124 define('__TASK_CLOSED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_task&type=closed\">".$value."</a>");
126 define('__TASK_CLOSED_VALUE', "0");
132 $value = GET_TOTAL_DATA("DELETED", "task_system", "id", "status", true);
135 define('__TASK_DELETED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_task&type=deleted\">".$value."</a>");
137 define('__TASK_DELETED_VALUE', "0");
143 $value = GET_TOTAL_DATA("SOLVED", "task_system", "id", "status", true, sprintf(" AND assigned_admin=%s", GET_CURRENT_ADMIN_ID()));
146 define('__TASK_SOLVED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_task&type=solved\">".$value."</a>");
148 define('__TASK_SOLVED_VALUE', "0");
154 $value = GET_TOTAL_DATA(GET_CURRENT_ADMIN_ID(), "task_system", "id", "assigned_admin", true, " AND status = 'NEW' AND task_type != 'EXTENSION_UPDATE'");
157 define('__TASK_YOUR_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=list_task\">".$value."</a>");
159 define('__TASK_YOUR_VALUE', "0");
163 // Mails waiting to be approved
165 $value = GET_TOTAL_DATA("ADMIN", "pool", "id", "data_type", true);
168 define('__MAIL_ADMIN_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=unlock_emails\">".$value."</a>");
170 define('__MAIL_ADMIN_VALUE', "0");
174 // Unfinished mail orders
176 $value = GET_TOTAL_DATA("TEMP", "pool", "id", "data_type", true);
179 define('__MAIL_TEMP_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=email_details\">".$value."</a>");
181 define('__MAIL_TEMP_VALUE', "0");
187 $value = GET_TOTAL_DATA("SEND", "pool", "id", "data_type", true);
190 define('__MAIL_SEND_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=email_archiv\">".$value."</a>");
192 define('__MAIL_SEND_VALUE', "0");
198 if (EXT_IS_ACTIVE("autopurge")) {
199 // Get auto-purged mails
200 $value = GET_TOTAL_DATA("DELETED", "pool", "id", "data_type", true);
203 define('__MAIL_DELETED_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=email_details\">".$value."</a>");
205 define('__MAIL_DELETED_VALUE', "0");
209 // Autopurged bonus mails
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);
216 define('__MAIL_BONUS_AP_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=email_details\">".$value."</a>");
218 define('__MAIL_BONUS_AP_VALUE', "0");
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);
223 define('__MAIL_BONUS_AP_VALUE', "<div class=\"admin_note\">{!ADMIN_EXT_BONUS_404!}</div>");
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>");
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'");
238 define('__MAIL_BONUS_SEND_VALUE', "<a href=\"{!URL!}/modules.php?module=admin&what=email_details\">".$value."</a>");
240 define('__MAIL_BONUS_SEND_VALUE', "0");
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);
245 define('__MAIL_BONUS_SEND_VALUE', getMessage('ADMIN_EXT_BONUS_404'));
248 if (EXT_IS_ACTIVE("autopurge")) {
249 // Start finding them...
250 $since = getConfig('ap_inactive_since');
252 if (getConfig('def_refid') > 0) {
253 $EXCLUDE_LIST = " AND d.userid != ".getConfig('def_refid')."";
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'";
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.")
268 $WHATs[] = "list_autopurge";
269 $DESCRs[] = getMessage('TASK_ADMIN_INACTIVE_AUTOPURGE');
270 $TITLEs[] = getMessage('TASK_ADMIN_INACTIVE_AUTOPURGE_TITLE');
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&mode=norefs";
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');
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');
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');
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');
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');
325 if (GET_EXT_VERSION("bonus") >= "0.2.3") {
327 if (GET_EXT_VERSION("bonus") >= "0.6.9") {
328 // Add more bonus points here
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";
338 $USE = "turbo_bonus";
341 // Autopurge installed?
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'));
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');
357 if (GET_EXT_VERSION("beg") >= "0.1.2") {
360 // Autopurge installed?
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'));
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');
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&mode=waiting&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');
388 // All referal banner
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');
396 // All activated referal banner
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');
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');
412 // All activated extensions
414 $SQLs[] = "SELECT id FROM `{!_MYSQL_PREFIX!}_extensions` WHERE ext_active='Y' ORDER BY `id`";
415 $WHATs[] = "extensions&active=Y";
416 $DESCRs[] = getMessage('TASK_ADMIN_LIST_EXTENSIONS_ACTIVE');
417 $TITLEs[] = getMessage('TASK_ADMIN_LIST_EXTENSIONS_ACTIVE_TITLE');
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');
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');
433 $SQLs[] = "SELECT id FROM `{!_MYSQL_PREFIX!}_engine_safe` ORDER BY `id`";
434 $WHATs[] = "list_engine&mode=safe";
435 $DESCRs[] = getMessage('TASK_ADMIN_LIST_ENGINE_SAFES');
436 $TITLEs[] = getMessage('TASK_ADMIN_LIST_ENGINE_SAFES_TITLE');
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');
445 if (EXT_IS_ACTIVE("sponsor")) {
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');
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');
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');
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');
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');
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');
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');
491 if (EXT_IS_ACTIVE("theme")) {
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');
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');
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');
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');
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');
527 // Generate extra overview rows
528 $EXTRAS .= TASK_CREATE_EXTRA_ROWS($SQLs, $WHATs, $DESCRs, $TITLEs);
530 // If empty just keep a forced-space left for CSS issues
531 if (empty($EXTRAS)) $EXTRAS = " ";
533 // Add compiled string to constant for final template
534 define('__OVERVIEW_EXTRA_TABLE', $EXTRAS);
536 // Simply load the template... :-)
537 LOAD_TEMPLATE("admin_overview_task");
541 function TASK_CREATE_EXTRA_ROWS ($SQLs, $WHATs, $DESCRs, $TITLEs) {
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__);
549 $value = SQL_NUMROWS($result);
552 SQL_FREERESULT($result);
555 'row_descr' => $DESCRs[$key],
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&what=".$WHATs[$key]."\" title=\"".$TITLEs[$key]."\">".$value."</a>";
565 $content['row_link'] = 0;
571 // And insert the final string into extras template
572 $OUT .= LOAD_TEMPLATE("admin_overview_task_rows", true, $content);
576 return LOAD_TEMPLATE("admin_overview_task_extras", true, $OUT);