im not too sure how good of a fix this is, i have been up and down the core files, trying to figure this out. Just because it bothered me they include in the default template a condition for this, yet it does not work (by default)
By default when you subscribe to a forum (not a thread) underneath the forum you should see an unsubscribe link
This is supposed to happen with the code from:
forumhome_forumbit_level1_post
forumhome_forumbit_level2_post
Code:
<if condition="$show['forumsubscription']"><div class="smallfont"><strong><a href="subscription.php?$session[sessionurl]do=removesubscription&f=$forum[forumid]" rel="nofollow">$vbphrase[unsubscribe_from_this_forum]</a></strong></div></if>
But this code does not work.
I was trying to show images for this using an if / else statement but couldn't for the life of me get it to work.
so hours browsing / searching / asking; I finally find a fix (source:
http://tracker.vbulletin.com/browse/VBIV-8931)
in includes/functions_forumlist.php
Find:
Code:
$show['forumsubscription'] = ($subsonly ? true : false);
Replace with:
Code:
$show['forumsubscription'] = !empty($forum['subscribeforumid']);
I was happy for a minute because now the link was showing, but then i realized it doesn't work on forumhome. (why not lvl1 and lvl2 are there, this code should work)
so I searched the core files up and down and I came up with this, which i took from another core file.
in index.php (forumhome)
add:
Code:
cache_ordered_forums(1, 1, $vbulletin->userinfo['userid']);
$show['subscribed_to_forum'] = ($vbulletin->forumcache["$foruminfo[forumid]"]['subscribeforumid'] != '' ? true : false);
below:
Code:
// ######################## START MAIN SCRIPT ############################
im not sure how good of a fix this is, but it works. i have not noticed any ill side effects applying these changes.
I did how ever notice in index.php is
Code:
cache_ordered_forums(1, 1);
and i do not know if the added code will conflict with that, i tried adding just
Code:
$show['subscribed_to_forum'] = ($vbulletin->forumcache["$foruminfo[forumid]"]['subscribeforumid'] != '' ? true : false);
below that, and in other places but it wouldn't work without
Code:
cache_ordered_forums(1, 1, $vbulletin->userinfo['userid']);
Now for an addon!
got the fix applied? well you have to for this.
so now if your users are subscribed to a forum they can see an unsubscribe link under the forum title, but hey you've come all this way, lets not keep it ugly.
so in both forumhome_forumbit_level1 & level2_post
find:
Code:
<if condition="$show['forumsubscription']"><div class="smallfont"><strong><a href="subscription.php?$session[sessionurl]do=removesubscription&f=$forum[forumid]" rel="nofollow">$vbphrase[unsubscribe_from_this_forum]</a></strong></div></if>
replace with: (change style and img locations as you see fit)
Code:
<if condition="$show['forumsubscription']">
<div style="float:right;">
<a href="subscription.php?$session[sessionurl]do=removesubscription&f=$forum[forumid]" rel="nofollow" title="$vbphrase[unsubscribe_from_this_forum]"><img src="unsubscribe.png" alt="$vbphrase[unsubscribe_from_this_forum]"/></a>
</div>
<else />
<div style="float:right;">
<a href="subscription.php?$session[sessionurl]do=addsubscription&f=$forum[forumid]" rel="nofollow" title="$vbphrase[subscribe_to_forum]"><img src="subscribe.png" alt="$vbphrase[subscribe_to_forum]"/></a>
</div>
</if>
attached are the images in the screenshot.