03-29-2011, 11:29 PM
Hi,
first, my english is really bad, sorry.
I have an access issue with the ezGallery package download on mybb.com.
ezGallery work as 'deny,allow' and use '$mybb->user['usergroup']'. this var only contain first usergroup, but not additionnals groups.
i have add additionnals groups support in my ezGallery /inc/ezgallery.lib.php to handle access.
here the rewritted function.
first, my english is really bad, sorry.
I have an access issue with the ezGallery package download on mybb.com.
ezGallery work as 'deny,allow' and use '$mybb->user['usergroup']'. this var only contain first usergroup, but not additionnals groups.
i have add additionnals groups support in my ezGallery /inc/ezgallery.lib.php to handle access.
here the rewritted function.
Code:
function allowedTo($permission = '')
{
global $mybb, $galleryPermissions;
$permRow = $galleryPermissions[$mybb->user['usergroup']];
// access are : deny, allow
if ($permission == 'view' && $permRow['view']) return $permRow['view'];
if ($permission == 'add' && $permRow['add']) return $permRow['add'];
if ($permission == 'edit' && $permRow['edit']) return $permRow['edit'];
if ($permission == 'delete' && $permRow['delete']) return $permRow['delete'];
if ($permission == 'comment' && $permRow['comment']) return $permRow['comment'];
if ($permission == 'report' && $permRow['report']) return $permRow['report'];
if ($permission == 'autoapprove' && $permRow['autoapprove']) return $permRow['autoapprove'];
if ($permission == 'manage' && $permRow['manage']) return $permRow['manage'];
// Get access for additionnal userGroups
$additionalGroups = preg_split('/,/', $mybb->user['additionalgroups']);
foreach ($additionalGroups as $additionalGroup) {
$permRow = $galleryPermissions[$additionalGroup];
if ($permission == 'view' && $permRow['view']) return $permRow['view'];
if ($permission == 'add' && $permRow['add']) return $permRow['add'];
if ($permission == 'edit' && $permRow['edit']) return $permRow['edit'];
if ($permission == 'delete' && $permRow['delete']) return $permRow['delete'];
if ($permission == 'comment' && $permRow['comment']) return $permRow['comment'];
if ($permission == 'report' && $permRow['report']) return $permRow['report'];
if ($permission == 'autoapprove' && $permRow['autoapprove']) return $permRow['autoapprove'];
if ($permission == 'manage' && $permRow['manage']) return $permRow['manage'];
}
return 0;
}