Welcome to vBulletin Guru!


vBulletin is arguably the best community forum software available today. vBulletin Guru is here to offer both free advice on how to successfully build, customize and manage your forum based website as well as offer advice and resources for more advanced topics of forum management such as SEO (Search Engine Optimization), community growth and monetization.

Archive for vBulletin Developer blogs

Feb
03

Securing your vBulletin Forums (Part 1)

Posted by: | Comments Comments Off
As time passes on, websites and the software behind them get more complex and intertwined. It really wasn’t long ago that a websites consisted of a series of static webpages with minimal user interaction. Today’s websites however are all about user interaction and user submitted content. When you allows users to post content on your website, it starts to get complicated. I am going to write a series of articles to help you secure your portion of the World Wide Web and limit malicious intent on your website.

Please note the following primarily covers Linux, Unix and derivative systems. Windows handles file permissions differently.


File Permissions

Out of the box vBulletin doesn’t really care about file permissions that much. The software is configured to store everything in your database and works with the web server’s default permissions. However you can tighten this up a little to protect yourself and the users that visit your website.


Click image for larger version. 

Name:	typicalstructure.png 
Views:	213 
Size:	14.1 KB 
ID:	57792

The image above shows what a typical website directory looks like when you first connect. If you look at the columns on the right, you will see the permissions and ownership of the files.

The basics
When we talk about File Permissions, you’ll hear a lot of numbers. It is sometimes confusing to understand what these numbers mean. You might see something like chmod 777 or chmod 755. These can be confusing.
These numbers refer to three permissions: read, write and execute.

Permission Value
Execute 1
Write 2
Read 4



When you add up the values, you get the number that you should assign. So if the value is 7, then all three permissions are granted.
The numbers are given to three different groups of users as well. Those groups are: Owner, Group, Public/World. They are represented in that order. Naturally the owner should have the most permissions and the Public should have the fewest. These are shown in respective order from left to right.

Here is what a basic vBulletin installation might look like:
Click image for larger version. 

Name:	basicpermissions.png 
Views:	232 
Size:	12.8 KB 
ID:	57793



777 – grants Read, Write and Execute permission to Owner, Group and Public.
755 – grants Read, Write Execute to the Owner plus Read and Execute permissions to the Group and Public.
644 – grants Read and Write to the Owner plus Read permissions to the Group and Public.



So what should you do?
Of course you want the most secure permissions possible but still want to allow your site to work. In this case, you want to use the 644 permissions on your PHP files if you can. This means you can write to your files, via FTP, SCP or SFTP, but others cannot. It means you can read your files. The Group and World can read the files, which allows them to work properly on most systems. Your directories will probably need a minimum of 755 to work properly. More about this later.
Unfortunately, some hosting providers do not allow this permission to be used due to their setup. They may require 755 which adds in the Execute permission in order for PHP scripts to work properly. If you change your PHP scripts to the 644 permission and your site breaks, you will need to change them back to the 755 permission.

File Directories
File Directories are special in that they need to be “Executed” to be opened, get directory listings and find files in them. This is why they need at least the 755 Permission. If you are storing attachments, custom avatars or other uploads in the file system, the directories that you are using to store these items need to have full permissions 777. The reason for this is that the web server can run under a user that is different from the user that you manage files with. A lot of times the web server us handled by a background user named ‘nobody’. Though this isn’t always the case. Unfortunately, we can’t go over every type of server configuration here.


How to Change Permissions
chmod is a command-line utility. Unfortunately unless you’re on a Dedicated or Virtual Private Server (VPS), you probably do not have access to the command line to use it. Luckily for us, the FTP protocol allows us to change file permissions as well. In most FTP clients, you can pull up a context menu that gives you various actions to take on an item. You can access the context menu by right-clicking your mouse or click-hovering your mouse over the item. The item you’re looking for is permissions. Selecting this will allow you to change the permission for the selected item(s).

Here is an example of what the context menu might look like:

Click image for larger version. 

Name:	contextmenu.png 
Views:	189 
Size:	17.8 KB 
ID:	57794





If you do have shell or command line access, then you can use a command like:
chmod 644 *.php
chmod 644 *.js

Click image for larger version. 

Name:	chmod644.png 
Views:	211 
Size:	11.3 KB 
ID:	57795



The desired permissions are:
Files – 644 then 755 if required by your hosting provider.
Directories – 755
User Upload Directories – 777

Next Time
Part II will cover securing your directories to make access more difficult for trouble makers. Future installments will cover secure attachment storage in the file system and how to make sure your plugins are safe.
Comments Comments Off
Dec
30

vBulletin 4.1.10 "Remove Orphan Stylevars" Tool

Posted by: | Comments Comments Off
In vBulletin 4.1.10, we added a new "Remove Orphan Stylevars" tool (VBIV-8845) to clean up any orphan or deprecated stylevar data that exists on your installations. The new tool is located at:

Admin CP -> Maintenance -> General Update Tools -> Remove Orphan Stylevars (at the bottom of the list)

To ensure your stylevar list is always clean from any deprecated stylevar, it is recommended that you run this tool after each upgrade, especially after the 4.1.10 upgrade: there were 109 stylevars removed in 4.1.10 over 4.1.9, thus you will have 109 deprecated stylevars after upgrading to 4.1.10, and if you also went through all previous vB4 versions, you've most likely cumulated over 200 deprecated stylevars.

Running the tool will one-click remove:
  • Any deprecated vBulletin default stylevar - These can exist only on upgraded forums. If a stylevar existed as default in the master style of a previous vBulletin version, and you upgrade to a newer version where the stylevar no longer exist in the master style, it won't be "hard-removed" from your board by the upgrade script, because there is the possibility that it is used in your custom styles or in custom CSS you may have added, so "hard-removing" it would most likely do more harm than good.
  • Any oprhan custom product stylevar - If a custom product had stylevars associated with it, the stylevars were not being removed upon product uninstall. This was an issue resolved in 4.1.10, however the stylevars of products removed before upgrading to 4.1.10 would still be there.
  • Any orphan custom style stylevar value - This means, any stylevar that exists only in custom styles but not in the master style. These are oprhan data that still exist in your database but that cannot be viewed/edited anywhere. A typical situation that could create these is importing a style that was made for a different vB version than the one you're using: if a stylevar that was customized existed only in that version, it will create an orphan stylevar record when you import the custom style.

The phrases associated to any stylevar that this tool removes will be removed as well.
Before running the tool, ensure you don't actually need anymore any of the orphan or deprecated stylevars, and that custom CSS you may have added is not referencing any of them.
Comments Comments Off
Dec
29

4.1.10 Hooks : Part 2

Posted by: | Comments Comments Off
Its now a few weeks since my original post about hooks being added to vBulletin 4.1.10

The list is basically now final - all the following have been added & approved.

Its not really practical to give details about each hook, but every hook has been added due to a user request, and more information about the request can be viewed by following the link to the original Jira. I/We will try and answer any specific questions on them, but cannot always guarantee a quick answer.


BLOG HOOKS

blog_fetch_bloginfo_query   (VBIV-13559)
blog_trackbackdata_presave_start   (VBIV-11785)
blog_post_updateentry_complete   (VBIV-12417)

blog_latest_blogs_entry   (VBIV-10131)
blog_latest_blogs_query   (VBIV-10131)
blog_latest_comments_entry   (VBIV-10132)
blog_latest_comments_query   (VBIV-10132)
blog_rated_blogs_entry   (VBIV-13615)
blog_rated_blogs_query   (VBIV-13615)


CMS HOOKS

vbcms_content_publish_editor   (VBIV-11016)
vbcms_nodeview_start   (VBIV-12603)
vbcms_nodeview_complete   (VBIV-12603)
vbcms_widgets_start   (VBIV-12603)
vbcms_widgets_complete   (VBIV-12603)
vbcms_process_widget_start   (VBIV-12603)
vbcms_process_widget_complete   (VBIV-12603)


CORE HOOKS

album_picture_query   (VBIV-12697)
album_picturelist_query   (VBIV-12693)
attachment_process_start   (VBIV-13117)
bbcode_img_match   (VBIV-13056)
strip_bbcode   (VBIV-12601)
css_complete   (VBIV-8691)

fb_opengraph_array   (VBIV-7521)
fb_canonical_url   (VBIV-10193)
fb_auto_register   (VBIV-10193)
fb_import_form   (VBIV-10193)
fb_profile_info   (VBIV-10193)
fb_publish_message   (VBIV-10193)
fb_publish_checkbox   (VBIV-10193)
fb_like_button   (VBIV-10193)
fb_import_form_data   (VBIV-10193)

friendlyurl_geturl   (VBIV-11338)
friendlyurl_clean_fragment   (VBIV-11338)
xmlrpc_verify_pingback   (VBIV-11785)
admin_joinrequest_process_start   (VBIV-13659)
admin_joinrequest_process_complete   (VBIV-13659)
admin_joinrequest_view_start   (VBIV-13659)
admin_joinrequest_view_bit   (VBIV-13659)
admin_joinrequest_view_complete   (VBIV-13659)
group_create_edit   (VBIV-9613)
group_updatedgroups_query   (VBIV-8651)
online_user_count   (VBIV-12392)

search_criteria_gethash   (VBIV-8821)
search_getnew_start   (VBIV-4699)
search_getnew_process   (VBIV-4699)
search_getnew_complete   (VBIV-4699)
search_addnew_filter   (VBIV-4699)
search_results_thread_start   (VBIV-4699)
search_results_thread_process   (VBIV-4699)
search_results_thread_complete   (VBIV-4699)
search_prepare_render   (VBIV-8739)
search_validated_list   (VBIV-8739)
search_pref_defaults   (VBIV-8739)
search_listui_complete   (VBIV-8739)
search_advanced_filters   (VBIV-8739)
search_dbquery_info   (VBIV-8739)

showgroups_forumleaders   (VBIV-9365)
sitemap_admin_start   (VBIV-10090)
sitemap_forum_row   (VBIV-10090)
sitemap_blog_row   (VBIV-10090)
sitemap_cms_row   (VBIV-10090)
sitemap_admin_complete   (VBIV-10090)

page_templates   (VBIV-11967)
template_render_output   (VBIV-12522)
cache_templates_process   (VBIV-12522)
fetch_template_start   (VBIV-13825)
fetch_template_complete   (VBIV-13825)

threadmanage_deletethread   (VBIV-4578)
threadmanage_dodeletethread   (VBIV-4578)
threadmanage_domanagepost   (VBIV-4578)
threadmanage_mergethread   (VBIV-4578)
threadmanage_editthread   (VBIV-4578)
threadmanage_move_copy_thread   (VBIV-4578)


TEMPLATE HOOKS

Moved
navbar_quick_links_menu_pos1   (VBIV-13529)
navbar_quick_links_menu_pos2   (VBIV-13529)

Removed
navbar_getnew_menu   (VBIV-13529)
navbar_getdaily_menu   (VBIV-13529)

Added
custom_cms_css_links   (VBIV-13670)
custom_cms_css_list   (VBIV-13670)

navbar_forum_menu_start   (VBIV-13529)
navbar_forum_menu_end   (VBIV-13529)
navbar_getnew_menu_start   (VBIV-13529)
navbar_getnew_menu_end   (VBIV-13529)
navbar_getdaily_menu_start   (VBIV-13529)
navbar_getdaily_menu_end   (VBIV-13529)

navbar_advanced_search   (VBIV-13529)
navbar_getnew_menu_pos1   (VBIV-13956) [Late bugfix addition]



A few points to note;

The existing core hook threadmanage_managepost was renamed to threadmanage_domanagepost for naming consistancy.
If you have a modification that currently uses threadmanage_managepost, you will need to change the hook name for 4.1.10 onwards.

The following template hooks were replaced ;

navbar_getnew_menu is replaced by navbar_getnew_menu_start & navbar_getnew_menu_end.
navbar_getdaily_menu is replaced by navbar_getdaily_menu_start & navbar_getdaily_menu_end.

Again, any modifications using the old template hooks will need updating to work on 4.1.10 onwards, navbar_getdaily_menu_end & navbar_getnew_menu_pos1 are closest to the old hooks.


navbar_quick_links_menu_pos1 & navbar_quick_links_menu_pos2 have moved slightly, any modifications using these will still work, but note that the menu items added will appear in a slightly different location, so you may want to alter them (use navbar_quick_links_menu_pos3).
Comments Comments Off
Dec
22

4.1.10 StyleVar Changes

Posted by: | Comments Comments Off
In vBulletin 4.1.10, in addition to fixing any know bug affecting the stylevar functioning in the front-end, we've done some changes to make stylevars and the stylevar system in general more usable:


  • Added a description and name phrase to all stylevars. This will help identify what is affected by each stylevar.
  • Reorganized the current grouping of stylevars in stylevar groups in Admin CP. See VBIV-13763 for the details.
  • Removed a bunch of existing stylevars. This was done by both checking if stylevars were actually used (over 30 were found to be unused), and by reviewing and removing a number of stylevars used only in very small areas, in favour of some more general stylevars, but still attempting not to reduce the great customization flexibility provided by stylevars.
  • Added a new "Remove Orphan Stylevars" tool that will allow to cleanup all deprecated stylevars that still exist on your installs. For more details, see the dedicated blog entry.

As a result of the 4.1.10 stylevar changes, there have been a number of stylevars removed, added or renamed. In order to facilitate the upgrade of custom styles, most of the added stylevars and all the renamed stylevars will have their values mapped from the previous stylevars (for the system, a renamed stylevar counts as a stylevar removed, and another added). The aim of mapping is to allow your styles to remain as identical as possible to how they were before the upgrade, by silently doing stylevar updates behind the scenes.

The tables below illustrate which stylevars have been removed, added, renamed and what stylevar values will be mapped into new stylevars. A red table cell background indicates a removed stylevar, a green table cell background indicates a new stylevar, and a blue table cell indicates a renamed stylevar.

vBulletin StyleVars

Removed StyleVars Replacement StyleVars, Mapping & Notes
albumedit_thumbnailedit_width No Replacement
Removed to fix issue VBIV-13564.
albumlist_entry_width No Replacement
This stylevar was unused.
Added assetmanager_attachment_background, no mapping
New stylevar. It controls the background of attachments in the asset manager, which was previously hardcoded.
Added assetmanager_attachment_background_selected, no mapping
New stylevar. It controls the background of selected attachments in the asset manager, which was previously hardcoded.
Added assetmanager_attachment_border, no mapping
New stylevar. It controls the border of attachments in the asset manager, which was previously hardcoded.
Added assetmanager_attachment_color, no mapping
New stylevar. It controls the text color of attachments in the asset manager, which was previously hardcoded.
Added assetmanager_border, no mapping
New stylevar. It controls the border of the asset manager, which was previously hardcoded.
Added assetmanager_panel_background, no mapping
New stylevar. It controls the background of panels in the asset manager, which was previously hardcoded.
Added assetmanager_panel_color, no mapping
New stylevar. It controls the text color of panels in the asset manager, which was previously hardcoded.
Added assetmanager_panel_footer_background, no mapping
New stylevar. It controls the background of panel footers in the asset manager, which was previously hardcoded.
Added assetmanager_panel_footer_color, no mapping
New stylevar. It controls the text color of panel footers in the asset manager, which was previously hardcoded.
Added assetmanager_panel_header_background, no mapping
New stylevar. It controls the background of panel headers in the asset manager, which was previously hardcoded.
Added assetmanager_panel_header_color, no mapping
New stylevar. It controls the text color of panel headers in the asset manager, which was previously hardcoded.
Added assetmanager_resize_background, no mapping
New stylevar. It controls the background of the area between the different panels in the asset manager, which was previously hardcoded.
Added assetmanager_upload_background, no mapping
New stylevar. It controls the background of the file list in the advanced uploader (used by the asset manager and editor Insert Image popup if enabled), which was previously hardcoded.
Added assetmanager_upload_color, no mapping
New stylevar. It controls the text color of the file list in the advanced uploader (used by the asset manager and editor Insert Image popup if enabled), which was previously hardcoded.
attachment_blockquote_caption_color No Replacement
This stylevar was unused.
avatar_height No Replacement
Removed to fix issues VBIV-13218 and VBIV-13596.
Added bbcode_table_border, "Color" mapped from vbcms_wysiwyg_table_borderColor
New stylevar. Allows to control all border properties of tables created with BB code; previously using a CMS stylevar only for the color definition, and referencing a non-existent stylevar for the border width.
block_border
block_color
block_font
block_padding
No Replacement
No Replacement
No Replacement
No Replacement
Removed because unused by default (i.e. all their values were blank), and their customization caused issues because of the too widespread affected areas.
blocksubhead_outline No Replacement
This stylevar was unused.
bodyheader_margin Replaced by and mapped to header_margin
Only a rename. It controls the margin of the header.
button_control_border No Replacement
This stylevar was "duplicating" control_border, which will now control also the areas previously controlled by button_control_border.
calendarwidget_day_font
calendarwidget_daylink_font
calendarwidget_monthnav_background
calendarwidget_monthnav_font
calendarwidget_weekdays_background
calendarwidget_weekdays_border
calendarwidget_weekdays_font
Replaced by and mapped to vbcms_calendarwidget_day_font
Replaced by vbcms_calendarwidget_day_font
Replaced by and mapped to vbcms_calendarwidget_monthnav_background
Replaced by and mapped to vbcms_calendarwidget_monthnav_font
Replaced by and mapped to vbcms_calendarwidget_weekdays_background
Replaced by and mapped to vbcms_calendarwidget_weekdays_border
Replaced by and mapped to vbcms_calendarwidget_weekdays_font
See the six stylevars in the vBulletin CMS StyleVars table for details.
calendar_th_blocksubhead_border No Replacement
This stylevar was usused.
content1_background No Replacement
This stylevar was unused.
content2_background No Replacement
This stylevar was used only to control the background of highlighted days in date pickers. Now it will be controlled by general_hilite_color.
content3_background Replaced by and mapped to bbcode_code_background
This stylevar was used in a few unrelated areas, which could result into problems when customizing it. Its use has been removed from all those areas, except for the background of CODE, HTML and PHP BB code blocks (more details in VBIV-13753).
content_font Replaced by font
Was used only in a couple of unrelated areas for the Font Family definition. Those areas will now use the Font Family definition of font.
control_focus_background Replaced by and mapped to input_focus_background
Only a rename. It controls the background of input fields when they have focus.
Added editor_text_color, no mapping
New stylevar. Controls the text color of the editor, which was previously an hard-coded color.
editor_wysiwyg_table_borderColor
editor_wysiwyg_table_borderSize
Replaced by and mapped "Color", "Units" and "Size" into editor_wysiwyg_table_border
Combined into a single stylevar, now allowing to control all border properties of tables in the WYSIWYG editor.
forum_msg_font Replaced by and mapped to postbit_font
Only a rename. It controls the font in the areas controlled by other postbit stylevars (forum posts, forum announcements, private messages, calendar events and user notes).
forum_sidebar_link_color
forum_sidebar_linkhover_color
Replaced by and mapped to sidebar_content_link_color
Replaced by and mapped to sidebar_content_linkhover_color
They were controlling link color and link hover color in the forum sidebar, now they will control these also in CMS widgets and blog sidebar.
forum_sidebar_time_color Replaced by time_color
This controlled the color of time in the forum sidebar. It will now be controlled by the global time_color stylevar.
foruminfo_header_background
foruminfo_header_border
foruminfo_header_color
No Replacement
No Replacement
No Replacement
These stylevars were unused.
foruminfo_header_font Replaced by mid_fontSize
This stylevar was used only for a CSS position calculation, which now uses mid_fontSize.
forummenu_background
forummenu_border
forummenu_border_radius
No Replacement
No Replacement
No Replacement
These stylevars were unused.
Added general_hilite_color, mapped from imodhilite_backgroundColor
imodhilite_backgroundColor was used to control the background of any highlighted element; it now controls only the background of items selected for inline moderation, and most of the other areas it was affecting will now use general_hilite_color.
image_large_max Replaced by and mapped to attachment_image_large_max
This stylevar controls the maximum size of attached images when they're set to "Large" Size in their Image Settings; it was renamed to make this more clear, and also fixed to work everywhere (previously worked only in editor and CMS).
image_medium_max Replaced by and mapped to image_max_size
This stylevar controls the maximum size of images; it was renamed to make this more clear and differentiate it from the other image_ (now attachment_image_) stylevars, and was also fixed to work across the entire product.
image_small_max Replaced by and mapped to attachment_image_medium_max
This stylevar controls the maximum size of attached images when they're set to "Medium" Size in their Image Settings; it was renamed to make this more clear, and also fixed to work everywhere (previously worked only in editor and CMS).
image_thumbnail_max Replaced by and mapped to attachment_image_thumbnail_max
This stylevar controls the maximum size of attached images when they're set to "Thumbnail" Size in their Image Settings; it was renamed to make this more clear, and also fixed to work everywhere (previously worked only in editor and CMS).
imgdir_gradients No Replacement
This stylevar was used only in couple areas for some hardcoded definitions. They're now no longer hardcoded, and so this made this stylevar redundant.
imodhilite_color No Replacement
This stylevar become unused as part of fixing issues VBIV-3758 and VBIV-12241.
Added input_border, mapped "Color" from mid_border
New stylevar. Allows to control all properties of input field borders, which were previously hardcoded except for the color that was controlled by mid_border.
input_borderColor Replaced by input_border
This controlled the border color of two input fields in the blog area. They will now follow the same stylevar used by any other input field border.
Added input_color, no mapping
New stylevar. Controls the text color of input fields, which was previously an hardcoded color.
Added input_font, mapped from control_font
control_font previously controlled the font of both buttons and input fields. It now controls the font only of buttons, and the font of input fields is controlled by input_font.
lightweightbox_background
lightweightbox_border
Replaced by and mapped to picture_background
Replaced by and mapped to picture_border
The lightweightbox stylevars controlled too many unrelated areas, which could result in issues when customizing them. They controlled the background of the Picture URL input fields in album pictures (now use input_background), the character navigation in the member list (background is now transparent, border is controlled by light_border), the hover effect of breadcrumbs (hover effect removed), and pictures. The last is the only area they still control, with their new name.
member_popupmenu_shadow_color Replaced by shadow_color
This controlled the shadow color of the user name popup menu. It now uses the general shadow_color.
navbar_background_notify Replaced by and mapped to toplinks_hilite_background
This controlled the background of the Notifications menu in the header; toplinks_hilite_background now controls that as well as the background of the other top links when they're hovered over.
navbarsearch_borderWidth
navbarsearch_input_borderColor
Replaced by input_border
Made the navbar search input field follow the same border styling of other input fields.
navbarsearch_padding No Replacement
This stylevar was unused.
Added navbar_menu_height, mapped Height from navbar_tab_size
Controls the height of the navbar menu area, which was previously controlled by the Height value of navbar_tab_size.
navbar_padding Replaced by and mapped to navbar_tab_padding
Only a rename. It controls the padding of the navbar tabs.
navbar_popup_link_background Replaced by popupmenu_link_background and navbar_popupmenu_link_background
This controlled the background of the Notification popup menu rows. They will now follow the new popupmenu stylevars.
Added navbar_popupmenu_link_background, mapped from formrow_background
Controls the background of the navbar popup menu rows.
Added navbar_popupmenu_link_color, mapped from navbar_selected_popup_body_a_Color
Controls the text color of the navbar popup menu rows.
Added navbar_popupmenu_link_hover_background, mapped from imodhilite_backgroundColor
Controls the background of the navbar popup menu rows while being hovered over with the mouse.
Added navbar_popupmenu_link_hover_color, mapped from navbar_selected_popup_body_a_Color
Controls the text color of the navbar popup menu rows while being hovered over with the mouse.
navbar_selected_popup_body_a_Color Replaced by and mapped to navbar_popupmenu_link_color and navbar_popupmenu_link_hover_color
See above for the two new stylevar details.
navbar_tab_linkhover_color Replaced by and mapped to navbar_tab_selected_color
Only a rename. It controls the text color of the selected navbar tab.
navbar_tab_selected_top_width Replaced by and mapped to navbar_tab_selected_top_height
Only a rename. It controls the extra height added above the selected navbar tab.
popupmenu_color Replaced by and mapped to popupmenu_link_color and popupmenu_link_hover_color
See below for the two new stylevar details.
Added popupmenu_height, mapped Height from navbar_tab_size
Controls the height of popup menu rows, which was previously controlled by the Height value of navbar_tab_size.
popupmenu_label_color Replaced by and mapped to popupmenu_color
Only a rename. It controls the text color of items in popup menu that aren't within a popup menu row.
Added popupmenu_link_background, mapped from formrow_background
Controls the background of the popup menu rows.
Added popupmenu_link_color, mapped from popupmenu_color
Controls the text color of the popup menu rows.
Added popupmenu_link_hover_background, mapped from imodhilite_backgroundColor
Controls the background of the popup menu rows while being hovered over with the mouse.
Added popupmenu_link_hover_color, mapped from popupmenu_color
Controls the text color of the popup menu rows while being hovered over with the mouse.
postbit_boxed_background
postbit_boxed_border
postbit_boxed_fontSize
postbit_boxed_padding
Replaced by and mapped to attachment_box_background
Replaced by and mapped to attachment_box_border
Replaced by and mapped to attachment_box_fontSize
Replaced by and mapped to attachment_box_padding
Only renames. These stylevars controls the attachment box display when non-inline attachments are present (in CMS articles, blog entries and forum posts).
postbitlegacy_avatar_border No Replacement
Was blank by default, set a border around avatars in postbit legacy if customized. Removed because this behaviour was inconsistent with any other area of the product.
postbitlegacy_avatar_outline No Replacement
Was blank by default, set an outer line around avatars in postbit legacy if customized. Removed because this behaviour was inconsistent with any other area of the product.
postfoot_separator_color
postfoot_separator_width
Replaced by and mapped "Color", "Units" and "Size" into postbit_foot_separator
Combined into a single stylevar, now allowing to control all properties of the vertical line that separates the different buttons in postbit.
profile_content_friends_list_hover
profile_content_infractions_background
profile_content_infractions_li_hover_background
profile_content_infractions_li_hover_border
profile_content_subsectionhead_color
profile_content_subsectionhead_link_border_bottom
profile_contentheader_border
profile_pagetitle_font
profile_sidebar_avatar_background
No Replacement
No Replacement
No Replacement
No Replacement
No Replacement
No Replacement
No Replacement
No Replacement
No Replacement
These stylevars were unused.
projecticon_box_size
projecticon_size
No Replecement
These stylevars were unused.
restore_font_size No Replacement
This stylevar was unused.
selected_border No Replacement
This stylevar was unused.
shade_deep_color Replace by signature_border and shade_color
This stylevar controlled the line that separates the signature from the post content in post previews (now uses signature_color), and the text of the PM/Email buttons on the site leaders page (now uses shade_color)
shade_mid_color No Replacement
This stylevar was unused.
Added sidebar_content_padding, mapped from vbcms_widget_content_padding
Made vbcms_widget_content_padding a global sidebar stylevar that controls the padding in forum sidebar, blog sidebar and CMS widgets.
Added sidebar_postbit_header_font, mapped from vbcms_widget_postbit_header_font
Made vbcms_widget_postbit_header_font a global sidebar stylevar that controls the font of content titles in forum sidebar, blog sidebar and CMS widgets.
Added sidebar_postbit_small_fontSize, mapped from vbcms_widget_postbit_small_fontSize
Made vbcms_widget_postbit_small_fontSize a global sidebar stylevar that controls the font size of content details (i.e. author, date, etc.) in forum sidebar, blog sidebar and CMS widgets.
texthilite_color Replaced by and mapped to highlight_color
Renamed and fixed to control the text color of highlighted text (whose background is controlled by highlight_background). This previously worked only in the BB code list page.
toolsmenu_bevel No Replacement
Removed to fix part of issue VBIV-12241.
toplinks_form_input Replaced by input_color
Controlled the text color of the login input fields in the header, now follows the same stylevar used for the text color of any other input field.
toplinks_form_input_defaultValue Replaced by shade_color
Controlled the text color of the default text present in the header login input fields, now uses the same stylevar used for any other shaded text.
toplinks_input_login_backgroundColor No Replacement
Controlled the background color of the login button in the header. Was transparent by default.
toplinks_text Replaced by and mapped to toplinks_color
Only a rename. Controls the text color of the top links in the header (in fact, it's just "Welcome," and "Remember Me?").
usercp_forum_icon_legend_background
usercp_forum_icon_legend_border
usercp_forum_icon_legend_top_border
Replaced by blockhead_background
Replaced by blockhead_border
Replaced by blockhead_border
Icon Legends in the Settings page will now use existing Block stylevars to be styled.
wysiwyg_block_background_image No Replacement
Removed to fix issue VBIV-7172.

vBulletin Blog StyleVars

Removed Stylevars Replacement StyleVars, Mapping & Notes
Added vbblog_body_background, mapped from body_background
New stylevar. Controls the body background in the blog, previously controlled by the global body_background.
vbblog_comment_header_color Replaced by body_color
This stylevar controlled the text color of the "Comments" and "Trackbacks" labels when viewing a blog entry.
Added vbblog_entry_background, no mapping
New stylevar. Controls the background of blog entries; is defaulted to transparent, as that background previously was.
vbblog_input_font No Replacement
This stylevar was unused.
vbblog_link_color Replaced by link_color
This controlled the color of linked user names in the blog. This behaviour was incosistent with any other area of the product.
Added vbblog_listrow_background, no mapping
New stylevar. This controls the background of rows in blog lists and in blog category lists, previously hardcoded.
vbblog_sidebar_avatar_maxSize No Replacement
This stylevar was unused.

vBulletin CMS StyleVars

Removed StyleVars Replacement StyleVars, Mapping & Notes
vbcms_article_font
vbcms_article_image_caption_color
vbcms_article_image_caption_font
No Replacement
No Replacement
No Replacement
These stylevars were unused.
vbcms_article_mid_fontSize Replaced by mid_fontSize
This controlled the "X Coments" and "Read More..." text in CMS section pages.
vbcms_article_small_fontSize No Replacement
This stylevar was unused.
vbcms_article_subheader_font Replaced by big_fontSize and font
This controlled the font of the "X Comments" label in the CMS content pages. The font size will now be set by big_fontSize, the rest of the font properties will follow the global font.
Added vbcms_body_background, mapped from body_background
New stylevar. Controls the body background in the CMS, previously controlled by the global body_background.
Added vbcms_calendarwidget_day_font, mapped from calendarwidget_day_font
Previosuly classified as a vBulletin core stylevar, this actually was working just in the CMS area. It controls the font of days in the CMS calendar widget.
Added vbcms_calendarwidget_monthnav_background, mapped from calendarwidget_monthnav_background
Previosuly classified as a vBulletin core stylevar, this actually was working just in the CMS area. It controls the background of the month navigation in the CMS calendar widget.
Added vbcms_calendarwidget_monthnav_font, mapped from calendarwidget_monthnav_font
Previosuly classified as a vBulletin core stylevar, this actually was working just in the CMS area. It controls the font of the month navigation in the CMS calendar widget.
Added vbcms_calendarwidget_weekdays_background, mapped from calendarwidget_weekdays_background
Previosuly classified as a vBulletin core stylevar, this actually was working just in the CMS area. It controls the background of week days in the CMS calendar widget.
Added vbcms_calendarwidget_weekdays_border, mapped from calendarwidget_weekdays_border
Previosuly classified as a vBulletin core stylevar, this actually was working just in the CMS area. It controls the border of week days in the CMS calendar widget.
Added vbcms_calendarwidget_weekdays_font, mapped from calendarwidget_weekdays_font
Previosuly classified as a vBulletin core stylevar, this actually was working just in the CMS area. It controls the font of week days in the CMS calendar widget.
vbcms_editor_border Replaced by input_border
This stylevar controlled the border of all input fields in the CMS. Now follows the same stylevar that controls the border of all other input fields.
vbcms_editor_small_fontSize
vbcms_editor_tiny_fontSize
No Replacement
No Replacement
These stylevars were unused.
vbcms_error_color No Replacement
This stylevar was unused.
vbcms_widget_content_padding
vbcms_widget_postbit_header_font
vbcms_widget_postbit_small_fontSize
Replaced by and mapped to sidebar_content_padding
Replaced by and mapped to sidebar_postbit_header_font
Replaced by and mapped to sidebar_postbit_small_fontSize
See the three stylevars in the vBulletin StyleVars table for details.
vbcms_wysiwyg_table_borderColor Replaced by and mapped "Color" into bbcode_table_border
See bbcode_table_border in the vBulletin StyleVars table for details.
Comments Comments Off
Nov
23

Introduction to basic concepts for using vBulletin.

Posted by: | Comments Comments Off
In this blog, and going forward in future blog posts we’re going to discuss basic concepts and work flow of vBulletin. There are very basic concepts of using the software that often get confused, interpreted wrongly, or you end up trying to going against what the normal workflow would be.

What is vBulletin, and how does it work?

vBulletin is a PHP and MySQL application. In its most basic form we have two parts to the software, the files which contain php programing, and the database which stores our information. It is important to understand that your vBulletin php files are the way that we (everyone who uses your site) interacts with the database. They do not hold any of your posts, threads, comments, articles, pictures, etc. One file does hold some very important information, which is the config.php file. This file holds all of the database connection information. You should keep a backup of this file, just in case you delete it or it gets mangled or destroyed somehow.

Users access vBulletin's files via the webserver, the files interact with the database to display the databases contents


The most important thing to take away from this is that your database is 99% of your vBulletin installation. It is very important to keep backups, be willing to use them, and make sure they’re in good working order so when and if something bad happens you can get your site back on its feet ASAP. Often we have customers who keep backups do not check to make sure they’re in good working order, or want to go through great lengths to try not to lose a few days of content. We are sympathetic to your issue at hand that something has gone wrong and you don’t want to lose anything if at all possible. But if the fix is going to take an equal number of days to the lost content, what is worse: Forum down for 3 days, or losing 3 days of posts/threads?

Common misconceptions

There are a few common misconceptions we run into while providing support for vBulletin and that I’d like to take the time to explain here since we’re talking about the basics. These two are the big offenders: “clean” upgrades and moving servers. We’ve talked about the fact that your board is 99% in the database, this means that if you’re moving servers you need to move the database. There is no need to install the software on the new host in the sense of when you did your first vBulletin installation. Your database backup contains all of the vital information, as well as instructions for MySQL to accurately recreate all of its stored information.

The same is true for “clean” installations. Often you have a lot of old addons, or you’re going from one major version to another. You think to yourself “I will install a new version of vBulletin and then restore my database!”. The problem with this is that you’ve just destroyed all of the work you did to your clean install, and created a monster of a hybrid database. You’ve got tables and schemas with the new version of vBulletin, and your old data. It will be almost impossible to upgrade this database, or even repair it and get it in working order.

Maintenance tools and what they’re there for.

vBulletin has a fairly wide set of tools available to help fix things, should they go wrong, or if something needs to be repaired. But it is very important to understand when you should run them if at all. The two big tools we’re going to talk about today are the MySQL repair and optimize commands that are featured in the software. Often people associate repair and optimize with a way to speed up their site when nothing is actually wrong with it. It’s important to understand what each does and why you should and shouldn’t run them.

Repairing a crashed table

The Repair function is present because sometimes, fairly rarely, a table in the database will crash. Here are some of the reasons why a table may crash, but be aware this is not a comprehensive list:



  • Hardware failure
  • Power failure
  • MySQL crashed, or went down during a query that had not finished.
  • External programs altering the MySQL data files.


Your site may be displaying a page that lets users know that the database has had a problem and someone has been alerted. If you’re running older versions of vBulletin, or are logged in and can be recognized as an administrator, you can view the source of the page and see the true error message. If you cannot be recognized as an administrator, you should have had an email sent to the {techemail} in your config.php with a copy of the whole database error. It’s important to get these error messages, they help you or the vBulletin staff help figure out what the real problem is so we can get it fixed.

Code: [View]
MySQL Error : Table './database_name/post' is marked as crashed and should be repaired
Error Number : 145
In this specific example, the post table has crashed, and needs to be repaired. Since you’re an administrator and can still likely login to the forum, your first steps would be to go to AdminCP > Maintenance > Repair / Optimize tables > Find and select the post table, and choose the repair option and click continue

It may take several times to fully fix the table. Hopefully it gets repaired, in a worst case scenario you may need to restore a complete backup.

It is very important to note that if the database is not crashed, you should not ever run the repair table tool. While it should not cause any damage to a table normally, it might, or it might cause the table/database to lock and cause MySQL issues. The repair function in some cases will remove data from the table to fix it.

Optimizing your tables

This is another function that shouldn’t need to be run much if ever, and isn’t fully supported for all table types. Optimize is only supported for vBulletin’s needs for the MyISAM table, MEMORY/HEAP, and InnoDB are not supported normally and you should not ever need to run the optimize function on them.

The only case optimize is really needed is if you’ve removed (completely, so hard delete) a large amount of information from the database, either overtime or all at once. For example over the last year you’ve removed 10,000 posts and users. You may want to run an optimize command on the post and user tables to help MySQL reclaim some space it is still holding onto. You can run it just like we went over the repairing the post table in the previous section but you should choose optimize instead of repair.

Comments Comments Off
Nov
19

4.1.10 Hooks, Hooks & More Hooks.

Posted by: | Comments Comments Off
Ive spent the last week adding new hooks into 4.1.10

The current [proposed] list has over 50 new hooks, as listed below ;


strip_bbcode
css_complete
template_render_output
cache_templates_process
attachment_process_start
bbcode_img_match

fb_opengraph_array
fb_canonical_url
fb_auto_register
fb_import_form
fb_profile_info
fb_publish_message
fb_publish_checkbox
fb_like_button
fb_import_form_data

friendlyurl_geturl
friendlyurl_clean_fragment

group_create_edit
group_updatedgroups_query

search_criteria_gethash
search_getnew_start
search_getnew_process
search_getnew_complete
search_addnew_filter
search_results_thread_start
search_results_thread_process
search_results_thread_complete

showgroups_forumleaders

sitemap_admin_start
sitemap_forum_row
sitemap_blog_row
sitemap_cms_row
sitemap_admin_complete

threadmanage_deletethread
threadmanage_dodeletethread
threadmanage_domanagepost
threadmanage_mergethread
threadmanage_editthread
threadmanage_move_copy_thread

album_picture_query
album_picturelist_query

vbcms_content_publish_editor

blog_latest_blogs_entry
blog_latest_blogs_query
blog_latest_comments_entry
blog_latest_comments_query
blog_rated_blogs_entry
blog_rated_blogs_query
blog_post_updateentry_complete


There are still a few outstanding requests, and still some template hooks to be looked at.

It should be noted that none have been included in the Alpha RC releases yet, and all of them are subject to change or review, but this should give a good clue to what is being added, and most should find their way to the final release (currently likely to be in mid to late December).
Comments Comments Off
Oct
30

Template Changes in vBulletin 4.1.8

Posted by: | Comments Comments Off
The following Templates have been added or deleted in vBulletin 4.1.8

Templates Added

blog_taglist
forumhome_subforums

Templates Deleted

usercp_groupattentionbit
usercp_groupinvitebit
memberinfo_visitorbit
blog_tagbit
tagbit
threadadmin_easyspam_ipbit
threadadmin_easyspam_userbit
pm_messagelistbit_user
modifyusergroups_groupleader
showgroups_forumbit
forumhome_moderator
forumhome_subforumbit_nopost
forumhome_subforumbit_post
forumdisplay_loggedinuser
forumhome_birthdaybit
forumdisplay_moderator
forumhome_loggedinuser
memberinfo_css
forumhome_markread_script
postbit_reputation


In addition - two changes in 4.1.8 means the following templates have been modified in such a way that you will need to either revert them, or apply the modifications manually. Its possible the template merge system may manage to do this for you during the upgrade.

Templates Modified

vbcms_content_article_page
vbcms_content_article_preview
vbcms_content_phpeval_page
vbcms_content_phpeval_preview
vbcms_content_staticpage_page
vbcms_content_staticpage_preview
blog_sidebar_user_block_visitors
memberinfo_block_recentvisitors
tagbit_wrapper
threadadmin_easyspam
threadadmin_easyspam_skipped_prune
modifyusergroups_nonmemberbit
modifyusergroups_requesttojoin
showgroups_usergroupbit
SHOWTHREAD
FORUMHOME
FORUMDISPLAY
USERCP
pollresult
pm_showpm
pm_messagelistbit
forumhome_forumbit_level1_nopost
forumhome_forumbit_level1_post
forumhome_forumbit_level2_nopost
forumhome_forumbit_level2_post
postbit
postbit_legacy
MEMBERINFO
memberlist_resultsbit
Comments Comments Off
Oct
30

Template Changes in vBulletin 4.1.8

Posted by: | Comments Comments Off
The following Templates have been added or deleted in vBulletin 4.1.8

Templates Added

blog_taglist
forumhome_subforums
reputation_ajaxdisplay

Templates Deleted

usercp_groupattentionbit
usercp_groupinvitebit
memberinfo_visitorbit
blog_tagbit
tagbit
threadadmin_easyspam_ipbit
threadadmin_easyspam_userbit
pm_messagelistbit_user
modifyusergroups_groupleader
showgroups_forumbit
forumhome_moderator
forumhome_subforumbit_nopost
forumhome_subforumbit_post
forumdisplay_loggedinuser
forumhome_birthdaybit
forumdisplay_moderator
forumhome_loggedinuser
memberinfo_css
forumhome_markread_script
postbit_reputation


In addition - two changes in 4.1.8 means the following templates have been modified in such a way that you will need to either revert them, or apply the modifications manually. Its possible the template merge system may manage to do this for you during the upgrade.

Templates Modified

vbcms_content_article_page
vbcms_content_article_preview
vbcms_content_phpeval_page
vbcms_content_phpeval_preview
vbcms_content_staticpage_page
vbcms_content_staticpage_preview
blog_sidebar_user_block_visitors
memberinfo_block_recentvisitors
tagbit_wrapper
threadadmin_easyspam
threadadmin_easyspam_skipped_prune
modifyusergroups_nonmemberbit
modifyusergroups_requesttojoin
showgroups_usergroupbit
SHOWTHREAD
FORUMHOME
FORUMDISPLAY
USERCP
pollresult
pm_showpm
pm_messagelistbit
forumhome_forumbit_level1_nopost
forumhome_forumbit_level1_post
forumhome_forumbit_level2_nopost
forumhome_forumbit_level2_post
postbit
postbit_legacy
MEMBERINFO
memberlist_resultsbit
Comments Comments Off
Get Adobe Flash playerPlugin by wpburn.com wordpress themes