function CanDo($smf_groups, $todo_groups, $permission)
{
global $user_info, $tSettings;
if(is_array($smf_groups))
$TheSMFunc = 'array_intersect';
else
$TheSMFunc = 'in_array';
if(!is_array($todo_groups))
$todo_groups = array($todo_groups);
if($TheSMFunc($smf_groups, $user_info['groups']))
{
if($TheSMFunc == 'array_intersect')
{
foreach($smf_groups as $smf_group)
{
$tgroup = $tSettings['permissions'][$smf_group];
foreach($todo_groups as $thegroup)
{
if($thegroup == $tgroup)
{
foreach($tSettings['moderation'][$permission] as $tperm)
{
if($tperm == $tgroup)
return true;
}
}
}
}
}
else
{
$tgroup = $tSettings['permissions'][$smf_groups];
foreach($todo_groups as $thegroup)
{
if($thegroup == $tgroup)
{
foreach($tSettings['moderation'][$permission] as $tperm)
{
if($tperm == $tgroup)
return true;
}
}
}
}
}
return false;
}
function CanDo($smf_groups, $todo_groups, $permission)
{
global $user_info, $tSettings;
if(!is_array($smf_groups))
$smf_groups = array($smf_groups);
if(!is_array($todo_groups))
$todo_groups = array($todo_groups);
if(array_intersect($smf_groups, $user_info['groups']))
{
foreach($smf_groups as $smf_group)
{
$tgroup = $tSettings['permissions'][$smf_group];
foreach($todo_groups as $thegroup)
{
if($thegroup == $tgroup)
{
foreach($tSettings['moderation'][$permission] as $tperm)
{
if($tperm == $tgroup)
return true;
}
}
}
}
}
return false;
}
function CanDo($permission, $creater = false)
{
global $user_info, $tSettings;
if($creater && $creater == $user_info['id'])
{
if($tSettings['moderate_own'][0] == 'all' || in_array($permission, $tSettings['moderate_own']))
return true;
}
$todo_groups = $tSettings['moderation'][$permission];
$smf_groups = array();
foreach($todo_groups as $grp)
{
if(isset($tSettings['groups'][$grp]))
$smf_groups[] = $tSettings['groups'][$grp];
}
if(array_intersect($smf_groups, $user_info['groups']))
{
foreach($smf_groups as $smf_group)
{
$tgroup = $tSettings['groups'][$smf_group];
foreach($todo_groups as $thegroup)
{
if($thegroup == $tgroup)
{
foreach($tSettings['moderation'][$permission] as $tperm)
{
if($tperm == $tgroup)
return true;
}
}
}
}
}
return false;
}