Log in

View Full Version : external.php code help


grOOvy
11-03-2005, 07:46 AM
I was advised on the official forums to post my problem here.

http://www.vbulletin.com/forum/showthread.php?t=161945

*Edit*: Oops wrong section, can a member of staff please move this thread to the correct section?

-----------------------------------------


Hello,

I used to run a nice news system to export news from a certain forum section onto my main page using external.php. This is what I used on vBulletin version 3.0.7:



else if ($_REQUEST['type'] == 'NEWS')
{

// setup the board title
if (empty($title))
{ // just show board title
$rss_title = clean_text($vboptions['bbtitle'], $strip_bbcode, $strip_html, $post_length, false, false);
}
else
{ // show board title plus selection
$rss_title = clean_text($vboptions['bbtitle'] . " - $title", $strip_bbcode, $strip_html, $post_length, false, false);
}

// echo "Forum Homepage: " . $vboptions[bburl] . "<br>";
// echo "Site Homepage: " . $vboptions[homeurl] . "<br>";
// clean_text($vboptions['description'], $strip_bbcode, $strip_html, $post_length, true, $parse_bbcode);
// Calculate the time zone difference between GMT
$tz = vbdate('O', TIMENOW);
if ($tz == '+0000')
{
$tz = 'Z';
}
else
{
$tz = substr($tz, 0, 3) . ':' . substr($tz, 3, 2);
}

$i = 0;

if (!empty($threadcache))
{
foreach ($threadcache AS $thread)
{
$fp = &$bbuserinfo['forumpermissions']["$forumid"];

// echo "<br><br> --- NEWS PARSED --- <br><br>";
echo "<table width='100%' border='0' cellspacing='1' align='left' id='table1'><tr><td style='border-style: dotted; border-width: 1px' bordercolor='#C0C0C0'><font size='3' face='Arial'><b>" . clean_text($thread[title], false, $strip_html, "full", false, false) . "</b></font></td></tr></table><br>";
// Calculate the time zone difference between GMT
$tz = vbdate('O', $thread[$datefield]);
if ($tz == '+0000')
{
$tz = 'Z';
}
else
{
$tz = substr($tz, 0, 3) . ':' . substr($tz, 3, 2);
}
echo "<br><font color='#C0C0C0'>Posted on " . vbdate('Y-m-d\TH:i:s', $thread[$datefield]) . " by ";
echo "<i>" . clean_text($thread[postusername], false, $strip_html, "full", false, false) . "</i></font><br>";
echo "<a href='" . $vboptions[bburl] . "/showthread.php?t=" . $thread[threadid] . "'>Comments</a><br><br><br>";
// echo parse_bbcode2(clean_text($thread[pagetext], $strip_bbcode, $strip_html, $post_length, false, $parse_bbcode),false,true,false,true) . "<br><br><br><br><br>";
echo parse_bbcode2($thread[pagetext],false,true,false,true) . "<br><br><br><br><br>";
}
}

}
I finally updated my forum to 3.5.1, and cannot get this system to work.

As you can see, I was dependant on the clean_text() function which seems to have been removed all together from the current vBulletin version's external.php file. I copy-pasted the above code into the new external.php, also copy pasted the old clean_text() function somewhere near the top of the file. I also changed:
else if ($_REQUEST['type'] == 'NEWS') to
else if ($vbulletin->GPC['type'] == 'NEWS' AND $vbulletin->options['externalrss']) in order to follow the obfuscated way this new external.php works. However, if I include
external.php?type=news&forumids=29&postlen=full&qty=5&html=yes&bbcode=no like I usually do in my news page, I get a PHP error stating:

Parse error: parse error, unexpected T_STRING in /external.php?type=news&forumids=29&postlen=full&qty=5&html=yes&bbcode=no1 on line 1
I am stuck, any advice or help would be appreciated. If this is not the correct place to seek help, please direct me to where I should ask.

Thank you.

RS_Jelle
11-03-2005, 08:26 AM
You are posting this in the wrong forum :ermm:
This is the forum for coders to release their mods for vBulletin.

KW802
11-03-2005, 02:57 PM
grOOVy, I recognize some of that code. :p

If you want a copy of FPS_EXTERNAL.PHP that works with 3.5.x let me know.... I've got it running on my personal site but haven't released it yet.

grOOvy
11-03-2005, 07:40 PM
grOOVy, I recognize some of that code. :p

If you want a copy of FPS_EXTERNAL.PHP that works with 3.5.x let me know.... I've got it running on my personal site but haven't released it yet.

That would be great, KW802, I would appreciate that. My objective is just having news displayed on my front page taken from first posts of a forum section.

KW802
11-03-2005, 09:21 PM
PM me an email address to send it to and when I get home tonight I'll send it out.

grOOvy
11-03-2005, 10:29 PM
PM me an email address to send it to and when I get home tonight I'll send it out.

Done. Thank you.

Thanks for emailing the file. I put in my news type inside fps_external.php, but I still get the parse error on line 1 @ first post. Any ideas? The only change I did to fps_external.php is add the following at line 425:


// grOOvy
else if ($vbulletin->GPC['type'] == 'NEWS')
{

// setup the board title
if (empty($title))
{ // just show board title
$rss_title = clean_text($vboptions['bbtitle'], $strip_bbcode, $strip_html, $post_length, false, false);
}
else
{ // show board title plus selection
$rss_title = clean_text($vboptions['bbtitle'] . " - $title", $strip_bbcode, $strip_html, $post_length, false, false);
}

// echo "Forum Homepage: " . $vboptions[bburl] . "<br>";
// echo "Site Homepage: " . $vboptions[homeurl] . "<br>";
// clean_text($vboptions['description'], $strip_bbcode, $strip_html, $post_length, true, $parse_bbcode);
// Calculate the time zone difference between GMT
$tz = vbdate('O', TIMENOW);
if ($tz == '+0000')
{
$tz = 'Z';
}
else
{
$tz = substr($tz, 0, 3) . ':' . substr($tz, 3, 2);
}

$i = 0;

if (!empty($threadcache))
{
foreach ($threadcache AS $thread)
{
$fp = &$bbuserinfo['forumpermissions']["$forumid"];

// echo "<br><br> --- NEWS PARSED --- <br><br>";
echo "<table width='100%' border='0' cellspacing='1' align='left' id='table1'><tr><td style='border-style: dotted; border-width: 1px' bordercolor='#C0C0C0'><font size='3' face='Arial'><b>" . clean_text($thread[title], false, $strip_html, "full", false, false) . "</b></font></td></tr></table><br>";
// Calculate the time zone difference between GMT
$tz = vbdate('O', $thread[$datefield]);
if ($tz == '+0000')
{
$tz = 'Z';
}
else
{
$tz = substr($tz, 0, 3) . ':' . substr($tz, 3, 2);
}
echo "<br><font color='#C0C0C0'>Posted on " . vbdate('Y-m-d\TH:i:s', $thread[$datefield]) . " by ";
echo "<i>" . clean_text($thread[postusername], false, $strip_html, "full", false, false) . "</i></font><br>";
echo "<a href='" . $vboptions[bburl] . "/showthread.php?t=" . $thread[threadid] . "'>Comments</a><br><br><br>";
// echo parse_bbcode2(clean_text($thread[pagetext], $strip_bbcode, $strip_html, $post_length, false, $parse_bbcode),false,true,false,true) . "<br><br><br><br><br>";
echo parse_bbcode2($thread[pagetext],false,true,false,true) . "<br><br><br><br><br>";
}
}

}

I then call it on my main page, however receive the following error:
Parse error: parse error, unexpected T_STRING in /external.php?type=news&forumids=29&postlen=full&qty=5&html=yes&bbcode=no1 on line 1