Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 01-05-2009, 09:05 AM
jarosciak jarosciak is offline
 
Join Date: Apr 2005
Location: Toronto
Posts: 90
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Problem execute PHP script plug-in ahead of other Vbulletin php code. PLEASE HELP.

Hi everyone,

Upon a customer request, I've created a new plug-in (php script) which based on an ip address, URL forwards people to a different pages of his forum.
(btw. just so you know, upon his instructions, I am unable to use .htaccess mod redirect)

Anyhow, I've referenced this plug-in on a first line of header template and my php script works and does properly redirect visitors, but I experience a very strange behaviour.
Even that my plug-in is a global variable and referenced on a first line of header template, it doesn't execute in a proper sequence, forum always loads first (and completely) and only afterwards person experiences a redirect.

So, how do I execute a php script ahead of any other vbulletin php code?
Please let me know and thanks for your help.

Joe
Reply With Quote
  #2  
Old 01-05-2009, 10:32 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Use init_startup, and kill the script after you set your redirect header.
Reply With Quote
  #3  
Old 01-05-2009, 01:21 PM
jarosciak jarosciak is offline
 
Join Date: Apr 2005
Location: Toronto
Posts: 90
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Could you please contemplate a little more on this.
I am not sure I follow. Thanks a lot for your time.
Any more help you could provide, I really appreciate it.
Reply With Quote
  #4  
Old 01-06-2009, 02:40 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Do you know how to use the PHP header() function?
Reply With Quote
  #5  
Old 01-06-2009, 03:07 AM
jarosciak jarosciak is offline
 
Join Date: Apr 2005
Location: Toronto
Posts: 90
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is still the same problem I mentioned before in another thread.
I need to execute php ahead of any other vbulletin php.
How could header() help me?
Reply With Quote
  #6  
Old 01-06-2009, 03:13 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Create a plugin at init_startup. You use header() to set a redirect header. Then call exit(), and there you go.
Reply With Quote
  #7  
Old 01-06-2009, 10:20 AM
jarosciak jarosciak is offline
 
Join Date: Apr 2005
Location: Toronto
Posts: 90
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I use hmtl redirect to a different URL using the Meta Refresh Tag.
Does it make any difference to use header?
Reply With Quote
  #8  
Old 01-07-2009, 04:22 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Using header(), you do not need any page output, which fixes your issue.
Reply With Quote
  #9  
Old 01-07-2009, 05:15 AM
Bellardia Bellardia is offline
 
Join Date: Jul 2007
Location: Hamilton, Ontario
Posts: 378
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by jarosciak View Post
I use hmtl redirect to a different URL using the Meta Refresh Tag.
Does it make any difference to use header?
A meta redirect needs the page to at least partially load to function.
PHP header() can redirect the browser somewhere else before any html is loaded, this way you'll notice an instant redirect as dismounted said.
Reply With Quote
  #10  
Old 01-07-2009, 09:02 AM
jarosciak jarosciak is offline
 
Join Date: Apr 2005
Location: Toronto
Posts: 90
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great, just tested it and it works like a charm.
Thank you guys, I really appreciate all your help.
Reply With Quote
Reply

Thread Tools
Display Modes

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 06:33 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.04661 seconds
  • Memory Usage 2,239KB
  • 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_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)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