2014-06-09, 06:45 PM
I have spend hours but can figure why this it returns wrong lastposter ID?
SOLVED!!!!!!!!!!!
Replaced:
f.* with f.name
LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=t.fid) with INNER JOIN ".TABLE_PREFIX."forums f ON (f.fid = t.fid)
function mybbirlastthreadsprofile()
{
global $db, $mybb, $memprofile, $theme, $mybbirlastthreadsprofile;
$threadlimit = 10;
$query = $db->query("
SELECT t.*, t.subject AS threadsubject, u.username, u.usergroup, u.displaygroup, p.displaystyle AS threadprefix,
t.dateline AS threaddate, t.lastpost AS threadlastpost, f.*, t.tid, t.fid
FROM ".TABLE_PREFIX."threads t
LEFT JOIN ".TABLE_PREFIX."threadprefixes p ON (p.pid=t.prefix)
LEFT JOIN ".TABLE_PREFIX."users u ON (t.lastposter=u.username)
LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=t.fid)
WHERE t.visible = '1' AND t.uid = '{$memprofile['uid']}' AND t.closed NOT LIKE 'moved|%'
GROUP BY t.tid
ORDER BY threadlastpost DESC
LIMIT 0, {$threadlimit}
");
while($threads = $db->fetch_array($query))
{
// Enable to use when need to shorten thread title and username!
if(strlen($threads['threadsubject']) > "60")
{
$threadsthreadsubject = htmlspecialchars_uni(my_substr($threads['threadsubject'],0,57)."...");
}
else
{
$threadsthreadsubject = htmlspecialchars_uni($threads['threadsubject']);
}
if(strlen($threads['username']) > "10")
{
$threads['username'] = htmlspecialchars_uni(my_substr($threads['username'],0,10)."...");
}
if(strlen($threads['name']) > "32")
{
$postforumlink = htmlspecialchars_uni(my_substr($threads['name'],0,29)."...");
$postforumlink = "<a target=\"_blank\" href=\"".get_forum_link($threads['fid'])."\">".$threads['name']."</a>";
}
else
{
$postforumlink = "<a target=\"_blank\" href=\"".get_forum_link($threads['fid'])."\">".$threads['name']."</a>";
}
$lastposter = build_profile_link(format_name($threads['username'], $threads['usergroup'], $threads['displaygroup']), $threads['lastposteruid']);
$threads['threadprefix'] = $threads['threadprefix'].' ';
$threadlink = get_thread_link($threads['tid']);
$lastpostlink = get_thread_link($threads['tid'], 0, "lastpost");
$replies = my_number_format($threads['replies']);
$views = my_number_format($threads['views']);
$lastpostdate = my_date($mybb->settings['dateformat'], $threads['threadlastpost']);
$lastposttime = my_date($mybb->settings['timeformat'], $threads['threadlastpost']);
// Enable this code to work with the desabled code above!
$lastposter = "<a target=\"_blank\" href=\"{$mybb->settings['bburl']}/".get_profile_link($threads['lastposteruid'])."\" title=\"{$threads['username']}\">$lastposter</a>";
// Remove line 77 and 78 when using desabled code!
// $lastposter = "<a target=\"_blank\" href=\"{$mybb->settings['bburl']}/".get_profile_link($threads['lastposteruid'])."\" title=\"{$threads['username']}\">{$threads['username']}</a>";
// $threadsthreadsubject = $threads['threadsubject'];
$last_thread .= "<tr>
<td class=\"trow2\"><span class=\"smalltext\">{$threads['threadprefix']}<a href=\"$threadlink\" title=\"$threads[threadsubject]\" target=\"_blank\">$threadsthreadsubject</a></span></td>
<td class=\"trow2\" align=\"center\"><span class=\"smalltext\">$postforumlink</span></td>
<td class=\"trow2\" align=\"center\"><span class=\"smalltext\">$replies</span></td>
<td class=\"trow2\" style=\"white-space: nowrap; text-align: right;\"><span class=\"lastpost smalltext\">{$lastpostdate} {$lastposttime}<br /><a target=\"_blank\" href=\"$lastpostlink\">Last Post</a>: $lastposter</span></td>
</tr>";
}
if(!$last_thread){
$last_thread = "<tr><td class=\"trow2\" colspan=\"5\">There aren't any threads</td></tr>";
}
$mybbirlastthreadsprofile = "<br/><table border=\"0\" cellspacing=\"".$theme['borderwidth']."\" cellpadding=\"".$theme['tablespace']."\" class=\"tborder\">
<tr>
<td class=\"thead\" colspan=\"6\"><strong>{$memprofile['username']}'s Latest Threads</strong></td>
</tr>
<tr>
<td class=\"tcat\"><span class=\"smalltext\"><strong>Subject</strong></span></td>
<td class=\"tcat\" align=\"center\"><span class=\"smalltext\"><strong>Forum</strong></span></td>
<td class=\"tcat\" align=\"center\"><span class=\"smalltext\"><strong>Replies</strong></span></td>
<td class=\"tcat\" align=\"center\"><span class=\"smalltext\"><strong>Last post</strong></span></td>
</tr>
{$last_thread}
</table>";
}
SOLVED!!!!!!!!!!!
Replaced:
f.* with f.name
LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=t.fid) with INNER JOIN ".TABLE_PREFIX."forums f ON (f.fid = t.fid)