I have Group ModeratorZ installed... and all my groups have, ofcourse, a group owner.. and most of them have (a couple) of group moderators.
Now... for your group owner AND moderator to PB everyone in that group, do the following:
In admin panel, set the group mass pm on "Moderator", so now the group owner AND admin can PM.
You probably got this far...
now, for the adjustments...
In privmsg.php:
Find:
- Code: Select all
$sql_g = "SELECT DISTINCT g.group_id
FROM ".GROUPS_TABLE . " g, ".USER_GROUP_TABLE . " ug
WHERE g.group_single_user <> 1
AND (
(g.group_allow_pm='".AUTH_MOD."' AND g.group_moderator = '" . $userdata['user_id']."') OR
(g.group_allow_pm='".AUTH_ACL."' AND ug.user_id = " . $userdata['user_id'] . " AND ug.group_id = g.group_id ) OR
(g.group_allow_pm='".AUTH_REG."')
)" ;
Now, change this into:
- Code: Select all
$sql_g = "SELECT DISTINCT g.group_id
FROM ".GROUPS_TABLE . " g, ".USER_GROUP_TABLE . " ug
WHERE g.group_single_user <> 1
AND (
(g.group_allow_pm='".AUTH_MOD."' AND g.group_moderator = '" . $userdata['user_id']."') OR
(g.group_allow_pm='".AUTH_MOD."' AND ug.group_id = g.group_id AND ug.group_moderator = 1 AND ug.user_id = " . $userdata['user_id'] . ") OR
(g.group_allow_pm='".AUTH_ACL."' AND ug.user_id = " . $userdata['user_id'] . " AND ug.group_id = g.group_id ) OR
(g.group_allow_pm='".AUTH_REG."')
)" ;
So, the line
- Code: Select all
(g.group_allow_pm='".AUTH_MOD."' AND ug.group_id = g.group_id AND ug.group_moderator = 1 AND ug.user_id = " . $userdata['user_id'] . ") OR
is added. This will have everyone who is group_moderator in a certain group which has group mass pm on moderator, gets the image button to groupmsg.php
Now, in groupmsg.php, you'll have to make this change twice.
First, find:
- Code: Select all
$sql = "SELECT DISTINCT g.group_name
FROM ".GROUPS_TABLE . " g, ".USER_GROUP_TABLE . " ug
WHERE g.group_single_user <> 1 AND g.group_id='".$group_id."'
AND (
('".$userdata['user_level']."'='".ADMIN."') OR
(g.group_allow_pm='".AUTH_MOD."' AND g.group_moderator = '" . $userdata['user_id']."') OR
(g.group_allow_pm='".AUTH_ACL."' AND ug.user_id = " . $userdata['user_id'] . " AND ug.group_id = g.group_id ) OR
(g.group_allow_pm='".AUTH_REG."' AND '".$userdata['user_id']."'!='".ANONYMOUS."' ) OR
(g.group_allow_pm='".AUTH_ALL."')
)" ;
and change it into:
- Code: Select all
$sql = "SELECT DISTINCT g.group_name
FROM ".GROUPS_TABLE . " g, ".USER_GROUP_TABLE . " ug
WHERE g.group_single_user <> 1 AND g.group_id='".$group_id."'
AND (
('".$userdata['user_level']."'='".ADMIN."') OR
(g.group_allow_pm='".AUTH_MOD."' AND g.group_moderator = '" . $userdata['user_id']."') OR
(g.group_allow_pm='".AUTH_MOD."' AND ug.group_id = g.group_id AND ug.group_moderator = 1 AND ug.user_id = " . $userdata['user_id'] . ") OR
(g.group_allow_pm='".AUTH_ACL."' AND ug.user_id = " . $userdata['user_id'] . " AND ug.group_id = g.group_id ) OR
(g.group_allow_pm='".AUTH_REG."' AND '".$userdata['user_id']."'!='".ANONYMOUS."' ) OR
(g.group_allow_pm='".AUTH_ALL."')
)" ;
and change
- Code: Select all
$sql = "SELECT DISTINCT g.group_id, g.group_name
FROM ".GROUPS_TABLE . " g, ".USER_GROUP_TABLE . " ug
WHERE g.group_single_user <> 1
AND (
('".$userdata['user_level']."'='".ADMIN."') OR
(g.group_allow_pm='".AUTH_MOD."' AND g.group_moderator = '" . $userdata['user_id']."') OR
(g.group_allow_pm='".AUTH_ACL."' AND ug.user_id = " . $userdata['user_id'] . " AND ug.group_id = g.group_id ) OR
(g.group_allow_pm='".AUTH_REG."' AND '".$userdata['user_id']."'!='".ANONYMOUS."' ) OR
(g.group_allow_pm='".AUTH_ALL."')
)" ;
into
- Code: Select all
$sql = "SELECT DISTINCT g.group_id, g.group_name
FROM ".GROUPS_TABLE . " g, ".USER_GROUP_TABLE . " ug
WHERE g.group_single_user <> 1
AND (
('".$userdata['user_level']."'='".ADMIN."') OR
(g.group_allow_pm='".AUTH_MOD."' AND g.group_moderator = '" . $userdata['user_id']."') OR
(g.group_allow_pm='".AUTH_MOD."' AND ug.group_id = g.group_id AND ug.group_moderator = 1 AND ug.user_id = " . $userdata['user_id'] . ") OR
(g.group_allow_pm='".AUTH_ACL."' AND ug.user_id = " . $userdata['user_id'] . " AND ug.group_id = g.group_id ) OR
(g.group_allow_pm='".AUTH_REG."' AND '".$userdata['user_id']."'!='".ANONYMOUS."' ) OR
(g.group_allow_pm='".AUTH_ALL."')
)" ;
Niels, I'm not sure if this is proper coding... (I know for sure it's not easymod compatible.

) and all.. or if the SQL statements work... but it works on my forum.

Might be handy for other people who use this mod.