get_included_groups($value); $groups_emulated = array_merge($groups_emulated, $included); // If one is member of a group different from Anonymous or Registered // then one automatically has the rights of group "Registered" if ($value != "Registered" && $value != "Anonymous") { $dont_forget_registered = 1; } } if ($dont_forget_registered == 1 && isset($user)) { $groups_emulated[] = "Registered"; $included = $tikilib->get_included_groups("Registered"); $groups_emulated = array_merge($groups_emulated, $included); } $groups_emulated = array_unique($groups_emulated); } else { // Let's say clicking with nothing selected is the same as reset // Saying it's the same as Anonymous would have the disadvantage of probably // hiding the module, so the user would need to logout $_SESSION["groups_are_emulated"] = "n"; $groups_emulated = []; $_SESSION['groups_emulated'] = serialize($groups_emulated); } $_SESSION['groups_emulated'] = serialize($groups_emulated); } elseif ($_REQUEST["emulategroups"] == "resetgroups") { // User stops groups emulation (logging out is an alternate solution for user) $_SESSION["groups_are_emulated"] = "n"; $groups_emulated = []; $_SESSION['groups_emulated'] = serialize($groups_emulated); } $tikilib->invalidate_usergroups_cache($user); } $smarty->assign('groups_are_emulated', $_SESSION["groups_are_emulated"]); $smarty->assign_by_ref('groups_emulated', unserialize($_SESSION['groups_emulated'])); header("location: $orig_url"); exit;