All of you are suggested to use this as it fixes two bugs in the CRON file. The first bug is in relation to RSS threads not being tagged at all. This was due to the fact the creator used incorrect syntax to get NULL fields, so no fields would get returned. The second bug prevented threads from being tagged if they were created in a 'wierd' method. What is that? I'm not sure, but I had about 20 threads that weren't tagged but were marked as being tagged, the datelines were spread apart pretty evenly, so I'm assuming the creators of the topics created the threads, they had tags, then those creators for some reason removed their tags manually afterwards. This leaves the thread marked Auto-Tagged, but there are no tags. So now the cron will re-tag these threads. This is all a guess, but who cares, all your tags are belong to me.
autotagger.php
Code:
<?php
/*======================================================================*\
|| #################################################################### ||
|| # Automatic Thread Tagger # ||
|| # ---------------------------------------------------------------- # ||
|| # Originally created by MrEyes (1.0 Beta 3) # ||
|| # Copyright ?2008 Marius Czyz. All Rights Reserved. # ||
|| #################################################################### ||
\*======================================================================*/
// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
if (!is_object($vbulletin->db))
{
exit;
}
// ########################################################################
// ######################### START MAIN SCRIPT ############################
// ########################################################################
if ($vbulletin->options['autotag_enabled_all'])
{
require_once(DIR . '/includes/functions_autotagger.php');
require_once(DIR . '/includes/functions_newpost.php');
$threads = $vbulletin->db->query_read("
SELECT taglist, dateline, forumid, postuserid, title, threadid, prefixid
FROM ".TABLE_PREFIX."thread
WHERE (
taglist IS NULL
AND autoskip = 0
)
OR (
taglist = ''
AND autoskip = 2
)
ORDER BY threadid DESC
");
$processed = 0;
$ending = $vbulletin->options['autotag_cron_count'];
while ($thread = $vbulletin->db->fetch_array($threads) AND $processed < $ending)
{
ProcessThread($thread);
$processed++;
}
log_cron_action('Auto Thread Tagger processed '.$processed.' threads.', $nextitem);
}
?>