vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=4)
-   -   Change Style dropdown on ALL of your vB pages :) (dynamic, +1 query) (https://vborg.vbsupport.ru/showthread.php?t=48596)

KuraFire 02-05-2003 10:00 PM

Change Style dropdown on ALL of your vB pages :) (dynamic, +1 query)
 
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 :)

Dean C 02-06-2003 03:41 PM

Nice hack again Kura :)

- miSt

leviw 02-06-2003 05:06 PM

I guess I dont understand the difference of this drop down compared to others.

Is it that the drop down box is formatted into the header, and thus automatically on all pages including vbhome(lite)?

I also noticed on your page the user count for each style has been deactivated, is this an easy change and what can we do to also deactivate our user count and thus save a query on each page?

Just curious, trying to learn as much about vbulletin as possible and I want to be able to admire all the subtle differences. :p

esfron 02-06-2003 07:35 PM

KuraFire, thanks for this hack.

So far it's alright, everything is working on all vb pages: users and guests can change the style automatically on all pages but the option "User CP/ Edit Options/ Style Set" is not working anymore. It may be a big issue to register as a member: the selected style is not set after the login. The new member have to reset his style in the dropdownbox.

Disturbed 02-10-2003 09:00 AM

installed, thanks :)

Prince3 02-11-2003 03:02 PM

already made a hack like this myself for my own board :) still nice to see someone else made it aswell :) nice hack :p

Travis641 02-16-2003 05:58 AM

Once again, if a user hasnt selected a style, it wont show up in the dropdown - that would be nice to be fixed. :\

Travis641 02-16-2003 07:08 PM

*bump*

Travis641 02-17-2003 04:14 PM

*bump* again

leviw 02-17-2003 05:54 PM

The only fix I've seen for this is to create 1 dummy user for each style.

After the forum has enough users you can go back and delete the extras, but in the meantime thats the quick and easy fix.

Wish I knew enough php to actually solve the problem, but there ya are. :paranoid:

Oxygen 02-19-2003 12:51 AM

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!

Oxygen 02-19-2003 01:06 AM

Place :
$dropdownbox
anywhere in your Home_* templates

gengar003 03-23-2003 01:24 PM

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


All times are GMT. The time now is 02:45 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01081 seconds
  • Memory Usage 1,760KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (7)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (13)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete