Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 03-11-2008, 12:40 AM
davide101 davide101 is offline
 
Join Date: Dec 2005
Posts: 100
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Troubleshooting First Plugin - What's the Hook? Why no output?

Note: my last outstanding question is at the bottom. Thanks!

I've implemented a versioning system throughout my global templates (outside of vbulletin). Basically, it's a combination of a php snippet that adds a unique value to the filename based on the last-modified time and an .htaccess rewrite to ignore the extra characters. This guarantees that the browser will always load the latest version of css and javascript files. You can read about this really creative and easy-to-implement process here.

I've created (and activated) the following plugin in global_start. Can anyone tell why it's not outputting anything?

Code:
function autoVer($url){
    $path = pathinfo($url);
    $ver = '.'.filemtime('/home/yadayada/public_html/'.$url).'.';
    echo $path['dirname'].'/'.str_replace('.', $ver, $path['basename']);
}

$bannercss = autoVer('/css/banner.css');

Edit: I'm getting the 'Cannot redeclare autover() in /home/yadayada/public_html/scripts/autoVer.php' error which makes no sense.

Another Update: apparently vB uses a function called autover(). So I changed it to myAutoVer and that error went away. Still, nothing is outputting. Any ideas?

Yet Another Update: The problem may be with my hook. I was using global_start and putting the $bannercss variable in the headinclude template. This outputs nothing. If I select the init hook, then it outputs the correct text but right at the top of the page rather than where the variable is employed. What hook should I be using?
Reply With Quote
  #2  
Old 03-11-2008, 06:00 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You may as well just turn on the No-Cache header option in vBulletin Options. If you do insist on using your method, you need to return the value and not print it.

PHP Code:
function autoVer($url)
{
    
$path pathinfo($url);
    
$ver '.' filemtime('/home/yadayada/public_html/' $url) . '.';
    return 
$path['dirname'] . '/' str_replace('.'$ver$path['basename']);
}

$bannercss autoVer('/css/banner.css'); 
Reply With Quote
  #3  
Old 03-11-2008, 01:41 PM
davide101 davide101 is offline
 
Join Date: Dec 2005
Posts: 100
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you, Dismounted! That was a simple enough mistake on my part.

In regards to the no-cache headers, these are not effective for my purposes. I use three different types of content management systems and some global templates go above all of them. I need to ensure that when I update the template, each client will download a fresh copy. The rest of the time, I want clients to use the cached copy. The board slows down dramatically with no-cache headers on and it's a waste of a lot of bandwidth.

I highly recommend reading about this really clever and easy-to-implement versioning system. For those of us with environments that don't readily lend themselves to versioning, it makes it easy and automatic. What more could you ask for?
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 04:47 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.05875 seconds
  • Memory Usage 2,186KB
  • Queries Executed 13 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_code
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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_postinfo_query
  • fetch_postinfo
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete