The code itself is done.. I am using my method because I don't have any moderators and I don't want to have another color as an administrator.
Editing your code I've found out some possible errors:
Here's the part I am talking about
:
PHP Code:
if (($get_xml_user["displayusergroupid"]==6)OR($get_xml_user["displayusergroupid"]==7)OR($get_xml_user["displayusergroupid"]==5))
{
if (($get_xml_user["displayusergroupid"]==6))
{
$type = $coloradmin ;
}
if (($get_xml_user["displayusergroupid"]==7))
{
$type = $colormod ;
}
if (($get_xml_user["displayusergroupid"]==5))
{
$type = $colorsupermod ;
}
}
else
{
$type = $colorother;
}
I am not quite sure but I _think_ it must be this instead:
PHP Code:
if (($get_xml_user["displayusergroupid"]==6)OR($get_xml_user["displayusergroupid"]==7)OR($get_xml_user["displayusergroupid"]==5))
{
if (($get_xml_user["displayusergroupid"]==6))
{
$type = $vbulletin->options['vbgooglemap_coloradmin'] ;
}
if (($get_xml_user["displayusergroupid"]==7))
{
$type = $vbulletin->options['vbgooglemap_colormod'] ;
}
if (($get_xml_user["displayusergroupid"]==5))
{
$type = $vbulletin->options['vbgooglemap_colorsupermod'] ;
}
}
else
{
$type = $vbulletin->options['vbgooglemap_colorother'] ;
}
And here is what I did to only show online users in another color:
The new query (line 94)
PHP Code:
$selection_xml = TABLE_PREFIX . "googlemap.lng_map as lng, ". TABLE_PREFIX ."googlemap.lat_map as lat,
".TABLE_PREFIX."googlemap.text_map as text, ".TABLE_PREFIX."googlemap.userid as userid,
".TABLE_PREFIX."googlemap.username as login,".TABLE_PREFIX."googlemap.usergroupid as displayusergroupid,
". TABLE_PREFIX ."online.userid as isonline";
$get_xml_users = $db->query_read("SELECT ".$selection_xml."
FROM `".TABLE_PREFIX."googlemap`
LEFT JOIN " . TABLE_PREFIX . "session AS online ON(online.userid = googlemap.userid)
WHERE lng_map<>'' AND lat_map<>''");
and some lines below it (106):
PHP Code:
/*
if (($get_xml_user["displayusergroupid"]==6)OR($get_xml_user["displayusergroupid"]==7)OR($get_xml_user["displayusergroupid"]==5))
{
if (($get_xml_user["displayusergroupid"]==6))
{
$type = $vbulletin->options['vbgooglemap_coloradmin'] ;
}
if (($get_xml_user["displayusergroupid"]==7))
{
$type = $vbulletin->options['vbgooglemap_colormod'];
}
if (($get_xml_user["displayusergroupid"]==5))
{
$type = $vbulletin->options['vbgooglemap_colorsupermod'];
}
}
else
{
$type = $vbulletin->options['vbgooglemap_colorother'];
}
*/
if ($get_xml_user["isonline"])
{
$type = $vbulletin->options['vbgooglemap_coloradmin'] ;
}
else {
$type = $vbulletin->options['vbgooglemap_colorother'];
}
I commented your code out so that I can easily change it back.
The last 7 lines basically tell to use the color specified for the admin when a user is online (red in my case) and gray when the user is offline.
So far I could only test it with 2 users, future will tell how this performs.