OK - Here goes.
I chose these options because these are what I need for my organization. You don’t need to implement all of these options. For example, you can let all admins use the lists but not be able to view members of the list.
This mod will permit all regular admins to:
Use all subscriber lists to send campaigns.
View members of any subscriber list.
Add members to any subscriber list.
Modify the details of any subscriber.
Regular admins cannot:
Delete a subscriber he does not “own”.
Manually process a queue (from the web interface) - A cron job must be used to send the campaign.
In file admin/accesscheck.php change function accessLevel
From:
function accessLevel($page)
{
global $tables, $access_levels;
if (!$GLOBALS['require_login'] || isSuperUser()) {
return 'all';
}
if (!isset($_SESSION['adminloggedin'])) {
return 0;
}
if (!is_array($_SESSION['logindetails'])) {
return 0;
}
//# for non-supers we only allow owner views
//# this is likely to need tweaking
return 'owner';
}
To:
function accessLevel($page)
{
global $tables, $access_levels;
if (!$GLOBALS['require_login'] || isSuperUser()) {
return 'all';
}
if (!isset($_SESSION['adminloggedin'])) {
return 0;
}
if (!is_array($_SESSION['logindetails'])) {
return 0;
}
// Modification Start
if ($page == 'send') {
return 'all';
}
if ($page == 'list') {
return 'all';
}
if ($page == 'members') {
return 'all';
}
if ($page == 'user') {
return 'all';
}
if ($page == 'users') {
return 'all';
}
// Modification End
//# for non-supers we only allow owner views
//# this is likely to need tweaking
return 'owner';
}
That’s it.