PDA

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.