PDA

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



rylin
Fri 19th Oct '01, 1:00pm
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
Fri 19th Oct '01, 1:05pm
thanks for the hack !! :p

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

rylin
Fri 19th Oct '01, 1:07pm
Oops, had added a block on 217.x.x.x (had to many code red hits from there ;)).. should work now :P

Streicher
Fri 19th Oct '01, 2:01pm
Can we see a screenshot please?

DarkReaper
Fri 19th Oct '01, 2:10pm
What about expanding this hack to cover forums themselves. Such as: "Moderators of *this forum* currently online" :)

rylin
Fri 19th Oct '01, 4:08pm
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
Sat 20th Oct '01, 3:12am
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
Sat 20th Oct '01, 5:46am
right below the lines specified, except for the next-to-last one

drumsy
Sun 21st Oct '01, 3:04am
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
Sun 21st Oct '01, 8:12am
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
Sun 21st Oct '01, 2:26pm
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
Tue 23rd Oct '01, 12:40pm
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
Tue 23rd Oct '01, 3:05pm
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
Tue 23rd Oct '01, 3:28pm
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
Tue 23rd Oct '01, 3:40pm
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
Wed 24th Oct '01, 4:58am
Oh, i was right.. O.o lol Oh well... Cool hack nontha less.. ^^



-Syphin

Syphin
Thu 25th Oct '01, 7:25pm
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
Fri 26th Oct '01, 4:26am
Yeah, I look forward to that fix. ;)

I have this disabled until then!

rylin
Fri 26th Oct '01, 7:38pm
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
Fri 26th Oct '01, 8:28pm
Thnx... Works great now.. ^^



-Syphin

drumsy
Sat 27th Oct '01, 2:09am
Worked without a hitch!

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

Alien
Sat 27th Oct '01, 3:13am
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
Sat 27th Oct '01, 5:17am
could u like post the full code in one post because your instructions are dificult for me to understand.

rylin
Sat 27th Oct '01, 8:34am
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
Sat 27th Oct '01, 8:38am
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
Sat 27th Oct '01, 8:39am
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
Sat 27th Oct '01, 5:33pm
Thanks a bunch! :) Great work.

Syphin
Sat 27th Oct '01, 7:36pm
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