PDA

View Full Version : Default BBCode formatting for user's posts (LITE VERSION)


antialiasis
04-10-2006, 10:00 PM
This hack in a nutshell: All users on your forum will be able to add optional BBCode to format all of their posts with.

This was inspired by DarthCow's user setable default BB code formatting for each post hack for vBulletin 3.0, borrows a couple of regular expressions from it and used it for reference in one spot. Everything else is my own.

This version of the Default BBCode hack does not have the "enable or disable default BBcode for individual posts you make" feature. The full hack is located here, but it is a Code Modification. Also go there for screenshots.

Version 1.02: Regular expression bug with colors and fonts fixed.

Version 1.01: Regular expression for "Default BBCode" field edited to support fonts with spaces in them.



ADDITIONAL FEATURES

-choose in your user CP whether to see any default BBCode at all

1 Product install
2 Custom profile fields
1 Template edit (in 2 templates)
2 Plugin edits


INSTALLATION INSTRUCTIONS

1. Download the product and import it.
2. Add two custom profile fields:

Profile field type: Single-line textbox
Title: Default BBCode
Description: You may choose to make a default BBCode formatting for each post. Allowed tags: [b] [i] [u] [left] [right] [center] [font] [color] [size] Please type in only the opening tags.
Max length of allowed user input: Doesn't really matter, but make sure it's enough
Display size: 25
Field Required: No
Field Editable by User: Yes
Private Field: Yes
Field Searchable on Members List: No
Show on Members List: No
Regular expression: ^(\[(b|i|u|left|right|center|font|color|size)(\=(\'|")?(#[0-9a-fA-F]+)?[\w\s]+)?('|")?\])*$
Display Page: Options: Other

(Here you can edit the description and regular expression to allow or disallow BBCode - in the regular expression, just make sure to separate all of them with |.)

Profile field type: Single-selection radio buttons
Title: Show Default BBCode?
Description: Selecting no will cause all posts to be displayed without users' automatic BBCode formatting.
Options: Yes
No
Set Default: Yes
Field Required: No
Field Editable by User: Yes
Private Field: Yes
Field Searchable on Members List: No
Show on Members List: No
Allow user to input their own value for this option: No
Display Page: Options: Thread Viewing

3. Make the following edits:



############## TEMPLATE EDITS ###################

In postbit and postbit_legacy

FIND

$post[message]

REPLACE with

<if condition="$post['dbbcopen'] AND ($bbuserinfo['field234'] == 'Yes')">$post[dbbcopen]</if>
$post[message]
<if condition="$post['dbbcclose'] AND ($bbuserinfo['field234'] == 'Yes')">$post[dbbcclose]</if>

Replace "field234" with your "Show Default BBCode?" field.



################## PLUGIN EDITS ##################

After installing the product, you will have to edit the following plugins:

Set default BBCode for post preview
Default BBCode setup

Find "field6" in both of them and replace it with your "Default BBCode" field.



At this point the installation should be complete. Enjoy!

Snake
04-11-2006, 05:41 PM
Not bad there. ;)

antialiasis
04-11-2006, 06:00 PM
So it's working for you?

Basit
05-18-2006, 08:44 PM
Hi,

Installed it on my forum. But it change all hisotry threads with default font settings which is not good as thats not what user want. They may want to use default settings in most of their threads but not all 1000s of threads they made in last 4-5 years.

Obvious solution is to go for other thread which does provide this functionality that is allow it in thread to select/deselect this option. But I hope you will manage to add this functionality as part of plug-in. Its easy to manage a plug-in than code modifications.

Looking foward to see future versions of this hack.

Regards,

antialiasis
05-18-2006, 09:31 PM
I've gotten better at this, so I might be able to get the full functionality into a product - we'll see about it. Thanks for the comment.

DiverTree
10-03-2006, 01:14 AM
ive been interested in something like this for some time now ... but im new to it all and need to ask ...

Replace "field234" with your "Show Default BBCode?" field.

what is my "Show Default BBCode?":confused:

Zelos
10-03-2006, 08:08 PM
does this still work with 3.6?



ive been interested in something like this for some time now ... but im new to it all and need to ask ...



what is my "Show Default BBCode?":confused: Whatever feild number "Show Default BBCode?" was when you put it in ;)

DiverTree
10-03-2006, 08:14 PM
how do i find my default bbcode?

DiverTree
10-09-2006, 10:23 PM
duh, took me a few ... er, i mean ... a little while, but i figure it out. its the field number that you assign to it when you make it in the profile options. lol. :tired:

DiverTree
12-03-2006, 07:02 PM
i got a problem ... i have my default font set up. i no longer change my font to my prefered font when i make a post.

when i view my own posts my new default shows up, but when others view my posts it shows up like the font your reading now. can you help me fix it so everyone sees the font ive chosen for default? (considering that they have chosen "yes" to "show default font?" in the user cp)

nevermind ... i had the permissions set to private in the control panel ... works like a charm now except that unregistered or users not logged in dont see the users default font.

Greek76
01-12-2007, 08:25 AM
It seems to work its on my profile options but the problem I have is doing the formating correct. So if I want my font to red I would do this?[color="red"]? If so it dont work. Thanks

DiverTree
01-12-2007, 09:45 AM
It seems to work its on my profile options but the problem I have is doing the formating correct. So if I want my font to red I would do this?[color="red"]? If so it dont work. Thanks

try this [color=red]

Greek76
01-12-2007, 04:47 PM
Still dont work could be because Im using 3.6.2.

DiverTree
01-12-2007, 09:17 PM
Still dont work could be because Im using 3.6.2.

i installed it using 3.5.4 and reinstalled it for 3.6.4. it works for me but im not the one that can answer your question about 3.6.2. sorry. are you sure you got all the code mods correct?

Greek76
01-13-2007, 05:28 PM
I followed the instructions and they seemed pretty easy..

DiverTree
01-15-2007, 10:43 PM
I followed the instructions and they seemed pretty easy..i seem to remember that the instructions told me to make one of the fields private. i remember changing something to make it public. im not really sure what though. make sure your usergroups have permission to view it though. it was showing up for admins and not registered users till i fixed the problem

DiverTree
09-16-2007, 02:13 AM
i love this mod ... just installed on a heavily modded vb3.6.8 and its working without problems. :) thanks again!!!

Dave Hawley
09-16-2007, 06:13 AM
I may have misunderstood, but won't allowing users to add BB code mean they could exploit code in a malicious way?

DiverTree
09-16-2007, 01:08 PM
I may have misunderstood, but won't allowing users to add BB code mean they could exploit code in a malicious way?i think you misunderstood ... this lets the users use existing bbcode to set a default font. when the user composes their message, it shows up as a plain veranda font, but when they submit their message ... the coding is automatically added.

a note for future users ... i had to set the "show default font?" profile feild to public, instead of private.

Dave Hawley
09-16-2007, 10:32 PM
Ok, thanks DiverTree, had a feeling I was wrong :)

Joel173
12-14-2007, 07:14 PM
Not working for me on 3.6.8, even with the Show BBCode field set to public.

EDIT: Got it working now, I had missed out an edit, awesome hack :D
EDIT2: When users are using the profile field, they can see others' BBCode, when the aren't, the just see normal text :confused:

DiverTree
04-14-2008, 09:53 PM
works in 3.7.0 RC2 :D :cool:

edit: works in 3.7.0 :)

fateL
05-01-2008, 04:11 AM
works good thanks