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

Reply
 
Thread Tools Display Modes
  #1  
Old 12-04-2005, 05:26 AM
rootnik rootnik is offline
 
Join Date: Jun 2002
Posts: 173
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default 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)
Reply With Quote
  #2  
Old 12-04-2005, 06:55 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can put this in a plugin (except the php open and close tags) in the 'global_start' hook location.
Reply With Quote
  #3  
Old 12-04-2005, 02:32 PM
rootnik rootnik is offline
 
Join Date: Jun 2002
Posts: 173
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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($filehandler, 4096)) {
    if (!xml_parse($parser, $data, feof($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
Reply With Quote
  #4  
Old 12-04-2005, 04:20 PM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try putting a 'global $displayxml;' somewhere in your script (before the assignment of $displayxml).
Reply With Quote
  #5  
Old 12-04-2005, 04:39 PM
rootnik rootnik is offline
 
Join Date: Jun 2002
Posts: 173
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That was it!

Thank you so much
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 09:32 PM.


Powered by vBulletin® Version 3.9.0
Copyright ©2000 - 2017, vBulletin Solutions Inc.