/** * On enable set roles * * @param string $pluginid */ public static function onEnable($pluginid) { $removeIds = array(); foreach (RolePersistence::getAssignedPluginRoles($pluginid) as $role) { // Lets assume nobody changed root if ($role->roleid != 1) { // Add for delete $removeIds[] = $role->roleid; } } // Remove role assignment RolePersistence::deleteAssignedPluginRoles($pluginid, $removeIds); }
/** * */ public function remove_plugin_action($role_id, $plugin_id) { CSRFProtection::verifyUnsafeRequest(); $role = self::getRole($role_id); $ids = $this->getPlugins($role_id, $plugin_id); foreach ($ids as $id) { RolePersistence::deleteAssignedPluginRoles($id, array($role_id)); } $template = ngettext('Einem Plugin wurde die Rolle entzogen.', '%u Plugins wurde die Rolle entzogen.', count($ids)); $message = sprintf($template, count($ids)); PageLayout::postMessage(MessageBox::success($message)); $this->redirect('admin/role/show_role/' . $role_id); }