Custom Rank Image for each User
This modification is in the archives.
Custom Rank Image for each User HACK
------------------------------------ version 1.0 (beta) by Marris January 14, 2006 for vBulletin 3.5.3 Lastest version, discussion and screenshots at: URL: Custom Rank Image for each User Requires: 2 plugins, 2 or 3 template edits, 1 new profile field. Templates to Edit: MEMBERINFO postbit postbit_legacy (optional) Time to install: 15-20 min. *NOTE: This code will NOT work as-is on 3.5.0 boards. See trackpads' post Spoiler (click to open)
Got it!
Using this guide: http://www.vbulletin.org/forum/showt...bbcode+parsing I realized that since I am using 3.5 core then the codes are different, I changed it to this and it worked like a charm! Code:
if ($post['field29']) { if (!is_object($bbcode_parser)) { require_once(DIR . '/includes/class_bbcode.php'); $parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list()); $parsed_text = $parser->do_parse($text, $do_html, $do_smilies, $do_bbcode, $do_imgcode, $do_nl2br, $cachable); } $post['field29'] = $parser->do_parse($post['field29']); } Close
--------------------------- (*The basic plugin code for steps 2 and 3 of this hack was originally posted HERE Spoiler (click to open)Close
What it does: This hack allows the Admin to set a Custom Rank Image for individual users by entering a bbcode image link in a custom profile field. So for example, if your forum has stars as the standard rank image, you could set one user to have flowers and another to have dollar bills (or whatever). Why: Yes, I know vB 3.5 already has multiple ranks, but they are determined by usergroup, not individual user. I recently converted to vB from another forum that allowed per user rank images, so I have many users with custom rank images. Without this hack, I had to 1) make a new usergroup for each custom rank used by a single member, 2) add the user to that group, then 3) set each user display group to that group. With the number of users who have Custom Ranks on my forum, not only is this a tedious process, but it also adds a ton of clutter in the Usergroups and Permissions settings. What it doesn't do: This doesn't set multiple variable rank images. You can only have one rank image per user, rather than a progression of images. This means you either have to manually change the image link when the user advances, or do what I do, which is just set each users custom rank to the maximum in the first place. (Custom rank images are a special perk for forum leaders.) This hack is only worthwhile if you have a need for many Custom Rank Images for individual users like I do. If you only have a handful, just making new usergroups and ranks the normal way is probably quicker and easier. Requires: 2 plugins, 2 or 3 template edits, 1 new profile field. How to install: 0. If you have not installed any Plugins before, make sure you activate the Plugin system. In the main vBulletin Options > Plugin/Hook System : check YES to Enable Plugin/Hook System. 1. In Admin CP > User Profile Fields > Add New User Profile Field, create: Profile Field Type: Single-Line Text Box Title: Custom Rank Image Max length of allowed user input: 400 Field Required: No Field Editable by User: No Private Field: No Field Searchable on Members List: No Show on Members List: No Display Page: Edit Profile Then SAVE. In the User Profile Field Manager, note the Name of the newly created field. You will need it for the next step. For this example I will use: field99 ***IMPORTANT: Do not just cut and paste the code below, or it will not work. In each code snippet below, you must manually replace field99 with the Name of your newly created Profile Field above. 2. In Admin CP > Plugin System > Add New Plugin Hook Location: postbit_display_complete Title: Custom Rank Image in postbit Plugin PHP Code: *IMPORTANT: You must replace field99 with the field Name of your newly created field in three locations in the following code: PHP Code:
if ($post['field99'])
3. Create a second new plugin. In Admin CP > Plugin System > Add New Plugin Hook Location: member_complete Title: Custom Rank Image in MEMBERINFO Plugin PHP Code: *IMPORTANT: Again, you must replace field99 with the field Name of your newly created field in three locations in the following code: PHP Code:
if ($userinfo['field99'])
The purpose of the two plugins is to allow bbcode IMG tags in Profile field field99. *This basic plugin code was originally posted HERE Spoiler (click to open)Close
4. In Admin CP > Styles & Templates > Style Manager, selct your current style and Edit Templates. Select MEMBERINFO and press Customize or EDIT. I recommend you check the Save in Template History?: YES box and press the Save & Reload button, before editing, in case you want to go back to your previous template. FIND around line 23: Code:
<if condition="$userinfo['rank']"><div align="center">$userinfo[rank]</div></if> *IMPORTANT: Yet again, you must replace field99 with the field Name of your newly created field in two locations in the following code: Code:
<if condition="$userinfo['field99']"><div align="center">$userinfo[field99]</div> <else /> <if condition="$userinfo['rank']"><div align="center">$userinfo[rank]</div></if> </if> * The following step 5 only applies if you are using the standard postbit. If you are using postbit_legacy, skip down to step 6. If you are using both postbit and postbit_legacy, you must do both steps 5 and 6. 5. In Admin CP > Styles & Templates > Style Manager, selct your current style and Edit Templates. Select postbit and press Customize or EDIT. Again, I recommend you check the Save in Template History?: YES box and press the Save & Reload button, before editing, in case you want to go back to your previous template. FIND around line 55: Code:
<if condition="$post['rank']"><div class="smallfont">$post[rank]</div></if> *IMPORTANT: As usual, you must replace field99 with the field Name of your newly created field in two locations in the following code: Code:
<if condition="$post['field99']"><div class="smallfont">$post[field99]</div> <else /> <if condition="$post['rank']"><div class="smallfont">$post[rank]</div></if> </if> * The following step 6 only applies if you are using the postbit_legacy. If not, you can skip down to step 7. 6. In Admin CP > Styles & Templates > Style Manager, selct your current style and Edit Templates. Select postbit_legacy and press Customize or EDIT. Again, I recommend you check the Save in Template History?: YES box and press the Save & Reload button, before editing, in case you want to go back to your previous template. FIND around line 45: Code:
<if condition="$post['rank']"><div class="smallfont">$post[rank]</div></if> *IMPORTANT: Again, for the last time, you must replace field99 with the field Name of your newly created field in two locations in the following code: Code:
<if condition="$post['field99']"><div class="smallfont">$post[field99]</div> <else /> <if condition="$post['rank']"><div class="smallfont">$post[rank]</div></if> </if> Now, you are basically finished with the install, but to test it out, go on to the last step: 7. Upload a new image for your Custom Rank Image to your server by your preferred method, FTP, Gallery, Photopost, Photoplog or whatever. OR you can just use one of your existing rank images to test. In Admin CP > Users > Search for Users, input the User Name and press Exact Match. Now, scroll down to the User Profile Fields, and you should have an input field called Custom Rank Image. In that field, enter the full URL to your test rank image within IMG tags: [IMG]http://www.yourdomain.com/forum/images/ranks/testrank.gif[/IMG] Then SAVE. Now, view that user's Public Profile and look at some of their posts to confirm that the new custom rank image is showing up. If it is, then you're done. To set a Custom Rank Image for another user, just repeat the above procedure, adding an IMG link to that user's Custom Rank Image User Profile Field in the Admin CP > User Manager. To remove the custom rank image, just clear the value of Custom Rank Image in the User Profile Field and save. Then the users rank image should revert to whatever it was before, as determined by their standard usergroup rank display settings. If not, double-check all the steps again and make sure you don't have any typos. Also make sure you don't already have other hacks installed that might cause a conflict. END of Install ------------- ------------- TO UNINSTALL (untested): Reverse the Template edits above, delete the 2 Plugins you added and delete the new User Profile Field you created. ------------------------------------------------- I have only tested the configuration above, but it might be possible to set Field Editable by User: YES and allow users to set their own rank images. I cannot say if that will work or not, and unless you had some way to control the size of the users linked image, it might break the formatting of your threads. UPDATE: Another untested alternative use occurs to me: If you change the <if><else/></if> to a discreet <if></if> in each template edit around the line that displays your Custom Rank Image profile field, you could use this as a second or additional rank above, below or beside your existing usergroup ranks. UPDATE: Added a textfile with instructions. Please excuse the formatting. Also added screenshots of the new User Profile Field option in the Admin CP and a before and after shot. UPDATE: Added Step 0, to make sure you have the vBulletin Plugin System enabled on you forum. UPDATE: This code will NOT work as-is on 3.5.0 boards. See trackpads' post Spoiler (click to open)
Got it!
Using this guide: http://www.vbulletin.org/forum/showt...bbcode+parsing I realized that since I am using 3.5 core then the codes are different, I changed it to this and it worked like a charm! Code:
if ($post['field29']) { if (!is_object($bbcode_parser)) { require_once(DIR . '/includes/class_bbcode.php'); $parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list()); $parsed_text = $parser->do_parse($text, $do_html, $do_smilies, $do_bbcode, $do_imgcode, $do_nl2br, $cachable); } $post['field29'] = $parser->do_parse($post['field29']); } Close
I'm a beginner at this stuff, so I'm not sure how much help I can be troubleshooting or improving the hack, but maybe some more experienced coders will be able to come up with the answers. Please click if you use this hack. -------------------------------------------------- *The basic plugin code for steps 2 and 3 of this hack was originally posted HERE Spoiler (click to open)Close
Download This modification is archived and cannot be downloaded. Screenshots
|