Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Change Style dropdown on ALL of your vB pages :) (dynamic, +1 query) Details »»
Change Style dropdown on ALL of your vB pages :) (dynamic, +1 query)
Version: 1.00, by KuraFire KuraFire is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 02-05-2003 Last Update: Never Installs: 13
 
No support by the author.

HACK: Change Style dropdown on ALL of your vB pages (dynamic, +1 query)
BY: KuraFire [www.kurafire.com]
DESCRIPTION: Allows users/guests to change the style on ANY given vB page of yours
DIFFICULTY: Fairly Easy
INSTALL-TIME: 5-10 minutes
STEPS: 8

Demo: www.kurafire.com/thecouch/
Just browse around and try changing the style on various pages

EXTENDED DESCRIPTION:
This hack will put a small drop-down box in your Header template, containing all the styles of your vBulletin forum. This particular version of the hack will do one query to gather all your styles (and the amount of users using each style). There is also a version I released which relies on hardcoding the styles into your global.php so that you don't have one additional query on every pageload, which is the case with this hack.

PROS FOR THIS VERSION:
- the amount of users using each style;
- if you add more styles, it's automatically updated
CONS FOR THIS VERSION:
- one query extra for every page load of your vB
- drop down box is fairly wide (due to count-users addition)


Install instructions are in the attachment. Enjoy / good luck

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #12  
Old 02-19-2003, 12:51 AM
Oxygen's Avatar
Oxygen Oxygen is offline
 
Join Date: Mar 2002
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

So I love this hack, even with the bug in UserCP and User Styles. having to have one member or they do not show (there even may be a fix)

I wanted it to function on my vhHome...
Here is what I did:

in vhHomes global.php (BACK IT UP!!!!!!)

Find :
PHP Code:
// +--------------------------------------------------------------
// | Include sessions
// +--------------------------------------------------------------
include_once( './' $adminpath '/sessions.php' ); 
Above Place:
PHP Code:
//Style Addition
  
if (isset($changestyle)) {
     
$styleid intval($changestyle);
  }
//Style Addition 
Below Place:

PHP Code:
//Style Addition
  
if (isset($changestyle)) {
    if (
$styleid!=&& is_numeric($styleid))
      
$DB_site->query("UPDATE user SET styleid=$styleid WHERE userid=$bbuserinfo[userid]");
  }
//Style Addition 

Find:
PHP Code:
$templatesused.= 'phpinclude,home_headinclude,home_header,home_footer,home_usernameloggedin,home_usernameloggedout,home_error'
Replace with:
PHP Code:
//Style Addition
$templatesused.='header_stylebox,header_styleboxbit,phpinclude,home_headinclude,home_header,home_footer,home_usernameloggedin,home_usernameloggedout,home_error';
//Style Addition 
Find:
PHP Code:
$homeheadinclude '';
$homeheader '';
$homefooter '';
$search '';
$links ''
Above Place:
PHP Code:
//Style Addition
$boxurl $PHP_SELF "?" $_SERVER['QUERY_STRING'];
$boxurl str_replace("s=$session[sessionhash]"""$boxurl);
$boxurl preg_replace("/(&changestyle=(.{0,2}))/"""$boxurl);
$boxurl str_replace("?&""?"$boxurl);
if(
substr($boxurl, -1)!="&"){
    
$boxurl .= "&";
}
$dropdownbits "";

$allstyles $DB_site->query("SELECT style.title, user.styleid, COUNT(*) AS count FROM user LEFT JOIN style USING (styleid) WHERE style.styleid IS NOT NULL AND style.userselect=1 GROUP BY user.styleid");
// this query was thanks to FireFly's hack :)  (credit where credit is due)

while ($thisstyle $DB_site->fetch_array($allstyles)){
    
$stylesel = ($styleid==$thisstyle[styleid]) ? "selected=\"selected\"" "";
    eval(
"\$dropdownbits .= \"".gettemplate('header_styleboxbit')."\";");
}
eval(
"\$dropdownbox = \"".gettemplate('header_stylebox')."\";");
//Style Addition 
Upload and enjoy!
Reply With Quote
  #13  
Old 02-19-2003, 01:06 AM
Oxygen's Avatar
Oxygen Oxygen is offline
 
Join Date: Mar 2002
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Place :
$dropdownbox
anywhere in your Home_* templates
Reply With Quote
  #14  
Old 03-23-2003, 01:24 PM
gengar003's Avatar
gengar003 gengar003 is offline
 
Join Date: Apr 2002
Location: .::|The Matrix|::.
Posts: 181
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hmm.. I installed it, but the dropdownbox is blank, with no styles on it at all....
Reply With Quote
Reply


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

Forum Jump


All times are GMT. The time now is 07:02 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.13868 seconds
  • Memory Usage 2,255KB
  • Queries Executed 18 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (7)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (3)postbit
  • (4)postbit_onlinestatus
  • (4)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete