Actually, for number three I may already have found the problem.
If you've already installed the mod, look at the bottom of member.php for this block of code...
// Get user's recent threads
elseif($action == "viewthreads")
{
$query = $db->query("SELECT * FROM ".TABLE_PREFIX."users WHERE uid='$uid'");
$user = $db->fetch_array($query);
if(!$user)
{
error("The member you specified is either invalid or doesn't exist.", $settings['bbname']);
}
$comma = "";
$query = $db->query("SELECT * FROM ".TABLE_PREFIX."forumpermissions WHERE gid='$mybb[usergroup]'");
while($permissions = $db->fetch_array($query))
{
if($permissions['canview'] != "yes")
{
$unviewableforums .= $comma.$permissions['fid'];
$comma = ",";
}
}
$query = $db->query("SELECT * FROM ".TABLE_PREFIX."threads WHERE uid='$uid' AND fid NOT IN ('$unviewableforums')");
$threadcount = $db->num_rows($query);
if($threadcount < 1)
{
error("This member has not yet posted any threads.", $settings['bbname']);
}
$limit = $settings['threadsperpage'];
if(!$page)
{
$page = 1;
}
$startat = ($page - 1) * $limit;
$query = $db->query("SELECT t.*, f.name, i.path, u.username, u.uid AS 'lastposteruid' FROM ".TABLE_PREFIX."threads t LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=t.fid) LEFT JOIN ".TABLE_PREFIX."icons i ON (i.iid=t.icon) LEFT JOIN ".TABLE_PREFIX."users u ON (u.username=t.lastposter) WHERE t.uid='$uid' AND t.fid NOT IN ('$unviewableforums') ORDER BY dateline DESC LIMIT $startat, $limit");
while($thread = $db->fetch_array($query))
{
if($bgcolor == "trow2")
{
$bgcolor = "trow1";
}
else
{
$bgcolor = "trow2";
}
if(!empty($thread['path']))
{
$icon = "<img src=\\"".$thread['path']."\\">";
}
$thread['lastposttime'] = mydate($settings['dateformat'], $thread['dateline'])." ".mydate($settings['timeformat'], $thread['dateline']);
eval("\\$threads .= \\"".$templates->get("member_userthreads_thread")."\\";");
unset($icon);
}
$multipage = multipage($threadcount, 3, $page, "member.php?action=viewthreads&uid=$uid");
eval("\\$userthreads = \\"".$templates->get("member_userthreads")."\\";");
outputpage($userthreads);
}
// End user's srecent threads
...and replace it with this...
// Get user's recent threads
elseif($action == "viewthreads")
{
$query = $db->query("SELECT * FROM ".TABLE_PREFIX."users WHERE uid='$uid'");
$user = $db->fetch_array($query);
if(!$user)
{
error("The member you specified is either invalid or doesn't exist.", $settings['bbname']);
}
$comma = "";
$query = $db->query("SELECT * FROM ".TABLE_PREFIX."forumpermissions WHERE gid='$mybb[usergroup]'");
while($permissions = $db->fetch_array($query))
{
if($permissions['canview'] != "yes")
{
$unviewableforums .= $comma.$permissions['fid'];
$comma = ",";
}
}
$query = $db->query("SELECT * FROM ".TABLE_PREFIX."threads WHERE uid='$uid' AND fid NOT IN ('$unviewableforums')");
$threadcount = $db->num_rows($query);
if($threadcount < 1)
{
error("This member has not yet posted any threads.", $settings['bbname']);
}
$limit = $settings['threadsperpage'];
if(!$page)
{
$page = 1;
}
$startat = ($page - 1) * $limit;
$query = $db->query("SELECT t.*, f.name, i.path, u.username, u.uid AS 'lastposteruid' FROM ".TABLE_PREFIX."threads t LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=t.fid) LEFT JOIN ".TABLE_PREFIX."icons i ON (i.iid=t.icon) LEFT JOIN ".TABLE_PREFIX."users u ON (u.username=t.lastposter) WHERE t.uid='$uid' AND t.fid NOT IN ('$unviewableforums') ORDER BY dateline DESC LIMIT $startat, $limit");
while($thread = $db->fetch_array($query))
{
if($bgcolor == "trow2")
{
$bgcolor = "trow1";
}
else
{
$bgcolor = "trow2";
}
if(!empty($thread['path']))
{
$icon = "<img src=\\"".$thread['path']."\\">";
}
$thread['lastposttime'] = mydate($settings['dateformat'], $thread['dateline'])." ".mydate($settings['timeformat'], $thread['dateline']);
eval("\\$threads .= \\"".$templates->get("member_userthreads_thread")."\\";");
unset($icon);
}
$multipage = multipage($threadcount, $limit, $page, "member.php?action=viewthreads&uid=$uid");
eval("\\$userthreads = \\"".$templates->get("member_userthreads")."\\";");
outputpage($userthreads);
}
// End user's srecent threads
The previous block included a couple of little mods I made to the code for testing purposes which should have been removed.
As always, the download package has now been updated to incorportate these changes.