View Full Version : Counting threadviews and rating threads
Tomek
04-01-2005, 05:45 PM
Hi,
I've got two wishes:
do not count threadview, when the threadstarter clicks on his own thread
the threadstarter should not be able to rate his own thread
Perhaps there are already those hacks, but I didn't find anything related to this.
Thanks in advance. :)
why-not
04-01-2005, 05:48 PM
Do you want as an Admin Panel / Forum Option / per forum or just a quick script change?
Sonia
Tomek
04-01-2005, 05:51 PM
A quick script hack would be sufficient.
why-not
04-01-2005, 08:10 PM
A quick script hack would be sufficient.
Wow you posted back quick, I did not see it!
Anyway.....
Follow me...
Open './showthread.php'
FIND THIS...
if ($vboptions['threadviewslive'])
{
// doing it as they happen
$DB_site->shutdown_query("
UPDATE " . TABLE_PREFIX . "thread
SET views = views + 1
WHERE threadid = " . intval($threadinfo['threadid'])
);
}
else
{
// or doing it once an hour
$DB_site->shutdown_query("
INSERT INTO " . TABLE_PREFIX . "threadviews (threadid)
VALUES (" . intval($threadinfo['threadid']) . ')'
);
}
REPLACE WITH...
if ( $thread['postuserid'] != $bbuserinfo['userid'] )
{
$show['user_rate'] = true;
if ( $vboptions['threadviewslive'] )
{
$DB_site->shutdown_query ( "UPDATE " . TABLE_PREFIX . "thread SET views = views + 1 WHERE threadid = " . intval ( $threadinfo['threadid'] ) );
}
else
{
$DB_site->shutdown_query ( "INSERT INTO " . TABLE_PREFIX . "threadviews (threadid) VALUES (" . intval ( $threadinfo['threadid'] ) . ')' );
}
}
else
{
$show['user_rate'] = false;
}
close, save './showthread.php'
Go to your Admin Panel...
Language & Phrases >> Phrase Manager
Change to >> Phrase Type = Show Thread
Go to the bottom and click >> Add New Phrase
Varname = no_rating
text = No Rating
Click Save....
Go To Styles & Templates >> Search in Templates
SEARCH FOR...
<if condition="$show['threadrating']">
click Find!
Style Manager Opens!
Select the template >> SHOWTHREAD...
FIND THIS...
<if condition="$show['threadrating']">
<td class="vbmenu_control" id="threadrating">
<a href="#goto_threadrating"><if condition="$show['rating']">$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" /><else />$vbphrase[rate_thread]</if></a>
<if condition="$show['popups']"><script type="text/javascript"> vbmenu_register("threadrating"); </script></if>
</td>
</if>
REPLACE WITH...
<if condition="$show['threadrating']"><if condition="$show['user_rate']">
<td class="vbmenu_control" id="threadrating"><a href="#goto_threadrating"><if condition="$show['rating']">$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" /><else />$vbphrase[rate_thread]</if></a><if condition="$show['popups']"><script type="text/javascript"> vbmenu_register("threadrating"); </script></if></td><else />
<td class="vbmenu_control" id="threadrating"><if condition="$show['rating']">$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" /><else />$vbphrase[no_rating]</if></if></if>
FIND THIS...
<if condition="$show['threadrating']">
<td class="alt2" $nodhtmlcolspan>
<!-- rate this thread -->
<form action="threadrate.php" method="post">
<div class="smallfont">
<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" />
<strong>$vbphrase[rate_this_thread]</strong>:<br />
<select name="vote" onchange="this.form.submit()" style="width:175px">
<optgroup label="$vbphrase[choose_a_rating]">
<option value="5" $voteselected[5]>5 : $vbphrase[excellent]</option>
<option value="4" $voteselected[4]>4 : $vbphrase[good]</option>
<option value="3" $voteselected[3]>3 : $vbphrase[average]</option>
<option value="2" $voteselected[2]>2 : $vbphrase[bad]</option>
<option value="1" $voteselected[1]>1 : $vbphrase[terrible]</option>
</optgroup>
</select>$gobutton
</div>
</form>
<!-- / rate this thread -->
</td>
</if>
REPLACE WITH...
<if condition="$show['threadrating']"><if condition="$show['user_rate']">
<td class="alt2" $nodhtmlcolspan>
<!-- rate this thread -->
<form action="threadrate.php" method="post">
<div class="smallfont">
<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" />
<strong>$vbphrase[rate_this_thread]</strong>:<br />
<select name="vote" onchange="this.form.submit()" style="width:175px">
<optgroup label="$vbphrase[choose_a_rating]">
<option value="5" $voteselected[5]>5 : $vbphrase[excellent]</option>
<option value="4" $voteselected[4]>4 : $vbphrase[good]</option>
<option value="3" $voteselected[3]>3 : $vbphrase[average]</option>
<option value="2" $voteselected[2]>2 : $vbphrase[bad]</option>
<option value="1" $voteselected[1]>1 : $vbphrase[terrible]</option>
</optgroup>
</select>$gobutton
</div>
</form>
<!-- / rate this thread -->
</td></if>
</if>
Save template 'SHOWTHREAD'
All done...
You have added....
1. Thread starter can not rate their own thread!
2. Thread starter, thread views do not count towards threads visits!
Sonia
Tomek
04-01-2005, 08:18 PM
Big thanks for your work. I'll try it later this day and report. :)
MickDoneDee
05-03-2006, 12:29 PM
Just what I was looking for. Installed and working on 3.0.3. Big thankyou. This should be released as a mini-mod.
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.