For those about to rock, this can be made to work in 3.7.3.whatever I have!
I tried and tried to make the modifications as shown for external.php work out and finally drank myself to sleep. This morning, I discovered it working and here's what I had done.
Rather than create the two cases mentioned, I created a single case and nested it as you see below (between a case xml and a case rss) - I didn't use the SHARE option as it doesn't appear any of the sites are still doing that.
Working well for me though.. it's learning what the other aiml files didn't already answer and it's awesome.
PHP Code:
case 'XML':
if (!$vbulletin->options['externalxml'])
{
exit;
}
break;
// HERE'S THE BEGININNG MY MODIFICATION
case 'AIML':
{ // XML/AIML output
$posts = $db->query_read("
SELECT post.title, post.pagetext, post.postid
FROM post
WHERE post.threadid=**TEACH THREAD** AND post.postid!=**FIRST POST ID**");
$postcache = array();
while ($post = $db->fetch_array($posts))
{ // fetch the posts
$postcache[] = $post;
}
// set XML type and nocache headers
header('Content-Type: text/xml');
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
// print out the page header
echo '<?xml version="1.0" encoding="' . $stylevar['charset'] . '"?>' . "\r\n";
echo '<aiml version="1.0">';
foreach ($postcache AS $post)
{
echo "<category>";
echo "<pattern>";
echo strtoupper($post[title]);
echo "</pattern>\r\n";
echo "<template> \r\n";
echo $post[pagetext]." \r\n";
echo "</template> \r\n";
echo "</category> \r\n";
$db->query_write("UPDATE post SET threadid=**LEARNED THREAD** WHERE postid=".$post[postid]);
}
echo "\r\n</aiml>";
}
// HERE'S THE END OF MY MODIFICATION
case 'RSS':
$vbulletin->GPC['nohtml'] = 0;
case 'RSS1':
case 'RSS2':
Hope this helps someone else out!