The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
custom plugin that calls custom php, but only want php to fire on custom template?
Here's the scenario:
I made a custom php script that does some processing. I wanted to perform this processing only when a custom page was called. The PHP process is also outputting some HTML and other stuff that has to be displayed on the custom template. To do this, I created a custom plug that is called on 'global_start'. It looks like this: Code:
ob_start(); include('MYCUSTOMCODE.php'); $includedphp = ob_get_contents(); ob_end_clean(); Code:
$stylevar[htmldoctype] <html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]"> <head> $headinclude <title>$vboptions[bbtitle] - $vbphrase[image_veri]</title> </head> <body> $header $navbar $includedphp $footer How do I make this custom PHP only fire when the custom template is being called? |
#2
|
||||
|
||||
Where is this custom template being called? If it's in a custom php page, then take that code out of the global_start plugin and just put it directly in your custom php page.
|
#3
|
|||
|
|||
I tried that. It didn't work because the html output code from the PHP script interfered with the html in the custom template and the resulting page was FUBAR.
I actually have two custom PHP pages: the "standard" custom one (A) that calls the custom template, and the PHP script (B) that does all of the processing I need which also includes some HTML & Javascript output. (B) script is the one being loaded by global_start plug in that is also referenced in the custom template being called by php (A). Either I'm not smart enough to do it the way you suggested, or it was just implemented wrong. Regardless, I couldn't get that to work. --------------- Added [DATE]1256791419[/DATE] at [TIME]1256791419[/TIME] --------------- Here's a copy of the fairly standard PHP script (B) that's calling the custom template. Code:
<?php // ######################## SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); // ##################### DEFINE IMPORTANT CONSTANTS ####################### // change the line below to the actual filename without ".php" extention. // the reason for using actual filename without extention as a value of this constant is to ensure uniqueness of the value throughout every PHP file of any given vBulletin installation. define('THIS_SCRIPT', 'mystuff'); // #################### PRE-CACHE TEMPLATES AND DATA ###################### // get special phrase groups $phrasegroups = array(); // get special data templates from the datastore $specialtemplates = array(); // pre-cache templates used by all actions $globaltemplates = array( // change the lines below to the list of actual templates used in the script 'mystuff', ); // pre-cache templates used by specific actions $actiontemplates = array(); // ########################## REQUIRE BACK-END ############################ require_once('./global.php'); // #################### HARD CODE JAVASCRIPT PATHS ######################## $headinclude = str_replace('clientscript', $vbulletin->options['bburl'] . '/clientscript', $headinclude); // ######################################################################## // ######################### START MAIN SCRIPT ############################ // ######################################################################## $navbits = array(); // change the line below to contain whatever you want to show in the navbar (title of your custom page) $navbits[$parent] = 'My Stuff'; $navbits = construct_navbits($navbits); eval('$navbar = "' . fetch_template('navbar') . '";'); // change the line below to contain the name of the actual main output template used in your script eval('print_output("' . fetch_template('mystuff') . '");'); ?> |
#4
|
||||
|
||||
Without seeing what you had tried before, I don't have any idea what went wrong. However, if you want to do it via the plugin method, you could put a condition around it:
PHP Code:
|
#5
|
|||
|
|||
That worked perfectly. THANK YOU. I tried something like that before, but I had the syntax screwed up.
You're my hero today |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|