Thread subject: pHpFusion Nederlands (BE|NL) » Ondersteuning, Themas, Infusies, Modificaties en Installatie :: last seen

Posted by Tommy on 10 juni 2013, 19:00
#10

Dit kom ik tegen op een andere nss site van PHP Fusion, wellicht heb je er wat aan.

Hier staan laatst geziene leden verdeeld over admins en gewone users.
Het is niet geheel wat je zoekt, maar op dit moment kan ik niks beter vinden.

Je hebt bij PHP Fusion standaard een last online user panel, pas deze aan naar deze code:

Code


/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2009 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: online_users_panel.php
| Author: Nick Jones (Digitanium)
| Edited for PHP-Fusion USA by skpacman
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at http://www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }
 
if (dbcount("(online_user)", DB_ONLINE, (iMEMBER ? "online_user='".$userdata['user_id']."'" : "online_user='0' AND online_ip='".USER_IP."'")) == 1) {
   $result = dbquery(
      "UPDATE ".DB_ONLINE." SET online_lastactive='".time()."', online_ip='".USER_IP."'
      WHERE ".(iMEMBER ? "online_user='".$userdata['user_id']."'" : "online_user='0' AND online_ip='".USER_IP."'"));
} else {
   $result = dbquery(
      "INSERT INTO ".DB_ONLINE." (online_user, online_ip, online_ip_type, online_lastactive)
      VALUES ('".(iMEMBER ? $userdata['user_id'] : 0)."', '".USER_IP."', '".USER_IP_TYPE."', '".time()."')");
}
$result = dbquery("DELETE FROM ".DB_ONLINE." WHERE online_lastactive<".(time()-60)."");
 
openside($locale['global_010']);
$result = dbquery(
   "SELECT ton.online_user, tu.user_id, tu.user_name, tu.user_status, tu.user_level FROM ".DB_ONLINE." ton
   LEFT JOIN ".DB_USERS." tu ON ton.online_user=tu.user_id"
);
$guests = 0;
//$members = array();
//$admins = array();
while ($data = dbarray($result)) {
   if ($data['online_user'] == "0") {
      $guests++;
   }
   /*else {
      if ($data['user_level'] < 102){
         $members[] = array($data['user_id'], $data['user_name'], $data['user_status']);
      }
      if ($data['user_level'] > 101){
         $admins[] = array($data['user_id'], $data['user_name'], $data['user_status']);
      }
   }*/
}
echo THEME_BULLET." ".$locale['global_011'].": ".$guests."
\n";
/*echo THEME_BULLET." Admin Online: ".count($admins)."
\n";
if (count($admins)) {
   $si = 1;
   while (list($key, $admin) = each($admins)) {
      echo "".profile_link($admin[0], $admin[1], $admin[2])."";
      if ($si != count($admins)) { echo ",\n"; } else { echo "
\n"; }
      $si++;
   }
}
echo "
".THEME_BULLET." ".$locale['global_012'].": ".count($members)."
\n";
if (count($members)) {
   $i = 1;
   while (list($key, $member) = each($members)) {
      echo "".profile_link($member[0], $member[1], $member[2])."";
      if ($i != count($members)) { echo ",\n"; } else { echo "
\n"; }
      $i++;
   }
}*/
echo "\n".THEME_BULLET." ".$locale['global_014'].": ".number_format(dbcount("(user_id)", DB_USERS, "user_status<='1'"))."
\n";
if (iADMIN && checkrights("M") && $settings['admin_activation'] == "1") {
   echo "
".THEME_BULLET." ".$locale['global_015']."";
   echo ": ".dbcount("(user_id)", DB_USERS, "user_status='2'")."
\n";
}
$data = dbarray(dbquery("SELECT user_id, user_name, user_status FROM ".DB_USERS." WHERE user_status='0' ORDER BY user_joined DESC LIMIT 0,1"));
echo "".THEME_BULLET." ".$locale['global_016'].": ".profile_link($data['user_id'], $data['user_name'], $data['user_status'])."\n";
 
//LAST SEEN USERS PANEL ADDITION BY skpacman
 
/*---------------------------------------------------+
| PHP-Fusion 7 Content Management System
+----------------------------------------------------+
| Copyright a33; 2002 - 2011 Nick Jones
| http://www.php-fusion.co.uk/
+----------------------------------------------------+
| Filename: last_seen_users_panel.php
| Author: PHP-Fusion Addons Team
| Edited for PHP-Fusion USA by skpacman
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at http://www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
 
$locale['lsup000'] = "Laatst geziene users";
$locale['lsup001'] = "Online";
$locale['lsup002'] = "Afwezig";
$locale['lsup003'] = "week";
$locale['lsup004'] = "weken";
$locale['lsup005'] = "dag";
$locale['lsup006'] = "dagen";
$locale['lsup007'] = "Laatst geziene admins";
 
echo "
".$locale['lsup007'].":";
 
      $result = dbquery("SELECT
         user_id,
         user_name,
         user_status,
         user_lastvisit
         FROM ".DB_USERS."
         WHERE user_lastvisit >'0'
         AND user_status='0'
         AND user_level>'101'
         ORDER BY user_lastvisit
         DESC LIMIT 0,10
      ");                       
 
         echo "";
         if (dbrows($result) != 0) {
         while ($data = dbarray($result)) {
        $lastseen = time() - $data['user_lastvisit'];
        $iW=sprintf("%2d",floor($lastseen/604800));
        $iD=sprintf("%2d",floor($lastseen/(60*60*24)));
        $iH=sprintf("%02d",floor((($lastseen%604800)%86400)/3600));
        $iM=sprintf("%02d",floor(((($lastseen%604800)%86400)%3600)/60));
        $iS=sprintf("%02d",floor((((($lastseen%604800)%86400)%3600)%60)));
        if ($lastseen < 60){
            $lastseen= $locale['lsup001'];
        } elseif ($lastseen < 360){
            $lastseen= $locale['lsup002'];
        } elseif ($iW > 0){
            if ($iW == 1) { $text = $locale['lsup003']; } else { $text = $locale['lsup004']; }
            $lastseen = $iW." ".$text;
        } elseif ($iD > 0){
            if ($iD == 1) { $text = $locale['lsup005']; } else { $text = $locale['lsup006']; }
            $lastseen = $iD." ".$text;
        } else {
            $lastseen = "".$iH.":".$iM.":".$iS."";
        }
        echo "\n\n\n";
    }
}
echo "
".THEME_BULLET."\n";
        echo profile_link($data['user_id'], $data['user_name'], $data['user_status'])."
".$lastseen."
";
 
echo "
".$locale['lsup000'].":";
 
      $result = dbquery("SELECT
         user_id,
         user_name,
         user_status,
         user_lastvisit
         FROM ".DB_USERS."
         WHERE user_lastvisit >'0'
         AND user_status='0'
         AND user_level<'102'
         ORDER BY user_lastvisit
         DESC LIMIT 0,15
      ");                       
 
         echo "";
         if (dbrows($result) != 0) {
         while ($data = dbarray($result)) {
        $lastseen = time() - $data['user_lastvisit'];
        $iW=sprintf("%2d",floor($lastseen/604800));
        $iD=sprintf("%2d",floor($lastseen/(60*60*24)));
        $iH=sprintf("%02d",floor((($lastseen%604800)%86400)/3600));
        $iM=sprintf("%02d",floor(((($lastseen%604800)%86400)%3600)/60));
        $iS=sprintf("%02d",floor((((($lastseen%604800)%86400)%3600)%60)));
        if ($lastseen < 60){
            $lastseen= $locale['lsup001'];
        } elseif ($lastseen < 360){
            $lastseen= $locale['lsup002'];
        } elseif ($iW > 0){
            if ($iW == 1) { $text = $locale['lsup003']; } else { $text = $locale['lsup004']; }
            $lastseen = $iW." ".$text;
        } elseif ($iD > 0){
            if ($iD == 1) { $text = $locale['lsup005']; } else { $text = $locale['lsup006']; }
            $lastseen = $iD." ".$text;
        } else {
            $lastseen = "".$iH.":".$iM.":".$iS."";
        }
        echo "
\n\n\n";
    }
}
echo "
".THEME_BULLET."\n";
        echo profile_link($data['user_id'], $data['user_name'], $data['user_status'])."
".$lastseen."
";
closeside();


Hopelijk heb je hier wat aan.