PDA

View Full Version : [Release v2.0.3] Mods & Admins online


rylin
19 Oct 2001, 17:00
http://www.b0fh.cx/vb2.html :)

Version 1.2 (http://www.b0fh.cx/scripts/vb/adminonline12.html)

couldn't be arsed writing up upgrade info from the old version, but you should be able to re-trace your steps by checking the old version (http://www.b0fh.cx/scripts/vb/adminonline.html).. these instructions weren't written when i rewrote the hack, but were compiled now by looking at the current code.. i don't think i've left out anything, but if i have, slap me around a bit, mmkay?

malc
19 Oct 2001, 17:05
thanks for the hack !! :p

Can you update your URL ?! but i have access denied

rylin
19 Oct 2001, 17:07
Oops, had added a block on 217.x.x.x (had to many code red hits from there ;)).. should work now :P

Streicher
19 Oct 2001, 18:01
Can we see a screenshot please?

DarkReaper
19 Oct 2001, 18:10
What about expanding this hack to cover forums themselves. Such as: "Moderators of *this forum* currently online" :)

rylin
19 Oct 2001, 20:08
Originally posted by Streicher
Can we see a screenshot please?

Sure ;)
Although as it's template driven, there's a lot more you can do.. eg. you could make it a dropdown etc. that would send a pm to a mod.. a lot of stuff really :)

drumsy
20 Oct 2001, 07:12
Please, forgive my newbiness, but can you please explain where ALL lines of code go in the index.php file???

Your directions give me line numbers (that's fine, I find where it all needs to go) but it does not tell me what code I need to replace it with, or if code needs to be removed, etc.....

For instance, your page says:

locate the line that says:
if ($loggedin=$DB_site->fetch_array($loggedins)) {

add:
if($loggedin['usergroupid']==6||$loggedin['usergroupid']==7||$loggedin['usergroupid']==5) {
$modsloggedin[$loggedin['userid']]=$loggedin['username'];
}

I've screwed up my forums three times tonight, thank God editplus saves a backup!!!!

rylin
20 Oct 2001, 09:46
right below the lines specified, except for the next-to-last one

drumsy
21 Oct 2001, 07:04
Ok, I have SERIOUSLY fugged something up!!! Here's what my index.php line looks like from right where the first edit of this hack goes in till the end of the last hack. Keep in mind, I've since added the hack (what I thought was the right way) and had to go back and try to set everything back as normal. Obviously, it has not worked, as this is what my "Who's Online" is showing!

(not displaying picture, as it is a bit large) http://www.purehonda.com/userpages/Honda/editors/error.jpg

Can you help???

rylin
21 Oct 2001, 12:12
the complete if($displayloggedin) clause should look like this when you're done (btw.. mods.. how much are we allowed to paste?? cut out some stuff if you have to :o)

if ($displayloggedin) {
$datecut=time()-$cookietimeout;

$loggedins=$DB_site->query_first("SELECT COUNT(*) AS sessions FROM session WHERE userid=0 AND lastactivity>$datecut");
$numberguest=$loggedins['sessions'];

$numbervisible=0;
$numberregistered=0;

$loggedins=$DB_site->query("SELECT DISTINCT session.userid,usergroupid,username,invisible
FROM session
LEFT JOIN user ON (user.userid=session.userid)
WHERE session.userid>0 AND session.lastactivity>$datecut
ORDER BY invisible ASC, username ASC");
if ($loggedin=$DB_site->fetch_array($loggedins)) {
if($loggedin['usergroupid']==6||$loggedin['usergroupid']==7||$loggedin['usergroupid']==5) {
$modsloggedin[$loggedin['userid']]=$loggedin['username'];
}

$numberregistered++;
if ($loggedin['invisible']==0 or $bbuserinfo['usergroupid']==6) {
$numbervisible++;
$userid=$loggedin['userid'];
if ($loggedin['invisible']==1) { // Invisible User but show to Admin
$username=$loggedin['username'];
$invisibleuser = '*';
} else {
$username=$loggedin['username'];
$invisibleuser = '';
}
//$location=$loggedin['location'];
eval("\$activeusers = \"".gettemplate('forumhome_loggedinuser')."\";");
}

while ($loggedin=$DB_site->fetch_array($loggedins)) {
if($loggedin['usergroupid']==6||$loggedin['usergroupid']==7||$loggedin['usergroupid']==5) {
$modsloggedin[$loggedin['userid']]=$loggedin['username'];
}

$numberregistered++;
$invisibleuser = '';
if ($loggedin['invisible']==1 and $bbuserinfo['usergroupid']!=6) {
continue;
}
$numbervisible++;
$userid=$loggedin['userid'];
if ($loggedin['invisible']==1) { // Invisible User but show to Admin
$username=$loggedin['username'];
$invisibleuser = '*';
} else {
$username=$loggedin['username'];
}
$location=$loggedin['location'];
eval("\$activeusers .= \", ".gettemplate('forumhome_loggedinuser')."\";");
}
reset($modsloggedin);
while(list($key,$val)=each($modsloggedin)) {
$modloguname=$val;
$modlogid=$key;
eval("\$moderatorsloggedin .= \"".gettemplate('forumhome_modsloggedin')."\";");
}
}
$DB_site->free_result($loggedins);

$totalonline=$numberregistered+$numberguest;
$numberinvisible=$numberregistered-$numbervisible;

$maxusers=explode(" ", gettemplate('maxloggedin',0,0));
if ((int)$maxusers[0] <= $totalonline) {
$time = time();
$maxloggedin = "$totalonline " . $time;
$DB_site->query("UPDATE template SET template='$maxloggedin' WHERE title='maxloggedin'");
$maxusers[0] = $totalonline;
$maxusers[1] = $time;
}
$recordusers = $maxusers[0];
$recorddate = vbdate($dateformat,$maxusers[1]);
$recordtime = vbdate($timeformat,$maxusers[1]);
eval("\$loggedinusers = \"".gettemplate('forumhome_loggedinusers')."\";");
}

drumsy
21 Oct 2001, 18:26
Thank you SO much!!! This is my first hack (I guess it shows, eh?;)) I've edited out my php code, if you feel comfortable doing the same! Btw, is there a way to seperate the names listed by a comma and then space?? I did go into the forumhome_modsloggedin template and added a comma and a space after the final </a> tag, but then that leaves the last guy on my list with a comma after his name. Anyway around that?

Syphin
23 Oct 2001, 16:40
With that coding, wont it cause an error if there are no mods or admins logged in at the time?

eh, im probably wrong.. lol with my limited coding skills.. :p



-Syphin

rylin
23 Oct 2001, 19:05
Originally posted by Syphin
With that coding, wont it cause an error if there are no mods or admins logged in at the time?

eh, im probably wrong.. lol with my limited coding skills.. :p



-Syphin

it will indeed ;)
i'll update the instructions later tonight.. have it fixed on my development server ;)

drumsy
23 Oct 2001, 19:28
Originally posted by okidoki


it will indeed ;)
i'll update the instructions later tonight.. have it fixed on my development server ;)

Argghhhh, more to edit...well, we'll see what happens!

BTW, how do I add another usergroup ID to it? It's currently displaying admins and super moderators, but I need to throw in moderators which is usergroup ID=51.

rylin
23 Oct 2001, 19:40
Originally posted by drumsy


Argghhhh, more to edit...well, we'll see what happens!

BTW, how do I add another usergroup ID to it? It's currently displaying admins and super moderators, but I need to throw in moderators which is usergroup ID=51.
just change the lines (2) that say if($loggedin['usergroupid']==6||$loggedin['usergroupid']==7||$loggedin['usergroupid']==5) { to if($loggedin['usergroupid']==6||$loggedin['usergroupid']==7||$loggedin['usergroupid']==5||$loggedin['usergroupid']==51) {

Syphin
24 Oct 2001, 08:58
Oh, i was right.. O.o lol Oh well... Cool hack nontha less.. ^^



-Syphin

Syphin
25 Oct 2001, 23:25
okidoki:

Could you please update this to where there is no errors when no mods/admins are online? and post when ya do? lol thnx..

Id like to get rid of those... >_< O.o



-Syphin

Alien
26 Oct 2001, 08:26
Yeah, I look forward to that fix. ;)

I have this disabled until then!

rylin
26 Oct 2001, 23:38
Version 1.2 (http://www.b0fh.cx/scripts/vb/adminonline12.html)

couldn't be arsed writing up upgrade info from the old version, but you should be able to re-trace your steps by checking the old version (http://www.b0fh.cx/scripts/vb/adminonline.html).. these instructions weren't written when i rewrote the hack, but were compiled now by looking at the current code.. i don't think i've left out anything, but if i have, slap me around a bit, mmkay?

Syphin
27 Oct 2001, 00:28
Thnx... Works great now.. ^^



-Syphin

drumsy
27 Oct 2001, 06:09
Worked without a hitch!

Is it possible to get a brief idea of what this updated version does?

Alien
27 Oct 2001, 07:13
This works perfectly for me, however it doesn't seperate the moderators by a space or comma.. Anyway to set it up to display "User 1, User 2, User 3" (of course, with no comma after the last moderator?)

That would make this complete. :)

Originally posted by okidoki
Version 1.2 (http://www.b0fh.cx/scripts/vb/adminonline12.html)

couldn't be arsed writing up upgrade info from the old version, but you should be able to re-trace your steps by checking the old version (http://www.b0fh.cx/scripts/vb/adminonline.html).. these instructions weren't written when i rewrote the hack, but were compiled now by looking at the current code.. i don't think i've left out anything, but if i have, slap me around a bit, mmkay?

\/ash
27 Oct 2001, 09:17
could u like post the full code in one post because your instructions are dificult for me to understand.

rylin
27 Oct 2001, 12:34
Originally posted by \/ash
could u like post the full code in one post because your instructions are dificult for me to understand.

I don't think we're allowed to post the full contents of the vBulletin files, sadly.

rylin
27 Oct 2001, 12:38
If you want to separate with a space, just add a space after </a> in forumhome_modsloggedin

If you want to separate with a comma, add the comma, and then, right before eval("\$modlogin .= \"".gettemplate('forumhome_modlogin')."\";");, add
$modlogin=substr($modlogin,0,-1);
and it should work


Originally posted by Alien
This works perfectly for me, however it doesn't seperate the moderators by a space or comma.. Anyway to set it up to display "User 1, User 2, User 3" (of course, with no comma after the last moderator?)

That would make this complete. :)

rylin
27 Oct 2001, 12:39
Originally posted by drumsy
Worked without a hitch!

Is it possible to get a brief idea of what this updated version does?

Basically, the only real difference is that it only shows the template if there are actually mods or admins online.. there's been a few code-rewrites though, but feature-wise, that's it.

Alien
27 Oct 2001, 21:33
Thanks a bunch! :) Great work.

Syphin
27 Oct 2001, 23:36
Oh ya, I forgot... This new version... Does it show the regular mods also? Or do i need to add that grup id?

=) thnx again... :p

now to find out how to make it show whos online in each forum... like on 2.somthing... ^^ Cuz i mostlikley wont be upgrading... lol >_<


Edit: I hope this works on the new version... >_< Ive desided to upgrade... lol

-Syphin