vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Adding PHP to the header (https://vborg.vbsupport.ru/showthread.php?t=102187)

rootnik 12-04-2005 05:26 AM

Adding PHP to the header
 
I have a set of PHP scripts that formats and displays dynamic xml data in nice little HTML tables...

I want to include these in my header.

I've searched around and found how to add the PHP to templates, but I can't find the actual PHP file the header is in.

If I read everything correctly I want to add this:

PHP Code:

<?php
ob_start
();
include 
'displayxml.php';
$displayxml ob_get_contents();
ob_end_clean()
?>

to WHAT file?

(and then place $displayxml in my header template)

Marco van Herwaarden 12-04-2005 06:55 AM

You can put this in a plugin (except the php open and close tags) in the 'global_start' hook location.

rootnik 12-04-2005 02:32 PM

Hi,

Thanks for the lead.

This is what I have right now as a plugin (in global_start):

PHP Code:

ob_start();
$xml_file "/home/path/to/info/data.xml";
echo 
"<table border=0 cellpadding=5>";


function 
startElement($parser_instance$element_name$attrs) {
    switch(
$element_name) {
        case 
"LABELONE"     :    echo "<tr><td>";
                            break;
        case 
"VALUE" :    echo "<td>";
                            break;
        case 
"LABELTWO" :    echo "<a";
                            break;
     }

 }
function 
characterData($parser_instance$xml_data) {
    echo 
$xml_data;

 }
 
function 
endElement($parser_instance$element_name) {
    switch(
$element_name) {
        case 
"LABELONE"     :    echo "";
                            break;
       case 
"VALUE"   :    echo "</td>";
                            break;
       case 
"LABELTWO" :    echo "></a></td></tr>";
                            break;
    }

 }
 
$parser xml_parser_create();
xml_set_element_handler($parser"startElement""endElement");

 
xml_set_character_data_handler($parser"characterData");
if (!(
$filehandler fopen($xml_file"r"))) {
    die(
"could not open XML input");

 }
while (
$data fread($filehandler4096)) {
    if (!
xml_parse($parser$datafeof($filehandler))) {
        die(
sprintf("XML error: %s at line %d",
                    
xml_error_string(xml_get_error_code($parser)),
                    
xml_get_current_line_number($parser)));
    }

 }
fclose($filehandler);

 
xml_parser_free($parser);
echo 
"</table>";
$displayxml ob_get_contents();
ob_end_clean() 

Now I should be able to put $displayxml in the header template and it will spit out my html, correct? Because it isn't showing anything at all...

The PHP works standalone, or if I include it in one of my own pages. If you are interested in seeing what this ugly mess of code spits out, it is right here ;) http://www.friendcodes.com/forums/te...d_mkdsTOP5.php

Marco van Herwaarden 12-04-2005 04:20 PM

Try putting a 'global $displayxml;' somewhere in your script (before the assignment of $displayxml).

rootnik 12-04-2005 04:39 PM

That was it!

Thank you so much


All times are GMT. The time now is 05:17 PM.

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.02078 seconds
  • Memory Usage 1,736KB
  • 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
  • (2)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (5)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