PDA

View Full Version : Displaying threads on an external page.. Problems


Chris04S
28 Dec 2008, 07:56
Ok.. I followed the instructions here http://www.vbulletin.com/forum/showthread.php?t=159044 and it says to put the code below in the page

I dont have the <?php code on my page, I renamed my page index.php (it had been index.html) and there is not that code so I tried putting it in the body of the page in the head of the page, none of them worked, should I be calling this from a .css file or something somehow? Any tips?


It says to put this code Near the top of your php page, but after the <?php code include the following:

// ################################################## ####
// ## configuration
// ##
// ## $rss2_file= 'http://www.vbulletin.com/forum/external.php?type=rss2';
// ## Adjust this variable to point to your RSS2 feed

$rss2_file = 'http://www.vbulletin.com/forum/external.php?type=rss2';

// ## configuration end
// ################################################## ####
// ## Do not touch code below!


$is_item = false;
$tag = '';
$title = '';
$description = '';
$link = '';
$date = '';
$author = '';

function character_data($parser, $data)
{
global $is_item, $tag, $title, $description, $link, $date, $author;
if ($is_item)
{
switch ($tag)
{
case "TITLE":
$title .= $data;
break;

case "DESCRIPTION":
$description .= $data;
break;

case "LINK":
$link .= $data;
break;

case "PUBDATE":
$date .= $data;
break;

case "AUTHOR":
$author .= $data;
break;
}
}
}

function begin_element($parser, $name)
{
global $is_item, $tag;
if ($is_item)
{
$tag = $name;
}
else if ($name == "ITEM")
{
$is_item = true;
}
}

function end_element($parser, $name)
{
global $is_item, $title, $description, $link, $date, $author, $rss2_output;
if ($name == "ITEM")
{
$rss2_output .= "<dt><strong><a href='" . trim($link) . "'>" . htmlspecialchars(trim($title)) . "</a></strong> - " . htmlspecialchars(trim($date)) . " by <em>" . htmlspecialchars(trim($author)) . "</em></dt><dd>" . htmlspecialchars(trim($description)) . "</dd>";
$title = "";
$description = "";
$link = "";
$date = "";
$author = "";
$is_item = false;
}
}


$parser = xml_parser_create();

xml_set_element_handler($parser, "begin_element", "end_element");
xml_set_character_data_handler($parser, "character_data");
$fp = fopen($rss2_file,"r");

while ($data = fread($fp, 4096))
{
xml_parse($parser, $data, feof($fp));
}

fclose($fp);
xml_parser_free($parser);

Lynne
28 Dec 2008, 16:48
We don't need to see the code that the article says to add (we can just look at the article to see it), what we need to see is what your whole page looks like - the stuff before and after that code that you added. Please use the code/php/html tags around your code since it makes it easier to read.

Chris04S
28 Dec 2008, 20:45
Hi.. Ok.. here is what I am trying to do...I see this script needs to go on a .php page... so
1) I log into my lunarpages account, I click on the www folder and create a new document, for test purposes I just created a new page called "test" it has a drop down menu and asks if I want this to be a
text document
html document
Perl Script
Shell Script
Text Document

I choose html document.. I name this page test.php .. it then puts a page on the domain called www.xyz.com/test.php .. the page is left blank, the only code in the page is

<html>
<head>
<title></title>
</head>


<body bgcolor="#FFFFFF">

</body>


</html>

Can I input the source code into this page anywhere to make this page show the threads from the forum?

Thanks,
Chris

Lynne
28 Dec 2008, 21:45
See these articles on creating your own vbulletin php page - How to create your own vBulletin-powered page! (uses vB templates) (http://www.vbulletin.org/forum/showthread.php?t=62164) or [How-To] vBulletin API Basics: Creating Custom Pages & Misc. (http://www.vbulletin.org/forum/showthread.php?t=98009)

Once you have created the php page, then follow the instructions in the thread you linked to and then you can put $rss2_output in your template to spit out those lines. Or, you can not use a template and instead do the echo directly in the page as stated in the thread.

Chris04S
28 Dec 2008, 22:50
thank you, for someone who now has developed, owns and maintains a few very successful websites and has been coding for a long time (not vbulletin but regular websites) these instructions are the most poorly written I have ever seen. Not criticizing you Lynn and I appreciate your help, but this is just horrible horrible documentation. I will spend another hour trying to get this, if not.. Ill figure something else out. Thank you.