Log in

View Full Version : Highlighting Board Names When There is New Activity?


Cygnus
08-29-2008, 06:51 PM
First, I did a search for this (here and .com) but couldn't find anything similar to what I want to do.

So... I have a new site with a lot of boards in the forum. Rather than list them all out in an expanded format, I have nested them and keep them hidden, so that they appear like this:

https://vborg.vbsupport.ru/external/2008/08/1.gif

All of the words above are links with Northern Oregon taking you to a forum with all of those listed as subforums (Adventist, Benson, Cascade Gateway, etc.) and the names of the courses themselves being links to that particular board.

What I would like to do is make it so that when there are new posts in one of these boards since a last visit, that the title would be a different color. So, for example, I come back to the forum and someone has posted a new post in Trojan, it will look like this:

https://vborg.vbsupport.ru/external/2008/08/2.gif

Here is a link to the board in case it is needed for reference:
http://www.nwdiscgolfnews.com/forum/index.php

Is there something already in place that would allow me to do this or does someone know of a quick hack to make this work?

Any help is greatly appreciated.

--------------- Added 1220062420 at 1220062420 ---------------

OK... so I found this function in functions_forumlist.php:


// returns 'on' or 'off' depending on last post info for a forum
function fetch_forum_lightbulb(&$forumid, &$lastpostinfo, &$foruminfo)
{

global $bb_view_cache, $vbulletin;

if (is_array($foruminfo) AND !empty($foruminfo['link']))
{ // see if it is a redirect
return 'link';
}
else
{
if ($vbulletin->userinfo['lastvisitdate'] == -1)
{
return 'new';
}
else
{
if ($vbulletin->options['threadmarking'] AND $vbulletin->userinfo['userid'])
{
$userlastvisit = (!empty($foruminfo['forumread']) ? $foruminfo['forumread'] : (TIMENOW - ($vbulletin->options['markinglimit'] * 86400)));
}
else
{
$forumview = intval(fetch_bbarray_cookie('forum_view', $foruminfo['forumid']));

//use which one produces the highest value, most likely cookie
$userlastvisit = ($forumview > $vbulletin->userinfo['lastvisit'] ? $forumview : $vbulletin->userinfo['lastvisit']);
}

if ($lastpostinfo['lastpost'] AND $userlastvisit < $lastpostinfo['lastpost'])
{
return 'new';
}
else
{
return 'old';
}
}
}
}


And I have found this in the templates:

$stylevar[imgdir_statusicon]/forum_$forum[statusicon].gif

Someone must know how these two interact. Rather than grab a specific image, I want to add a specific style to a link. This can't be that hard but it is just beyond me at the moment.

Little help?

Cygnus
09-02-2008, 03:05 AM
Any way to bump this?

Opserty
09-02-2008, 08:07 AM
Try:

<if condition="$forum[statusicon] == 'new'">
<b>BLABLABLA</b>
<else />
BLABLABLA
</if>


BLABLABLA - being the code for the link. (You should be able to find it in the same template just below where you found the previous code). Note: The code I posted is untested but I think it should work.

Cygnus
09-02-2008, 03:30 PM
Nope. I made the top condition a link with bold red. The second, no style. I see both links - one red, one white.

This is on the front page and needs to check the status of a board nested two deep.

Really? I am the first one to think of this?

Opserty
09-02-2008, 04:00 PM
You must have forgot to remove the old link or something. It is impossible to see both links with that condition. ;)

Undo any changes you've made so far and try in the forumhome_subforumbit_post template:

(Replacing everything thats already there, assuming yours is the default one)

<if condition="$forum['statusicon'] == 'new'">
<b><a href="forumdisplay.php?$session[sessionurl]f=$forum[forumid]">$forum[title]</a></b>
<else />
<a href="forumdisplay.php?$session[sessionurl]f=$forum[forumid]">$forum[title]</a>
</if>

Cygnus
09-02-2008, 05:34 PM
OK... I am not sure that that will work. Maybe it will... don't know.

The links to the subforums are actually in the description of the parent forum - added through the Forum Manager.

Am I missing something? Could I have done what I am trying to do without touching the forum description field?

Opserty
09-02-2008, 05:41 PM
I was under the impression that it was a child forum... otherwise you can't really do it.

A link is just a static piece of text after all...

Cygnus
09-02-2008, 05:44 PM
They are links to a child forum.

So... for example, if you look above... Adventist is a child forum under Northern Oregon (as is Benson, Cascade Gateway, etc...). I don't want to list these children on their own line with the status icon image because it would cause a lot of scrollling. Instead, I want to list it as I drew it above with the link changing styles based on new activity.

Does that make any sense? Any way to do this? It still shouldn't be that hard...

--------------- Added 1220382327 at 1220382327 ---------------

Yeah... built in feature. Only took talking about it to figure it out.

Thanks.

Opserty
09-02-2008, 06:42 PM
Use the code I suggested in the template I said. Then remove the Links in the forum description (keep a backup of the old description in a text file or something). Then use the inbuilt feature that displays subforums. It should look the same.