static function userDelete($userid, $msg) { $user = JFactory::getUser(); if ($userid == $user->id) { return JText::_('You cannot delete yourself'); } $acl = JFactory::getACL(); $user = JFactory::getUser(); $groups = $acl->get_object_groups('users', $userid, 'ARO'); $this_group = strtolower($acl->get_group_name($groups[0], 'ARO')); $deletor_admin = $user->gid == 24; if ($this_group == 'super administrator') { return JText::_('You cannot delete a Superadmin'); } $is_admin = $this_group == 'administrator'; if ($is_admin && $deletor_admin) { return JText::_('Only a Superadmin can do that'); } else { $db = JFactory::getDBO(); $obj = new cmsUser(); if (!$obj->delete($userid)) { return $obj->getError(); } } return null; }
static function userDelete($userid, $msg) { $user = JFactory::getUser(); if ($userid == $user->id) { return JText::_('You cannot delete yourself'); } $acl = JFactory::getACL(); $user = JFactory::getUser(); $superadmins = xJACLhandler::getAdminGroups(false); $alladmins = xJACLhandler::getAdminGroups(); $groups = $acl->getGroupsByUser($userid); if (count(array_intersect($groups, $superadmins))) { return JText::_('You cannot delete a Super User'); } $is_admin = false; if (count(array_intersect($groups, $alladmins))) { $is_admin = true; } $usergroups = $acl->getGroupsByUser($user->id); $deletor_admin = true; if (count(array_intersect($usergroups, $superadmins))) { $deletor_admin = false; } if ($is_admin && $deletor_admin) { return JText::_('Only Super Users can do that'); } else { $db = JFactory::getDBO(); $obj = new cmsUser(); if (!$obj->delete($userid)) { return $obj->getError(); } } }