SimplePortal

Customization => Blocks and Modifications => Mod Requests => Topic started by: mo on January 06, 2014, 07:50:28 PM

Title: Omit admin group users from top poster block?
Post by: mo on January 06, 2014, 07:50:28 PM
How can I omit any users in the admin group showing up in the top poster block?

Thanks.
Title: Re: Omit admin group users from top poster block?
Post by: ccbtimewiz on January 06, 2014, 07:59:26 PM
Open ./Sources/PortalBlocks.php

The following is around line 445, where the function begins.

Find:
Code: [Select]
$request = $smcFunc['db_query']('', '
SELECT
mem.id_member, mem.real_name, COUNT(*) as posts,
mem.avatar, a.id_attach, a.attachment_type, a.filename
FROM {db_prefix}messages AS m
LEFT JOIN {db_prefix}members AS mem ON (mem.id_member = m.id_member)
LEFT JOIN {db_prefix}attachments AS a ON (a.id_member = mem.id_member)
WHERE m.poster_time > {int:start_time}
AND m.id_member != 0
GROUP BY mem.id_member
ORDER BY posts DESC
LIMIT {int:limit}',
array(
'start_time' => $start_time,
'limit' => $limit,
)
);

Replace with:
Code: [Select]
$request = $smcFunc['db_query']('', '
SELECT
mem.id_member, mem.real_name, mem.id_group, COUNT(*) as posts,
mem.avatar, a.id_attach, a.attachment_type, a.filename
FROM {db_prefix}messages AS m
LEFT JOIN {db_prefix}members AS mem ON (mem.id_member = m.id_member)
LEFT JOIN {db_prefix}attachments AS a ON (a.id_member = mem.id_member)
WHERE m.poster_time > {int:start_time}
AND m.id_member != 0
AND m.id_group != 1
GROUP BY mem.id_member
ORDER BY posts DESC
LIMIT {int:limit}',
array(
'start_time' => $start_time,
'limit' => $limit,
)
);

Find:
Code: [Select]
$request = $smcFunc['db_query']('','
SELECT
m.id_member, m.real_name, m.posts, m.avatar,
a.id_attach, a.attachment_type, a.filename
FROM {db_prefix}members AS m
LEFT JOIN {db_prefix}attachments AS a ON (a.id_member = m.id_member)
ORDER BY posts DESC
LIMIT {int:limit}',
array(
'limit' => $limit,
)
);

Replace with:
Code: [Select]
$request = $smcFunc['db_query']('','
SELECT
m.id_member, m.real_name, m.posts, m.avatar, m.id_group,
a.id_attach, a.attachment_type, a.filename
FROM {db_prefix}members AS m
LEFT JOIN {db_prefix}attachments AS a ON (a.id_member = m.id_member)
WHERE m.id_group != 1
ORDER BY posts DESC
LIMIT {int:limit}',
array(
'limit' => $limit,
)
);

Title: Re: Omit admin group users from top poster block?
Post by: mo on January 06, 2014, 08:32:11 PM
Excellent, just had to add a , after the m.id_group in the select area in the last bit of replacement code and it worked beautifully.

Thank you Wright!
Title: Re: Omit admin group users from top poster block?
Post by: ccbtimewiz on January 06, 2014, 09:01:01 PM
Sorry that was my mistake not including the comma there, but glad you saw the mistake!

SimplePortal 2.3.8 © 2008-2024, SimplePortal