The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
PHP loading at the top of the page when using direct execution?
I can't figure out what in this code is making it break its widget and load at the very top of the page.
It's supposed to take the XKCD info and toss it in a widget, but it breaks out. Here is the code. It's a carbon copy of what gets displayed at http://www.saskforum.ca/xkcd/newest.php HTML Code:
<?php function getNewestXKCD() { $document = new DOMDocument(); // Load the HTML document from xkcd.com. The '@' is to suppress error messages (since there is one!). $load = @$document->loadHTMLFile('http://www.xkcd.com/'); $src = ''; $title = ''; $alt = ''; // If we can connect to the site: if ($load) { // Make an array of all of the image tags in the page. $images = $document->getElementsByTagName('img'); // Go through each image tag to until we find the comic. foreach ($images as $image) { // If it's the one with the comic: if (substr($image->getAttribute('src'), 0, 28) == 'http://imgs.xkcd.com/comics/') { $src = $image->getAttribute('src'); $title = $image->getAttribute('title'); $alt = $image->getAttribute('alt'); break; // We don't need to look anymore. } } // Create output (no need to use the DOM for this part): $return = '<div id="newKXCD" style="text-align:center;"><h1 style="font-size:20px;font-variant:small-caps;font- family:Lucida, sans-serif;font-weight:bold;">'.$alt.'</h1>'; $return .= '<a href="http://www.xkcd.com" style="size:14pt;color:black;text-decoration:none;"><img src="'.$src.'" title="'.$title.'" alt="'.$alt.'" border="0" /></a></div>'; } // If we cannot connect to the site, print an error message. else $return = '<div id="newKXCD" style="text-align:center"><a href="http://www.xkcd.com">Newest XKCD Comic cannot be accessed<br>at this time, please try again later!</a></div>'; return $return; } // End function // Call the function which returns the HTML to display the image echo getNewestXKCD(); // Oh and: Unexpected end tag : a in http://www.xkcd.com/, line: 48 ?> What will it take to make this load within the widget box? --------------- Added [DATE]1273101133[/DATE] at [TIME]1273101133[/TIME] --------------- bump |
#2
|
|||
|
|||
nobody?
|
#3
|
|||
|
|||
bump, will pay $10 via paypal for anyone who can help lead me to a fix here.
|
#4
|
|||
|
|||
ECHO always gets called IMMEDIATELY.
vBulletin is built within variables which are called at the end. Because you are using echo, your widget is being printed first. What you should do instead is call the function through a variable, and then call the variable in the appropriate spot on your page. |
#5
|
|||
|
|||
1. create a new php direct execution widget
2. add this code: PHP Code:
|
#6
|
|||
|
|||
Thanks! PM me where you'd like the donation sent!
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|