I'm not gonna make this bad boy, but, I thought I'd somewhat help. For vB3, checkout /includes/functions_forumdisplay.php
Specifically checkout the function, "fetch_dot_threads_array":
PHP Code:
// ###################### Start getDotThreads #######################
// --> Queries a list of given ids and generates an array of ids that the user has posted in
function fetch_dot_threads_array($ids)
{
global $DB_site, $bbuserinfo, $vboptions;
if ($ids AND $vboptions['showdots'] AND $bbuserinfo['userid'])
{
$dotthreads = array();
$mythreads = $DB_site->query("
SELECT COUNT(*) AS count, threadid, MAX(dateline) AS lastpost
FROM " . TABLE_PREFIX . "post AS post
LEFT JOIN " . TABLE_PREFIX . "deletionlog AS deletionlog ON (post.postid = deletionlog.primaryid AND type = 'post')
WHERE post.userid = $bbuserinfo[userid] AND
post.visible = 1 AND
post.threadid IN (0$ids) AND
deletionlog.primaryid IS NULL
GROUP BY threadid
");
while ($mythread = $DB_site->fetch_array($mythreads))
{
$dotthreads["$mythread[threadid]"]['count'] = $mythread['count'];
$dotthreads["$mythread[threadid]"]['lastpost'] = vbdate($vboptions['dateformat'], $mythread['lastpost'], true);
}
return $dotthreads;
}
return false;
}
This function returns an array of thread ids the user posted in. Anyway, messing with that somewhat is a big start.