Version: 0.4, by Thr33
Developer Last Online: Oct 2023
Category: New Posting Features -
Version: 4.0.x
Rating:
Released: 03-09-2010
Last Update: Never
Installs: 16
Template Edits
Translations
No support by the author.
Hey guys, im not a coder but ive been quickly trying to learn PHP over the 4 weeks ive had VBulletin. This is my first template mod cause ive not learn how to make plugins yet lol. I asked for weeks and weeks on how to do little things that would (when complete) construct my reputation system but know one replied with a respectable answer. Although once id managed to complete it and have it working i decided to share with you guys.
Purpose
I run a music production website where i provide downloads, but they are meant as a priveledge given to comitted members. So, to have access to the downloads section you must have 20 reps/reputation points (set as a rank in adminCP). This is now the share ratio because this mod rewards a rep point to the user who posts a new thread in the download section and deducts a rep point to those who reply to a thread. This will stop an progressive leeching issue, but of course without good moderation may introduce spamming (just a warning).
if ($type == 'thread')//if its a thread and not a post/reply
{
$result = $vbulletin->db->query_first("SELECT reputation FROM user WHERE userid =".$vbulletin->userinfo['userid']." ORDER BY userid ASC");
$punkty=$result['reputation']+1;//incrase reputation by 1 CHANGE IF REQUIRED
$vbulletin->db->query_write("UPDATE user SET reputation=".$punkty." WHERE userid=".$vbulletin->userinfo['userid']);
$senderpermissions=2;
$registry =& $vbulletin;
}
else//if its anything but a thread, hense; post/reply
{
$result = $vbulletin->db->query_first("SELECT reputation FROM user WHERE userid =".$vbulletin->userinfo['userid']." ORDER BY userid ASC");
$punkty=$result['reputation']-1;//decreases reputation by 1 CHANGE IF REQUIRED
$vbulletin->db->query_write("UPDATE user SET reputation=".$punkty." WHERE userid=".$vbulletin->userinfo['userid']);
$senderpermissions=2;
$registry =& $vbulletin;
}
--
If you want this feature in just a select number of forums you add this around the above:
PHP Code:
if ($foruminfo[forumid] = 4 OR $foruminfo[forumid] =5)
{
//ABOVE CODE
}
or in a number of chained forums:
PHP Code:
if ($foruminfo[forumid]>4 AND $foruminfo[forumid]<8)// ADDED IN FORUMS 5, 6 AND 7
{
//ABOVE CODE
}
For this to apply to different usergroups
PHP Code:
if ($userinfo['usergroup'] =6)
{
//ABOVE CODE
}
--
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
hello
is there anyway to make this rep 2 for threads and 1 for reply's instead ?
or would changing to this work
PHP Code:
if ($type == 'thread')//if its a thread and not a post/reply { $result = $vbulletin->db->query_first("SELECT reputation FROM user WHERE userid =".$vbulletin->userinfo['userid']." ORDER BY userid ASC"); $punkty=$result['reputation']+2;//increase reputation by 2 CHANGE IF REQUIRED $vbulletin->db->query_write("UPDATE user SET reputation=".$punkty." WHERE userid=".$vbulletin->userinfo['userid']); $senderpermissions=2; $registry =& $vbulletin; } else//if its anything but a thread, hense; post/reply { $result = $vbulletin->db->query_first("SELECT reputation FROM user WHERE userid =".$vbulletin->userinfo['userid']." ORDER BY userid ASC"); $punkty=$result['reputation']+1;//increase reputation by 1 CHANGE IF REQUIRED $vbulletin->db->query_write("UPDATE user SET reputation=".$punkty." WHERE userid=".$vbulletin->userinfo['userid']); $senderpermissions=2; $registry =& $vbulletin; }
What a wonderful idea, thank you ever so much for sharing with us, i know how it feels to have to struggle on with no help, well done you for getting this done.
I wonder how we might be able to make this work retroactively, I know you are just picking up in this field so this may be a little out there for you, but I wonder if anyone else also might know. I tried the obvious of rebuilding users rep' but it did nothing.
You shouldnt need a demo, the description says it all. For a demo it would mean giving restricted access to an account, autoreplying with rep system bypass. Read the comments and you should understand what this edit does.