$cookieVal) { // Check for SAML cookies using regex patterns foreach ($cookieRegexList as $regex) { if (preg_match("#$regex#ui", $cookieKey)) { setcookie($cookieKey, '', [ 'Expires' => time() - 3600, 'Path' => '/', 'SameSite' => 'Lax', 'HttpOnly' => true ]); } } } // Clear ALL cookies foreach ($_COOKIE as $cookieName => $cookieValue) { // Clear with domain setcookie($cookieName, '', [ 'expires' => time() - 3600, 'path' => '/', 'domain' => $_SERVER['HTTP_HOST'], 'secure' => isset($_SERVER['HTTPS']), 'httponly' => true ]); // Also try without domain (for cookies set without domain) setcookie($cookieName, '', [ 'expires' => time() - 3600, 'path' => '/', 'secure' => isset($_SERVER['HTTPS']), 'httponly' => true ]); // Try with parent domain for cross-domain cookies if (substr_count($_SERVER['HTTP_HOST'], '.') > 1) { $parentDomain = substr($_SERVER['HTTP_HOST'], strpos($_SERVER['HTTP_HOST'], '.')); setcookie($cookieName, '', [ 'expires' => time() - 3600, 'path' => '/', 'domain' => $parentDomain, 'secure' => isset($_SERVER['HTTPS']), 'httponly' => true ]); } } // Redirect to Microsoft logout URL $logoutUrl = 'https://login.microsoftonline.com/18843e6e-1846-456c-a05c-500f0aee12f6/oauth2/logout'; header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); header('Location: ' . $logoutUrl); exit; } try { include_once(((strpos($t4_config['phar'], '.phar') !== false) ? 'phar://' : '').$_SERVER['DOCUMENT_ROOT'].$t4_config['phar'].'/vendor/autoload.php'); if (!class_exists('\AccessControl\Core\Config')) { throw new \Exception('AccessControl Library is not loaded correctly'); } if (!empty($t4_config['config'])) { AccessControl\Core\Config::setJSON($_SERVER['DOCUMENT_ROOT'].$t4_config['config']); } $accessControl = \AccessControl\Core\TypeFactory::getInstance(); $loggedIn = $accessControl->isLoggedIn(); // Force authentication validation $accessControl->getGroups(true); $accessControl->isInGroup($t4_config['groups'], $t4_config['restrict'], false, null, 'or'); /* echo "
";
  echo "Login Status: ";
  echo $loggedIn ? "isLoggedIn" : "isNotLoggedIn";
  echo "\n\n";

  echo "User Groups:\n";
  print_r($accessControl->getGroups(true));
  echo "\n";

  echo "Is in Group:\n";
  var_export($accessControl->isInGroup(
      $t4_config['groups'],
      $t4_config['restrict'],
      false,
      null,
      'or'
  ));
  echo "
"; */ } catch (Exception $e) { echo ''; } ?> Profiles | University of Chester

Daisy Cruise

BSc (Hons) Zoology

Daisy Cruise

"Studying Zoology at Chester is amazing! The course includes opportunities like trips to the Chester Zoo and placements during second year where I volunteered at Sea Life, along with numerous hands-on lab sessions. The variety of module options cater to diverse interests."

Studying Zoology at Chester is amazing! The course includes opportunities like trips to the Chester Zoo and placements during second year where I volunteered at Sea Life, along with numerous hands-on lab sessions. The variety of module options cater to diverse interests.