Register Members List Search Today's Posts Mark Forums Read

Thread Tools
Old 02 Aug 2012, 16:24
DetroitYES's Avatar
DetroitYES DetroitYES is offline
Join Date: Mar 2009
Vbulletin Settings: How to utilize Check boxes in option code?

I'm building a product that will append various buttons to the footer area of posts in threads, and blog entries... this may later extend to cms articles and other vbulletin content types...

In the settings for the product, I would like to enable the user to specify which areas get which buttons. For now, since I'm only using 2 options I can do it easily with 4 radio buttons (all, neither, blog only, posts only)... but this model will get over complicated with a third content type so checkboxes would be more ideal...

Can anyone point me in the right direction in how to implement checkboxes in the option code?

I took a peek at the few instances they occur in the default vbulletin options but it didn't yeild much information.

Reply With Quote
Old 02 Aug 2012, 19:50
kh99 kh99 is offline
Join Date: Aug 2009
Real name: Kevin
You can create your own bitfields to use as options by creating an xml file and uploading it to includes/xml (and it has to be named bitfield_something.xml). For example you might have something like this:

Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.

(Note the values are powers of 2 - 1, 2, 4, 8, 16, 32, etc). After putting the file in the includes/xml folder, go to the adminCP and choose Rebuild > Rebuild Bitfields (you don't have to worry about this when installing your product, it's done for you after a product in imported).

Then you also need to create a phrase for each one. The varnames will be the same as the "name" fields, and they should be Phrase Type "Control Panel Options".

Next, when you edit your setting, in the Option Code field you would put bitfield:misc|myoptions, and for "Data Validation Type" select "bitfield". The value of your option will be a number which is the sum of all the options selected (which is why only powers of 2 are used - then each option represents 1 bit when you think of the number as a binary value).

The bit values will be loaded from the datastore and are available (for the example above) in $vbulletin->bf_misc_myoptions, and you can those values with the bitwise AND operator to check if an option is selected. For example, if the varname of the option is 'myoption', you could do this to check them:

Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.

If you search the article section for titles with "bitfields" in them you will find a couple articles with more information. (One of them has a lot of the same info I posted above, but doesn't quite seem to have everything).

BTW, if anyone has anything to add, please do - I figured this out mostly by trial and error so I may have missed some details.

Edit: BTW, I think it may also be possible to just put html code for some checkboxes in the Option Code field and bypass some of these steps.

Last edited by kh99; 02 Aug 2012 at 20:09.
Reply With Quote
Old 03 Aug 2012, 19:12
DetroitYES's Avatar
DetroitYES DetroitYES is offline
Join Date: Mar 2009
holy cow, thanks a ton

I hope the client paid you sufficiently for digging all that out!
Reply With Quote

Similar Threads
Thread Thread Starter Forum Replies Last Post
Miscellaneous Hacks Auto Check Remember Me & Rules Boxes ForumsMods vBulletin 4.x Add-ons 11 15 Mar 2014 22:02

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

New To Site? Need Help?

All times are GMT. The time now is 21:08.

Layout Options | Width: Wide Color: