Mark.B
12-23-2010, 08:59 PM
This is me attempting to convert a "thread of the day" hack from 3.8.
I've read the article on variable registeringand have converted quite a few hacks, so I've *sort* of got my head round that.
However, the below (at search_start) simply doesn't work. the contents of the template are output fine, but the variable $devebd['whatever'] does not output at all.
I think I have done the registration of the variable right, because if I add this line to the plugin:
$devebd['test'] = ""Something";
...then I can make that print in the template just fine.
So, I think there is something wrong with how that query is being handled. I know it's being executed, because if I add a rogue character to any of the table names it throws a database error at me.
Yet, the query is identical to how it was in vB3 and it worked.
Any suggestions on what's wrong? Here is the plug in:
$exforums1 = $vbulletin->options['btwexfor'];
$exthreads1 = $vbulletin->options['btwexthr'];
if($vbulletin->options['enbwt'])
if($vbulletin->options['enbt'])
if($vbulletin->options['encolbt1'])
$devebds = $db->query_read("
SELECT thread.postusername,
thread.postuserid,
thread.title AS fth,
thread.lastposter,
thread.replycount,
thread.views,
thread.lastpostid,
thread.threadid,
thread.forumid tid,
forum.forumid AS fid,
forum.title AS ft
FROM " . TABLE_PREFIX . "thread AS thread, " . TABLE_PREFIX . "forum AS forum
WHERE forum.forumid = thread.forumid
AND dateline BETWEEN " . (TIMENOW - 86400) . " AND " . (TIMENOW + 86400) . "
AND thread.forumid NOT IN ($exforums1)
AND thread.threadid NOT IN ($exthreads1)
AND thread.threadid != 90094
AND thread.postuserid NOT IN (2501,2087)
ORDER BY thread.replycount DESC LIMIT 1
");
while ($devebd = $db->fetch_array($devebds))
{
$devebd['trimmed'] = fetch_trimmed_title($devebd['fth'], 43);
}
$templater = vB_Template::create('threadoftheday_day2');
$templater->register('devebd', $devebd);
$dev .= $templater->render();
$template_hook['totd'] .= $dev;
I then call this plugin in template search_resultlist using {vb:raw template_hook.totd}. It outputs the content of the template threadoftheday_day2 ok, but does not output the results of the query.
I've read the article on variable registeringand have converted quite a few hacks, so I've *sort* of got my head round that.
However, the below (at search_start) simply doesn't work. the contents of the template are output fine, but the variable $devebd['whatever'] does not output at all.
I think I have done the registration of the variable right, because if I add this line to the plugin:
$devebd['test'] = ""Something";
...then I can make that print in the template just fine.
So, I think there is something wrong with how that query is being handled. I know it's being executed, because if I add a rogue character to any of the table names it throws a database error at me.
Yet, the query is identical to how it was in vB3 and it worked.
Any suggestions on what's wrong? Here is the plug in:
$exforums1 = $vbulletin->options['btwexfor'];
$exthreads1 = $vbulletin->options['btwexthr'];
if($vbulletin->options['enbwt'])
if($vbulletin->options['enbt'])
if($vbulletin->options['encolbt1'])
$devebds = $db->query_read("
SELECT thread.postusername,
thread.postuserid,
thread.title AS fth,
thread.lastposter,
thread.replycount,
thread.views,
thread.lastpostid,
thread.threadid,
thread.forumid tid,
forum.forumid AS fid,
forum.title AS ft
FROM " . TABLE_PREFIX . "thread AS thread, " . TABLE_PREFIX . "forum AS forum
WHERE forum.forumid = thread.forumid
AND dateline BETWEEN " . (TIMENOW - 86400) . " AND " . (TIMENOW + 86400) . "
AND thread.forumid NOT IN ($exforums1)
AND thread.threadid NOT IN ($exthreads1)
AND thread.threadid != 90094
AND thread.postuserid NOT IN (2501,2087)
ORDER BY thread.replycount DESC LIMIT 1
");
while ($devebd = $db->fetch_array($devebds))
{
$devebd['trimmed'] = fetch_trimmed_title($devebd['fth'], 43);
}
$templater = vB_Template::create('threadoftheday_day2');
$templater->register('devebd', $devebd);
$dev .= $templater->render();
$template_hook['totd'] .= $dev;
I then call this plugin in template search_resultlist using {vb:raw template_hook.totd}. It outputs the content of the template threadoftheday_day2 ok, but does not output the results of the query.