Version: , by Ralgar
Developer Last Online: Nov 2023
Version: 2.2.x
Rating:
Released: 11-02-2001
Last Update: Never
Installs: 11
No support by the author.
Following features
You can add so many rankingsystems you want extremly easy
The users can switch the systems at the cp and choose his own rankingsystem at the registration
complet admintool support
a possible ramified rankingsystem
i hope u like all
sigh, wrong board, pls move :stupid:
Update 24.11.2001:
The following bugs are handled
When a new user registered to the forum, the user would get the first title from the OLD usertitles. This is fixed.
When a user changed the ranksystem, he would only changed the title then he post something. This is also fixed.
Here are the Bugfixcode, the zipfile is now the bugfixed full release
Code:
*******************
* files, which will be edit by the bugfix
*******************
register.php
member.php
*******************
* file
* member.php
* -------------
* modify the display for the field Ranksystem
* -------------
*******************
***
*search:
***
// Custom User Title Code!
if ($resettitle) {
$group=$DB_site->query_first("SELECT usertitle FROM usergroup WHERE usergroupid=$bbuserinfo[usergroupid]");
if ($group[usertitle]=="") {
$gettitle=$DB_site->query_first("SELECT title FROM usertitle WHERE minposts<=$bbuserinfo[posts] ORDER BY minposts DESC LIMIT 1");
$usertitle=$gettitle[title];
} else {
$usertitle=$group[usertitle];
}
$bbuserinfo[usertitle] = $usertitle;
$bbuserinfo[customtitle] = 0;
unset($customtext);
}
***
*replace with
***
// Custom User Title Code!
$group=$DB_site->query_first("SELECT usertitle FROM usergroup WHERE usergroupid=$bbuserinfo[usergroupid]");
if ($group[usertitle]=="") {
$getprofilefield=$DB_site->query_first("SELECT profilefieldid from profilefield where 1 and title = 'Ranksystem' LIMIT 0, 1");
$varname="field$getprofilefield[profilefieldid]";
$rankid = $$varname;
$gettitle=$DB_site->query_first("Select rankdetail.title from user, rankdetail left join userfield on user.userid = userfield.userid where user.userid= $bbuserinfo[userid] and rankdetail.rankid = $rankid and rankdetail.minposts <= user.posts ORDER BY rankdetail.minposts DESC LIMIT 1");
$usertitle=$gettitle[title];
} else {
$usertitle=$group[usertitle];
}
$bbuserinfo[usertitle] = $usertitle;
$bbuserinfo[customtitle] = 0;
unset($customtext);
$customtext = $usertitle;
*******************
* file
* register.php
* -------------
* modify the display for the field Ranksystem
* -------------
*******************
***
*search
***
$usergroup=$DB_site->query_first("SELECT usertitle FROM usergroup WHERE usergroupid='$newusergroupid'");
if ($usergroup[usertitle]=="") {
$gettitle=$DB_site->query_first("SELECT title FROM usertitle WHERE minposts<=0 ORDER BY minposts DESC LIMIT 1");
$usertitle=$gettitle[title];
} else {
$usertitle=$usergroup[usertitle];
}
***
*replace with
***
$usergroup=$DB_site->query_first("SELECT usertitle FROM usergroup WHERE usergroupid='$newusergroupid'");
if ($usergroup[usertitle]=="") {
$getprofilefield=$DB_site->query_first("SELECT profilefieldid from profilefield where 1 and title = 'Ranksystem' LIMIT 0, 1");
$varname="field$getprofilefield[profilefieldid]";
$rankid = $$varname;
$gettitle=$DB_site->query_first("Select rankdetail.title from rankdetail where rankdetail.minposts <= 0 and rankdetail.rankid = $rankid ORDER BY rankdetail.minposts DESC LIMIT 1");
$usertitle=$gettitle[title];
} else {
$usertitle=$usergroup[usertitle];
}
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
Invalid SQL: Select rankdetail.title from rankdetail where rankdetail.minposts <= 0 and rankdetail.rankid = ORDER BY rankdetail.minposts DESC LIMIT 1 mysql error: You have an error in your SQL syntax near 'ORDER BY rankdetail.minposts DESC LIMIT 1' at line 1
Nevermind, I fixed the problem . Basically the error is in the admin/misc.php file. There you were intructed to replace a db query with:
PHP Code:
$getprofilefield=$DB_site->query_first("SELECT profilefieldid from profilefield where 1 and title =
'Ranksystem' LIMIT 0, 1");
$gettitle=$DB_site->query_first("Select rankdetail.title from user left join userfield on user.userid =
userfield.userid left join rankdetail on rankdetail.rankid = userfield.field" . $getprofilefield[profilefieldid] .
" where user.userid= $userid and rankdetail.minposts <= user.posts ORDER BY rankdetail.minposts DESC LIMIT 1");
The error is here:
PHP Code:
userfield.field
"userfield.field" doesn't exist, the fields are given numbers. Depending on the field number for the Rank Category ID for your indivudual board, you enter that instead. (ie. If the column where your members choose the rank category they want to use is "field6" in your database then your code should read "userfield.field6"). I hope this helps out some of you with this problem. Besides that, great hack!
Edit: Okay, figured out that it was because I set editable by user to no in phpmyadmin. I still dont' want it to show up though...any suggestions on that?
Tested and tried - though some features work, this hack is largely unusable because of a sharp disconnect between the ranksystem select mechanism and the database. I could find no easy way to reconcile it.