vBorg Thread Rating [REQ]

vBorg Thread Rating

Update 08/21/07: Made a template change that should address the issue with the rating box still being visible after a thread has been rated. [link]

There seemed to be multiple requests for this, so here it is. This is a clone of the thread rating system you see in the modifications section of vBorg.

For a demo, scroll up to the big orange rectangle, select "Excellent" then click "Vote Now!".

Installation is simple. Just replace your current SHOWTHREAD template with the attached file. That's it.



For those with a modified SHOWTHREAD (or just for those who enjoy doing things the hard way), here are the required modifications:

In SHOWTHREAD:


FIND and DELETE:

PHP:
<if condition="$show['threadrating']">
	<!-- thread rating menu -->
	<div class="vbmenu_popup" id="threadrating_menu" style="display:none">
	<form action="threadrate.php?t=$threadid" method="post" id="showthread_threadrate_form">
		<table cellpadding="4" cellspacing="1" border="0">
		<tr>
			<td class="thead">$vbphrase[rate_this_thread]<a name="goto_threadrating"></a></td>
		</tr>
		<if condition="$show['ratethread']">
		<tr>
			<td class="vbmenu_option" title="nohilite" id="threadrating_options">
			<div><img class="inlineimg" src="$stylevar[imgdir_rating]/rating_5.gif" alt="$vbphrase[excellent]" /><label for="vote5"><input type="radio" name="vote" id="vote5" value="5" $votechecked[5] />$vbphrase[excellent]</label></div>
			<div><img class="inlineimg" src="$stylevar[imgdir_rating]/rating_4.gif" alt="$vbphrase[good]" /><label for="vote4"><input type="radio" name="vote" id="vote4" value="4" $votechecked[4] />$vbphrase[good]</label></div>
			<div><img class="inlineimg" src="$stylevar[imgdir_rating]/rating_3.gif" alt="$vbphrase[average]" /><label for="vote3"><input type="radio" name="vote" id="vote3" value="3" $votechecked[3] />$vbphrase[average]</label></div>
			<div><img class="inlineimg" src="$stylevar[imgdir_rating]/rating_2.gif" alt="$vbphrase[bad]" /><label for="vote2"><input type="radio" name="vote" id="vote2" value="2" $votechecked[2] />$vbphrase[bad]</label></div>
			<div><img class="inlineimg" src="$stylevar[imgdir_rating]/rating_1.gif" alt="$vbphrase[terrible]" /><label for="vote1"><input type="radio" name="vote" id="vote1" value="1" $votechecked[1] />$vbphrase[terrible]</label></div>
			</td>
		</tr>
		<tr id="threadrating_submit">
			<td class="vbmenu_option" title="nohilite" align="center">
				<input type="hidden" name="s" value="$session[dbsessionhash]" />
				<input type="hidden" name="t" value="$threadid" />
				<input type="hidden" name="pp" value="$perpage" />
				<input type="hidden" name="page" value="$pagenumber" />
				<input type="submit" class="button" value="$vbphrase[vote_now]" />
			</td>
		</tr>
		<else />
		<tr>
			<td class="vbmenu_option" title="nohilite">$vbphrase[already_rated_this_thread]</td>
		</tr>
		</if>
		</table>
	</form>
	</div>
	<!-- / thread rating menu -->

	<script type="text/javascript" src="clientscript/vbulletin_ajax_threadrate.js?v=$vboptions[simpleversion]"></script>
	<script type="text/javascript">
	<!--
	vB_AJAX_ThreadRate_Init('showthread_threadrate_form');
	var threadid = $threadinfo[threadid];
	//-->
	</script>
</if>



FIND and DELETE:

PHP:
<if condition="$show['popups']"><script type="text/javascript"> vbmenu_register("threadrating"); </script></if>

FIND:

PHP:
<if condition="$show['inlinemod']">
$spacer_close
<form action="inlinemod.php?threadid=$threadinfo[threadid]&p=$postid" method="post" id="inlinemodform">
$spacer_open
</if>

<a name="poststop" id="poststop"></a>

REPLACE with:


PHP:
<a name="poststop" id="poststop"></a>

<if condition="!$show['rating'] AND $show['threadrating'] AND $show['ratethread']">
<!-- thread rating menu -->
<form action="threadrate.php?t=$threadid" method="post" id="showthread_threadrate_form">
	<table cellpadding="4" cellspacing="1" width="100%" border="0" class="tborder" align="center">
		<tr>
			<td style="background:#FFDC84;color:#000;" id="threadrating">
				<div align="center" id="threadrating_current">
					<div align="left"><h3>$vbphrase[rate_this_thread] : <em>$thread[title]</em></h3></div>
					<a name="goto_threadrating"></a>
					<label for="vote5"><input type="radio" name="vote" id="vote5" value="5" $votechecked[5] />$vbphrase[excellent]</label>
					<label for="vote4"><input type="radio" name="vote" id="vote4" value="4" $votechecked[4] />$vbphrase[good]</label>
					<label for="vote3"><input type="radio" name="vote" id="vote3" value="3" $votechecked[3] />$vbphrase[average]</label>
					<label for="vote2"><input type="radio" name="vote" id="vote2" value="2" $votechecked[2] />$vbphrase[bad]</label>
					<label for="vote1"><input type="radio" name="vote" id="vote1" value="1" $votechecked[1] />$vbphrase[terrible]</label>
					<input type="hidden" name="s" value="$session[dbsessionhash]" />
					<input type="hidden" name="t" value="$threadid" />
					<input type="hidden" name="pp" value="$perpage" />
					<input type="hidden" name="page" value="$pagenumber" />
					<input type="submit" class="button" value="$vbphrase[vote_now]" />
				</div>
			</td>
		</tr>
	</table>
	
	<br />
</form>
<!-- / thread rating menu -->

<script type="text/javascript" src="clientscript/vbulletin_ajax_threadrate.js?v=$vboptions[simpleversion]"></script>
<script type="text/javascript">
	<!--
	vB_AJAX_ThreadRate_Init('showthread_threadrate_form');
	var threadid = $threadinfo[threadid];
	window.alert = null;
	//-->
</script>
</if>

<if condition="$show['inlinemod']">
$spacer_close
<form action="inlinemod.php?threadid=$threadinfo[threadid]&p=$postid" method="post" id="inlinemodform">
$spacer_open
</if>


Single post

After DELETE, you can:

FIND:

PHP:
<if condition="$show['inlinemod']">
$spacer_close
<form action="inlinemod.php?threadid=$threadinfo[threadid]&p=$postid" method="post" id="inlinemodform">
$spacer_open
</if>

<a name="poststop" id="poststop"></a>

REPLACE with:

PHP:
<if condition="$show['threadrating']">
<if condition="$show['ratethread']">
<!-- thread rating menu -->


<!---------------------- / UPGRADE------>
<if condition="$show['rating']">
<table cellpadding="4" cellspacing="1" width="100%" border="0" class="tborder" align="center">
		<tr>
			<td class="thread">
				<div align="center" id="threadrating_current">
$vbphrase[rating]: <img class="inlineimg" src="$stylevar[imgdir_rating]/rating_$thread[rating].gif" alt="<phrase 1="$thread[votenum]" 2="$thread[voteavg]">$vbphrase[thread_rating_x_votes_y_average]</phrase>" border="0" />
</div>
</td>
</tr>
</table>
<br />
<else />
<!---------------------- / UPGRADE------>


<form action="threadrate.php?t=$threadid" method="post" id="showthread_threadrate_form">
	<table cellpadding="4" cellspacing="1" width="100%" border="0" class="tborder" align="center">
		<tr>
			<td style="background:#FFDC84;color:#000;" id="threadrating">
				<div align="center" id="threadrating_current">
					<div align="left"><b>$vbphrase[rate_this_thread] : <em>$thread[title]</em></b></div>
					<a name="goto_threadrating"></a>
					<label for="vote5"><input type="radio" name="vote" id="vote5" value="5" $votechecked[5] />$vbphrase[excellent]</label>
					<label for="vote4"><input type="radio" name="vote" id="vote4" value="4" $votechecked[4] />$vbphrase[good]</label>
					<label for="vote3"><input type="radio" name="vote" id="vote3" value="3" $votechecked[3] />$vbphrase[average]</label>
					<label for="vote2"><input type="radio" name="vote" id="vote2" value="2" $votechecked[2] />$vbphrase[bad]</label>
					<label for="vote1"><input type="radio" name="vote" id="vote1" value="1" $votechecked[1] />$vbphrase[terrible]</label>
					<input type="hidden" name="s" value="$session[dbsessionhash]" />
					<input type="hidden" name="t" value="$threadid" />
					<input type="hidden" name="pp" value="$perpage" />
					<input type="hidden" name="page" value="$pagenumber" />
					<input type="submit" class="button" value="$vbphrase[vote_now]" />
				</div>
			</td>
		</tr>
	</table>
	
	<br />
</form>
</if>
<!-- / thread rating menu -->

<script type="text/javascript" src="clientscript/vbulletin_ajax_threadrate.js?v=$vboptions[simpleversion]"></script>
<script type="text/javascript">
	<!--
	vB_AJAX_ThreadRate_Init('showthread_threadrate_form');
	var threadid = $threadinfo[threadid];
	window.alert = null;
	//-->
</script>
</if>
</if>

<if condition="$show['inlinemod']">
$spacer_close
<form action="inlinemod.php?threadid=$threadinfo[threadid]&p=$postid" method="post" id="inlinemodform">
$spacer_open
</if>
 
soyunnico said:

Here, if you've applied the mod previously. Try this. I haven't had a chance to do much testing, but I just slapped those changes and it seems to be working. Once rated, the box will no longer display.

Let me know if that fixes it.

FIND:
PHP:
<if condition="$show['threadrating']">
<if condition="$show['ratethread']">

REPLACE WITH:
PHP:
<if condition="!$show['rating'] AND $show['threadrating'] AND $show['ratethread']">

FIND:
PHP:
</script>
</if>
</if>

REPLACE WITH:
PHP:
</script>
</if>
 
Back
Top