2007-08-20, 10:32 PM
2007-08-20, 10:58 PM
Which "notes" are you refering to?
2007-08-21, 02:16 AM
DennisTT Wrote:Which "notes" are you refering to?
When someone reports a post, there's something that appears near under the banner saying "Moderator Note".
It's becoming annoying since these members take it upon themselves to deal with the issue and soon PM me saying I mind as well make them a full Mod.
2007-08-21, 02:59 AM
Do you mean this notice? "Moderator Notice: There is 1 unread reported post."
2007-08-21, 03:07 PM
Oh yup
2007-08-21, 03:52 PM
I wrote a code snippet that shows only moderator reports on their own forums, if you want that?
2007-08-22, 01:48 AM
That would be wonderful, please do
2007-08-22, 02:50 PM
In global.php find:
Add after
In moderation.php find:
add after:
Also in moderation.php find:
replace with
// Read the reported posts cache
$reported = $cache->read("reportedposts");
Add after
if($mybb->usergroup['cancp'] != "yes" && $mybb->usergroup['issupermod'] != "yes" && $mybb->user['usergroup'] == 6)
{
$query = $db->simple_select(TABLE_PREFIX."moderators", "fid", "uid='{$mybb->user['uid']}'");
while($fid = $db->fetch_array($query))
{
$modfids[] = $fid['fid'];
}
if(!empty($modfids))
{
$query = $db->simple_select(TABLE_PREFIX."reportedposts", "COUNT(rid) as unread", "reportstatus = '0' AND fid IN (".implode(',', $modfids).")");
$reported['unread'] = $db->fetch_field($query, "unread");
}
else
{
$reported['unread'] = 0;
}
}
In moderation.php find:
$multipage = multipage($postcount, $perpage, $page, "moderation.php?action=reports");
if($postcount > $perpage)
{
eval("\$reportspages = \"".$templates->get("moderation_reports_multipage")."\";");
}
$query = $db->simple_select(TABLE_PREFIX."forums", "fid,name");
while($forum = $db->fetch_array($query))
{
$forums[$forum['fid']] = $forum['name'];
}
add after:
$fids = "";
if($mybb->usergroup['cancp'] != "yes" && $mybb->usergroup['issupermod'] != "yes" && $mybb->user['usergroup'] == 6)
{
$query = $db->simple_select(TABLE_PREFIX."moderators", "fid", "uid='{$mybb->user['uid']}'");
while($fid = $db->fetch_array($query))
{
$modfids[] = $fid['fid'];
}
if(!empty($modfids))
{
$fids = "AND r.fid IN (".implode(',', $modfids).")";
}
}
Also in moderation.php find:
$query = $db->query("
SELECT r.*, u.username, up.username AS postusername, up.uid AS postuid, t.subject AS threadsubject
FROM ".TABLE_PREFIX."reportedposts r
LEFT JOIN ".TABLE_PREFIX."posts p ON (r.pid=p.pid)
LEFT JOIN ".TABLE_PREFIX."threads t ON (p.tid=t.tid)
LEFT JOIN ".TABLE_PREFIX."users u ON (r.uid=u.uid)
LEFT JOIN ".TABLE_PREFIX."users up ON (p.uid=up.uid)
WHERE r.reportstatus ='0'
ORDER BY r.dateline ASC
LIMIT $start, $perpage
");
replace with
$query = $db->query("
SELECT r.*, u.username, up.username AS postusername, up.uid AS postuid, t.subject AS threadsubject
FROM ".TABLE_PREFIX."reportedposts r
LEFT JOIN ".TABLE_PREFIX."posts p ON (r.pid=p.pid)
LEFT JOIN ".TABLE_PREFIX."threads t ON (p.tid=t.tid)
LEFT JOIN ".TABLE_PREFIX."users u ON (r.uid=u.uid)
LEFT JOIN ".TABLE_PREFIX."users up ON (p.uid=up.uid)
WHERE r.reportstatus ='0' {$fids}
ORDER BY r.dateline ASC
LIMIT $start, $perpage
");
2007-08-22, 08:09 PM
Thanks, but it doesn't seem to work - members still seem to be able to see all Moderator Notices.
2007-08-22, 08:14 PM
Sorry, but it works fine for me