Added discrete users online in footer (from Wish List Forum)
authorJoe Hunt <joe.hunt.consulting@gmail.com>
Mon, 12 Oct 2009 23:24:39 +0000 (23:24 +0000)
committerJoe Hunt <joe.hunt.consulting@gmail.com>
Mon, 12 Oct 2009 23:24:39 +0000 (23:24 +0000)
CHANGELOG.txt
admin/db/users_db.inc
sql/alter2.2.sql
themes/aqua/renderer.php
themes/cool/renderer.php
themes/default/renderer.php

index f5d5e93db8f5c439e1603c06c88dfecaede46b83..8680635cbb2b9807cf4857e4dfe54c2bf6b5f0d8 100644 (file)
@@ -19,6 +19,14 @@ Legend:
 ! -> Note
 $ -> Affected files
 
+13-Oct-2009 Joe Hunt
++ Added discrete users online in footer (from Wish List Forum)
+$ /admin/db/users_db.inc
+  /sql/alter2.2.sql
+  /themes/aqua/renderer.php
+  /themes/cool/renderer.php
+  /themes/default/renderer.php
+  
 12-Oct-2009 Janusz Dobrowolski
 # Fixed sql injection vulnerability on some php/mysql configurations
 $ /admin/db/users_db.inc
index 496f18acc5304f7fae4e2d9222757fc1d2132c96..d7ac2e64acd35348acc078b2f566c29dbc362274 100644 (file)
@@ -163,4 +163,31 @@ function check_user_activity($id)
 
        return $ret[0];
 }
+
+//-----------------------------------------------------------------------------------------------
+function show_users_online()
+{
+       $timeoutseconds = 120;
+
+       $timestamp=time();
+       $timeout=$timestamp-$timeoutseconds;
+       $ip = substr($_SERVER['REMOTE_ADDR'], 0, strrpos($_SERVER['REMOTE_ADDR'],"."));
+
+       // Add user to database
+       $loopcap = 0;
+       while($loopcap<3 && db_query("INSERT INTO ".TB_PREF."useronline VALUES('". $timestamp ."','". $ip ."','". $_SERVER['PHP_SELF'] ."')"))
+       {     // In geval van error
+           $timestamp = $timestamp+$ip{0}; 
+           $loopcap++;
+       }
+
+       //Remove users that were not online within $timeoutseconds.
+       db_query("DELETE FROM ".TB_PREF."useronline WHERE timestamp<". $timeout);
+
+       // Select online users
+       $result = db_query("SELECT DISTINCT ip FROM ".TB_PREF."useronline");
+       $users = db_num_rows($result);
+       return "$users ".($users == 1 ? _("user online") : _(" users online"));
+
+}
 ?>
\ No newline at end of file
index 430d3126dedfdb7eb1a482cb97118a5e6df19275..9a50e75be87e54e555ec367e6b62385b1268a53e 100644 (file)
@@ -129,6 +129,17 @@ CREATE TABLE `0_tag_associations` (
   UNIQUE KEY(`record_id`,`tag_id`)
 ) TYPE=MyISAM;
 
+DROP TABLE IF EXISTS `0_usersonline`;
+
+CREATE TABLE `0_useronline` (
+       `timestamp` int(15) NOT NULL default '0',
+       `ip` varchar(40) NOT NULL default '',
+       `file` varchar(100) NOT NULL default '',
+       PRIMARY KEY (`timestamp`),
+       KEY `ip` (`ip`),
+       KEY `file` (`file`) 
+) TYPE=MyISAM;
+
 ALTER TABLE `0_suppliers` ADD COLUMN `phone2` varchar(30) NOT NULL default '' AFTER `phone`;
 ALTER TABLE `0_cust_branch` ADD COLUMN `phone2` varchar(30) NOT NULL default '' AFTER `phone`;
 ALTER TABLE `0_shippers` ADD COLUMN `phone2` varchar(30) NOT NULL default '' AFTER `phone`;
index 96bbd30cf8d076e70b4bc3ca1d54f44e2a42963b..415a500972a67a52462c109bf25834bb3aa21599 100644 (file)
                        {
                                echo "<table align='center' id='footer'>\n";
                                echo "<tr>\n";
-                               echo "<td align='center' class='footer'><a target='_blank' href='$power_url'><font color='#ffffff'>$app_title $version - " . _("Theme:") . " " . user_theme() . "</font></a></td>\n";
+                               echo "<td align='center' class='footer'><a target='_blank' href='$power_url'><font color='#ffffff'>$app_title $version - " . _("Theme:") . " " . user_theme() . " - ".show_users_online()."</font></a></td>\n";
                                echo "</tr>\n";
                                echo "<tr>\n";
                                echo "<td align='center' class='footer'><a target='_blank' href='$power_url'><font color='#ffff00'>$power_by</font></a></td>\n";
index d72557d1e1f2b8a33a1d6fced85431dbfaf9b846..178fb7e1a94b24fc987a3cbe7311973e5497811d 100644 (file)
                        {
                                echo "<table align='center' id='footer'>\n";
                                echo "<tr>\n";
-                               echo "<td align='center' class='footer'><a target='_blank' href='$power_url'><font color='#ffffff'>$app_title $version - " . _("Theme:") . " " . user_theme() . "</font></a></td>\n";
+                               echo "<td align='center' class='footer'><a target='_blank' href='$power_url'><font color='#ffffff'>$app_title $version - " . _("Theme:") . " " . user_theme() ." - ".show_users_online(). "</font></a></td>\n";
                                echo "</tr>\n";
                                echo "<tr>\n";
                                echo "<td align='center' class='footer'><a target='_blank' href='$power_url'><font color='#ffff00'>$power_by</font></a></td>\n";
index 12c6ef654c27c40f2d7443c1345469ab4c84da62..e7ec0c86805cc49aa41e5678848ad3868b484b55 100644 (file)
                        {
                                echo "<table align='center' id='footer'>\n";
                                echo "<tr>\n";
-                               echo "<td align='center' class='footer'><a target='_blank' href='$power_url' tabindex='-1'><font color='#ffffff'>$app_title $version - " . _("Theme:") . " " . user_theme() . "</font></a></td>\n";
+                               echo "<td align='center' class='footer'><a target='_blank' href='$power_url' tabindex='-1'><font color='#ffffff'>$app_title $version - " . _("Theme:") . " " . user_theme() . " - ".show_users_online()."</font></a></td>\n";
                                echo "</tr>\n";
                                echo "<tr>\n";
                                echo "<td align='center' class='footer'><a target='_blank' href='$power_url' tabindex='-1'><font color='#ffff00'>$power_by</font></a></td>\n";