I'm having a strange error where calling $templater = vB_Template::create(); in a plugin causes other plugins that utilize template hooks to break.
here is the plugin that calls $templater = vB_Template::create();
product: vBulletin
hook location: global_start
execution order: 5
PHP Code:
include($_SERVER['DOCUMENT_ROOT'].'/_components/globalvars.php');
// Register my_var with the custom template
$templater = vB_Template::create('test_Open');
$resorts = array("a", "b", "c", "d");
$resort = highest_directory(); //called from test_php_functions, which is included on left_sidebar template...
ob_start();
include($_SERVER['DOCUMENT_ROOT'].'/_components/blocks/template_blocks/header.php');
$header_html = ob_get_contents();
ob_end_clean();
ob_start();
include ($_SERVER['DOCUMENT_ROOT'].$site_components.'/blocks/booking-widget.php');
$booking_widget = ob_get_contents();
ob_end_clean();
$templater->register('booking_widget', $booking_widget);
$templater->register('header_html', $header_html);
// Render the custom template
$my_template_output = $templater->render();
// Add the output from the template to the header template
$global_temp = $GLOBALS['header'];
$GLOBALS['header'] = $my_template_output;
$GLOBALS['header'] .= $global_temp;
here is the plugin breaks when the above plugin is active:
product: atdtwt
hook location: showthread_start (also tried global_start)
execution order: 5 (also tried 4 and 10)
I also tried using diffrent template hooks (head
PHP Code:
$atdtwt_js = "\n".'<script type="text/javascript" src="atdtwt_js.php?do=main"></script>'."\n".'<link rel="stylesheet" type="text/css" href="clientscript/atdtwt/main.css" />'."\n";
$template_hook[headinclude_bottom_css] .= $atdtwt_js;
If i change the first plugin to the following, the above plugin will work:
PHP Code:
include($_SERVER['DOCUMENT_ROOT'].'/_components/globalvars.php');
// Register my_var with the custom template
//$templater = vB_Template::create('test_Open');
$resorts = array("a", "b", "c", "d");
$resort = highest_directory(); //called from test_php_functions, which is included on left_sidebar template...
ob_start();
include($_SERVER['DOCUMENT_ROOT'].'/_components/blocks/template_blocks/header.php');
$header_html = ob_get_contents();
ob_end_clean();
ob_start();
include ($_SERVER['DOCUMENT_ROOT'].$site_components.'/blocks/booking-widget.php');
$booking_widget = ob_get_contents();
ob_end_clean();
//$templater->register('booking_widget', $booking_widget);
//$templater->register('header_html', $header_html);
// Render the custom template
//$my_template_output = $templater->render();
// Add the output from the template to the header template
//$global_temp = $GLOBALS['header'];
//$GLOBALS['header'] = $my_template_output;
//$GLOBALS['header'] .= $global_temp;
I was able to isolate $templater = vB_Template::create(); as the problem by clearing out the code in the plugin, and making a call to an empty template (as to ensure the template wasn't the problem)...
PHP Code:
$templater = vB_Template::create('DUMMY');
What's going on, any ideas? This happens in the VB4 default skin. I've just installed vb 4.2.0