Version: 2.3, by gspot
Developer Last Online: Aug 2008
Version: 3.0.7
Rating:
Released: 04-27-2004
Last Update: 04-16-2005
Installs: 149
DB Changes
No support by the author.
Are you looking for statistics on the number of referrals your members have made? Or are interested in promoting your website by allowing members to engage in a referral competition?
THIS HACK IS FOR YOU
To show referral statistics from members and to manage referral competitions.
- this hack is to help you manage your forums referrals
- promote new user registrations
- perfect for contests/promotional giveaways or incentives for referrals
- INSTALL today and start managing your boards referrals.
Features:
- Limit the number of results shown
- Admin ability to reset all members referrals to zero
- Admin ability to reset "specific members" referrals to zero
- Includes an update to your whois online
- Up-to-date listing on when you last reset all members referrals to zero
*** Seen in the admincp and an option for all members to view
- Total number of referrals since last reset
*** viewable in admincp and again an option for all members to view
- Pagination is now included and an option for another at bottom of results
- Shows up-to-date total number of board referrals
- Shows leading referrer in admincp
- Ability to limit referral results by number of posts or a usergroupid(s)
- Configuration is now done in admincp
- Auto installer now included w/ auto un-installer
- BEST OF ALL (LETS MEMBERS REFER MORE PEOPLE TO YOUR SITE.
I will like always SUPPORT my hacks
Thanks goes out to: unixman - for all the referred members are now clickable to their profile.
Total install time: less than 3 minutes.
New templates: 2 - refer, referbit
New files to upload: 2 pages
Edit templates: 2 - footer, /includes/functions_online.php
File edit: 1 - /admincp/index.php
** 4/17/05 - Version 2.3 Released = Includes many new one click options in the admincp, also auto configures your vbulletin path (which many people were having errors performing) **
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
Got the following error on the auto installation on step 2...
Code:
Database error in vBulletin 3.0.3:
Invalid SQL:
CREATE TABLE referrals (
`date` text NOT NULL
) TYPE=MyISAM
mysql error: Table 'referrals' already exists
mysql error number: 1050
Date: Sunday 16th of January 2005 08:55:51 AM
Script: http://www.majorfm.com/forum/admincp/install_referrals.php
Referer: http://www.majorfm.com/forum/admincp/install_referrals.php
Username: *****
IP Address: 80.42.131.***
Major - please re-download the package and re-upload all the files again for the upgrade process. I have created an upgrade script in the auto installer. This should take care of your problem. Good Luck.
Ok, problem. I use table prefixes at my forum. The original version didn't have them, so I added em in manually, but I see this version does. However....there's a problem with one bit of coding in it.
Its this block
PHP Code:
$result = $DB_site->query_first("SELECT COUNT(*) as ttl, user.username, user.userid FROM " . TABLE_PREFIX . "user AS users LEFT JOIN user AS user ON (users.referrerid = user.userid)
WHERE user.userid > 0
GROUP BY users.referrerid
ORDER BY ttl DESC");
I have to add the table prefix to every single instance of 'user' in the entire block, or else it gives me errors such as "Unknown table 'user' in field" and stuff. And when I add the prefix to all instances of it, for some reason it acts like there's no prefix on ANY of it! So I can't get it to work at all.
mysql error: Table 'lancetjades.user' doesn't exist
Are you using the prefix = 'lancetjades'? Because somehow thats what it is trying to use... This hack seems to work fine on my board and others, so it must be a conflict with another hack you might have installed previously. If this hack worked prior to this release, then try not using the prefix at all and just use the table user delete the " . TABLE_PREFIX ." part.
sorry not much help here...
No, lancetjades is the name of the database my forum uses. The prefix I use is vb3_
It gives that error because the "LEFT JOIN user AS user ON" part of the code doesn't have a table prefix code on it, or so I've deduced.
Here is the error text:
PHP Code:
Database error in vBulletin 3.0.5:
Invalid SQL: SELECT COUNT(*) as ttl, user.username, user.userid FROM vb3_user AS users LEFT JOIN user AS user ON (users.referrerid = user.userid)
WHERE user.userid > 0
GROUP BY users.referrerid
ORDER BY ttl DESC
mysql error: Table 'lancetjades.user' doesn't exist
mysql error number: 1146
Date: Sunday 16th of January 2005 10:49:54 PM
Script: http://www.evermoreforums.com/forums/referrals.php
Referer: http://www.evermoreforums.com
Username: Blaze
IP Address: *****
As you see, the part of the code that has the table prefix code on it shows the vb3_. Once I attached the prefix to all the blank 'user' instances, it says "Unknown table 'user' in field set, and so on until ALL instances of 'user' have a prefix. Then, it drops the prefix from all of the instances, and it still refuses to work.
////////////////////////////////////////////
$result = $DB_site->query_first("SELECT COUNT(*) as ttl, user.username, user.userid FROM ". TABLE_PREFIX . "user AS users LEFT JOIN user AS user ON (users.referrerid = user.userid)
WHERE user.userid > 0
GROUP BY users.referrerid
ORDER BY ttl DESC");
/////////////////////////////////////////////////
To this:
PHP Code:
////////////////////////////////////////////////
$result = $DB_site->query_first("SELECT COUNT(*) as ttl, user.username, user.userid FROM " . TABLE_PREFIX . "user AS users LEFT JOIN " . TABLE_PREFIX . "user AS user ON (users.referrerid = user.userid)
WHERE user.userid > 0
GROUP BY users.referrerid
ORDER BY ttl DESC");
////////////////////////////////////////
AND THIS:
PHP Code:
////////////////////////////////////////
$referrers = $DB_site->query("SELECT COUNT(*) AS number, user.username, user.userid, user.referrals FROM " . TABLE_PREFIX . "user AS users LEFT JOIN user AS user ON (users.referrerid = user.userid)
WHERE user.userid > 0
GROUP BY users.referrerid
ORDER BY number DESC
LIMIT $from, $max_results");
/////////////////////////////////////
To this:
PHP Code:
/////////////////////////////////////
$referrers = $DB_site->query("SELECT COUNT(*) AS number, user.username, user.userid FROM " . TABLE_PREFIX . "user AS users LEFT JOIN " . TABLE_PREFIX . "user AS user ON (users.referrerid = user.userid)
WHERE user.userid > 0
GROUP BY users.referrerid
ORDER BY number DESC
LIMIT $from, $max_results");
///////////////////////////////
///////////////////////////////
This should fix anyones problem who is having the same issue as REX - sorry all.. Make these changes is the referrals.php file.