More improved SQL queries
[mailer.git] / inc / modules / guest / what-active.php
1 <?php
2 /************************************************************************
3  * MXChange v0.2.1                                    Start: 11/26/2004 *
4  * ================                             Last change: 11/26/2004 *
5  *                                                                      *
6  * -------------------------------------------------------------------- *
7  * File              : what-active.php                                  *
8  * -------------------------------------------------------------------- *
9  * Short description : Today active members list                        *
10  * -------------------------------------------------------------------- *
11  * Kurzbeschreibung  : Liste heutiger aktiver Mitglieder                *
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 } elseif ((!EXT_IS_ACTIVE("active")) && (!IS_ADMIN())) {
39         addFatalMessage(EXTENSION_PROBLEM_EXT_INACTIVE, "active");
40         return;
41 }
42
43 // Add description as navigation point
44 ADD_DESCR("guest", __FILE__);
45
46 // Extra field to include is by default uid
47 $ADD = "userid";
48
49 // If nickname is installed the extra field is the nickname of the user
50 if (EXT_IS_ACTIVE("nickname")) $ADD = "nickname";
51
52 // Check for members who were active only this day
53 $result = SQL_QUERY_ESC("SELECT userid, ".$ADD.", last_online
54 FROM `{!_MYSQL_PREFIX!}_user_data`
55 WHERE last_online >= %s AND `status`='CONFIRMED'
56 ORDER BY last_online DESC LIMIT %s",
57         array(START_TDAY, getConfig('active_limit')), __FILE__, __LINE__);
58
59 // Entries found?
60 if (SQL_NUMROWS($result) > 0) {
61         // At least one member was online so let's load them all
62         $OUT = ""; $SW = 2;
63         while (list($uid, $nick, $last) = SQL_FETCHROW($result)) {
64                 $nick2 = "---";
65                 if (($nick != $uid) && (!empty($nick))) $nick2 = $nick;
66
67                 // Transfer data to array
68                 $content = array(
69                         'sw'     => $SW,
70                         'uid'    => $uid,
71                         'nick'   => $nick2,
72                         'points' => TRANSLATE_COMMA(GET_TOTAL_DATA($uid, "user_points", "points") - GET_TOTAL_DATA($uid, "user_data", "used_points")),
73                         'last'   => MAKE_DATETIME($last, "2"),
74                 );
75
76                 // Load template
77                 $OUT .= LOAD_TEMPLATE("guest_active_row", true, $content);
78
79                 // Switch colors
80                 $SW = 3 - $SW;
81         }
82 } else {
83         // No member was online today! :-(
84         $OUT = LOAD_TEMPLATE("guest_active_none_row", true);
85 }
86
87 // Remember output in constant
88 define('__ACTIVE_ROWS', $OUT);
89
90 // Load template
91 LOAD_TEMPLATE("guest_active_table");
92
93 //
94 ?>