register_hook('DOKUWIKI_INIT_DONE', 'BEFORE', $this, 'start'); } /** * Add the virtual groups to the current user * * @param Event $event DOKUWIKI_INIT_DONE * @return void */ public function start(Event $event) { global $USERINFO; global $INFO; global $INPUT; $user = $INPUT->server->str('REMOTE_USER'); if (!$user) return; $virtualgroups = (new VirtualGroups())->getUserGroups($user); if (!$virtualgroups) return; if (!isset($USERINFO['grps'])) $USERINFO['grps'] = []; $grps = array_unique(array_merge($USERINFO['grps'], $virtualgroups)); $USERINFO['grps'] = $grps; $_SESSION[DOKU_COOKIE]['auth']['info']['grps'] = $grps; $INFO = pageinfo(); } }