The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#11
|
||||
|
||||
In phpMyAdmin you just go to the table and after it lists all the columns, it says:
Add 1 fields(s) The 1 is in an input box. At End of Table is the default, click on Go and fill in the information. I would strongly suggest you do this on your test site before you do it on a live site. |
#12
|
|||
|
|||
Got it and done. Thank you for your help. At least this way I can manually change the order, that is, until a hack is written.
--------------- Added 08 Dec 2008 at 13:12 --------------- Well, I created a new column in my "ranks" table named "order_id". I then modified the "functions_ranks.php" file and changed the bottom section from Code:
// #################### Begin Build Ranks PHP Code function ################ function &build_ranks() { global $vbulletin; $ranks = $vbulletin->db->query_read_slave(" SELECT ranklevel AS l, minposts AS m, rankimg AS i, type AS t, stack AS s, display AS d, ranks.usergroupid AS u FROM " . TABLE_PREFIX . "ranks AS ranks LEFT JOIN " . TABLE_PREFIX . "usergroup AS usergroup USING (usergroupid) ORDER BY ranks.usergroupid DESC, minposts DESC "); $rankarray = array(); while ($rank = $vbulletin->db->fetch_array($ranks)) { $rankarray[] = $rank; } build_datastore('ranks', serialize($rankarray), 1); return $rankarray; } Code:
// #################### Begin Build Ranks PHP Code function ################ function &build_ranks() { global $vbulletin; $ranks = $vbulletin->db->query_read_slave(" SELECT ranklevel AS l, minposts AS m, rankimg AS i, type AS t, stack AS s, display AS d, ranks.order_id AS u FROM " . TABLE_PREFIX . "ranks AS ranks LEFT JOIN " . TABLE_PREFIX . "usergroup AS usergroup USING (usergroupid) ORDER BY ranks.order_id DESC, minposts DESC "); $rankarray = array(); while ($rank = $vbulletin->db->fetch_array($ranks)) { $rankarray[] = $rank; } build_datastore('ranks', serialize($rankarray), 1); return $rankarray; } I went to the "Update Counters" area in the ACP and updated the titles and ranks. It is still displaying the same way. Ideas? |
#13
|
|||
|
|||
Well, it turns out that when I made that minor change and added the new column to the database, it broke the ranking system. Everybody had ranks that were not their own. In other words, we suddenly had tons of people that showed rankings that are only earned from a specified amount of posts. There is no way they should have that rank. When I removed the DB column and undid the minor changes I made to the file, it all reverted to working properly.
I don't get it. Ideas? |
#14
|
||||
|
||||
My guess is it's a datastore issue. You probably need to add the column to the rank array in order for it to get used. Look at ranks.php around line 174 where the array is assigned. I'll bet you 'broke' things by not adding the column in there and putting it all in there.
|
#15
|
|||
|
|||
The rank array code looks like
$ranks = array( 'ranklevel' => 1, 'usergroupid' => -1, 'minposts' => 10, 'rankimg' => 'images/', ); How do I add a reference to the new table column "order_id"? |
#16
|
|||
|
|||
All I did was order it by rankid. I added my ranks in a certain order so the rankid was all I needed.
Code:
$ranks = $vbulletin->db->query_read_slave(" SELECT ranklevel AS l, minposts AS m, rankimg AS i, type AS t, stack AS s, display AS d, ranks.usergroupid AS u FROM " . TABLE_PREFIX . "ranks AS ranks LEFT JOIN " . TABLE_PREFIX . "usergroup AS usergroup USING (usergroupid) ORDER BY rankid DESC, minposts DESC |
#17
|
|||
|
|||
|
Thread Tools | |
Display Modes | |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|