t325
04-08-2007, 03:59 AM
I'm using a combination of the vB code parser tutorial on this forum and some bits of code from vBExternal (don't worry, it's for personal use, I'm not releasing it so no copyright issues or anything) to make something that grabs posts from a certain forum and displays them. But I can't seem to get the parser working.
Here's my code:
<?php
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'vBExternal');
chdir('/home/lpassoc/www/forums');
if( !file_exists('./includes/config.php'))
{
echo "includes/config.php does not exist. Cannot continue.";
exit;
}
require_once('./includes/class_core.php');
require('./includes/config.php');
DEFINE('DIR','.');
DEFINE('TABLE_PREFIX',$config['Database']['tableprefix']);
$vbulletin =& new vB_Registry(); // Fake an OOP Object
switch (strtolower($config['Database']['dbtype']))
{
// load standard MySQL class
case 'mysql':
case '':
{
$db =& new vB_Database($vbulletin);
break;
}
// load MySQLi class
case 'mysqli':
{
$db =& new vB_Database_MySQLi($vbulletin);
break;
}
// load extended, non MySQL class
default:
{
die('Fatal error: Database class not found');
}
}
require_once('./includes/functions.php');
// make database connection
$db->connect(
$config['Database']['dbname'],
$config['MasterServer']['servername'],
$config['MasterServer']['port'],
$config['MasterServer']['username'],
$config['MasterServer']['password'],
$config['MasterServer']['usepconnect'],
$config['SlaveServer']['servername'],
$config['SlaveServer']['port'],
$config['SlaveServer']['username'],
$config['SlaveServer']['password'],
$config['SlaveServer']['usepconnect'],
$config['Mysqli']['ini_file']
);
$vbulletin->db =& $db;
// ---------------------------------------------------
// End Call DB & Establish Connection
// ---------------------------------------------------
// ---------------------------------------------------
// Start Require Globalized Settings
// ---------------------------------------------------
class vBulletinHook { function fetch_hook() { return false; } }
define('TIMENOW', time());
require_once('./includes/class_bbcode.php');
$result = $db->query('SELECT t.title, p.pagetext FROM vbthread AS t LEFT JOIN vbpost AS p ON (t.firstpostid = p.postid) WHERE t.forumid = '.$f.' ORDER BY t.title ASC');
$parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
while ($r = mysql_fetch_array($result)) {
?>
<div style=" background-color: #271c16; padding-top: 5px; padding-bottom: 5px; padding-left: 20px; padding-right: 20px;">
<img src="<?=base_url?>/themes/lpa/images/arrow.gif" /> <span class="lyrtitle">
<?php
echo $r['title'];
?>
</div>
<div style="padding: 16px;">
<?=$parser->do_parse($r['pagetext'], false, true, true, true, true, false)?>
</div>
<?php
}
?>
Probably not the neatest code out there, but it's working, except for the parser. It does do the newline to linebreak conversion, so I know that the parser's taking input, messing with it, and returning it back. But it won't convert bbtags such as url and all of the text formatting ones. There aren't any error messages either (I enabled error_reporting of all messages to check) Any ideas? I'm using vB 3.6.5. Thanks
Here's my code:
<?php
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'vBExternal');
chdir('/home/lpassoc/www/forums');
if( !file_exists('./includes/config.php'))
{
echo "includes/config.php does not exist. Cannot continue.";
exit;
}
require_once('./includes/class_core.php');
require('./includes/config.php');
DEFINE('DIR','.');
DEFINE('TABLE_PREFIX',$config['Database']['tableprefix']);
$vbulletin =& new vB_Registry(); // Fake an OOP Object
switch (strtolower($config['Database']['dbtype']))
{
// load standard MySQL class
case 'mysql':
case '':
{
$db =& new vB_Database($vbulletin);
break;
}
// load MySQLi class
case 'mysqli':
{
$db =& new vB_Database_MySQLi($vbulletin);
break;
}
// load extended, non MySQL class
default:
{
die('Fatal error: Database class not found');
}
}
require_once('./includes/functions.php');
// make database connection
$db->connect(
$config['Database']['dbname'],
$config['MasterServer']['servername'],
$config['MasterServer']['port'],
$config['MasterServer']['username'],
$config['MasterServer']['password'],
$config['MasterServer']['usepconnect'],
$config['SlaveServer']['servername'],
$config['SlaveServer']['port'],
$config['SlaveServer']['username'],
$config['SlaveServer']['password'],
$config['SlaveServer']['usepconnect'],
$config['Mysqli']['ini_file']
);
$vbulletin->db =& $db;
// ---------------------------------------------------
// End Call DB & Establish Connection
// ---------------------------------------------------
// ---------------------------------------------------
// Start Require Globalized Settings
// ---------------------------------------------------
class vBulletinHook { function fetch_hook() { return false; } }
define('TIMENOW', time());
require_once('./includes/class_bbcode.php');
$result = $db->query('SELECT t.title, p.pagetext FROM vbthread AS t LEFT JOIN vbpost AS p ON (t.firstpostid = p.postid) WHERE t.forumid = '.$f.' ORDER BY t.title ASC');
$parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
while ($r = mysql_fetch_array($result)) {
?>
<div style=" background-color: #271c16; padding-top: 5px; padding-bottom: 5px; padding-left: 20px; padding-right: 20px;">
<img src="<?=base_url?>/themes/lpa/images/arrow.gif" /> <span class="lyrtitle">
<?php
echo $r['title'];
?>
</div>
<div style="padding: 16px;">
<?=$parser->do_parse($r['pagetext'], false, true, true, true, true, false)?>
</div>
<?php
}
?>
Probably not the neatest code out there, but it's working, except for the parser. It does do the newline to linebreak conversion, so I know that the parser's taking input, messing with it, and returning it back. But it won't convert bbtags such as url and all of the text formatting ones. There aren't any error messages either (I enabled error_reporting of all messages to check) Any ideas? I'm using vB 3.6.5. Thanks