mirror of
				https://gitlab.com/animath/si/plateforme-corres2math.git
				synced 2025-11-04 01:32:12 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
require_once "server_files/config.php";
 | 
						|
 | 
						|
require_once "server_files/classes/Document.php";
 | 
						|
require_once "server_files/classes/Role.php";
 | 
						|
require_once "server_files/classes/SchoolClass.php";
 | 
						|
require_once "server_files/classes/Team.php";
 | 
						|
require_once "server_files/classes/User.php";
 | 
						|
require_once "server_files/classes/ValidationStatus.php";
 | 
						|
require_once "server_files/services/mail.php";
 | 
						|
require_once "server_files/utils.php";
 | 
						|
require_once "server_files/model.php";
 | 
						|
 | 
						|
loadUserValues();
 | 
						|
 | 
						|
if (!isset($_GET["path"]))
 | 
						|
	require_once "server_files/403.php";
 | 
						|
 | 
						|
$path = $_GET["path"];
 | 
						|
 | 
						|
$ROUTES = [];
 | 
						|
 | 
						|
# URL paths
 | 
						|
 | 
						|
$ROUTES["^(|accueil|index|accueil\.php|accueil\.html|accueil\.py|index\.php|index\.html|index\.py)$"] = ["server_files/controllers/index.php"];
 | 
						|
$ROUTES["^ajouter_equipe$"] = ["server_files/controllers/ajouter_equipe.php"];
 | 
						|
$ROUTES["^calendrier$"] = ["server_files/controllers/calendrier.php"];
 | 
						|
$ROUTES["^confirmer_mail/([a-z0-9]*)/?$"] = ["server_files/controllers/confirmer_mail.php", "token"];
 | 
						|
$ROUTES["^connexion/(confirmation-mail)/?$"] = ["server_files/controllers/connexion.php", "confirmation-mail"];
 | 
						|
$ROUTES["^connexion/(mdp_oublie)/?$"] = ["server_files/controllers/connexion.php", "mdp_oublie"];
 | 
						|
$ROUTES["^connexion/(reinitialiser_mdp)/(.*)/?$"] = ["server_files/controllers/connexion.php", "reset_password", "token"];
 | 
						|
$ROUTES["^connexion/?$"] = ["server_files/controllers/connexion.php"];
 | 
						|
$ROUTES["^deconnexion/?$"] = ["server_files/controllers/deconnexion.php"];
 | 
						|
$ROUTES["^equipe/([A-Z]{3})/?$"] = ["server_files/controllers/equipe.php", "trigram"];
 | 
						|
$ROUTES["^file/([a-z0-9]{64})/?$"] = ["server_files/controllers/view_file.php", "file_id"];
 | 
						|
$ROUTES["^informations/([0-9]*)/.*?$"] = ["server_files/controllers/informations.php", "id"];
 | 
						|
$ROUTES["^inscription/?$"] = ["server_files/controllers/inscription.php"];
 | 
						|
$ROUTES["^mon_compte/?$"] = ["server_files/controllers/mon_compte.php"];
 | 
						|
$ROUTES["^mon_equipe/(modifier)/?$"] = ["server_files/controllers/mon_equipe.php", "modifier"];
 | 
						|
$ROUTES["^mon_equipe/?$"] = ["server_files/controllers/mon_equipe.php"];
 | 
						|
$ROUTES["^probleme/([1-4])/?$"] = ["server_files/controllers/probleme.php", "probleme"];
 | 
						|
$ROUTES["^problemes/?$"] = ["server_files/controllers/problemes.php"];
 | 
						|
$ROUTES["^rejoindre_equipe/?$"] = ["server_files/controllers/rejoindre_equipe.php"];
 | 
						|
 | 
						|
# Assets files
 | 
						|
 | 
						|
$ROUTES["^favicon\.ico$"] = ["assets/favicon.ico", "image/x-icon"];
 | 
						|
$ROUTES["^logo\.png"] = ["assets/logo.png", "image/png"];
 | 
						|
$ROUTES["^style\.css$"] = ["assets/style.css", "text/css"];
 | 
						|
 | 
						|
foreach ($ROUTES as $route => $file) {
 | 
						|
	if (preg_match('#' . $route . '#', $path, $matches)) {
 | 
						|
		for ($i = 1; $i < sizeof($file); ++$i)
 | 
						|
			$_GET[$file[$i]] = $matches[$i];
 | 
						|
 | 
						|
		if (!preg_match("#php$#", $file[0])) {
 | 
						|
			header("Content-Type: " . $file[1]);
 | 
						|
			readfile($file[0]);
 | 
						|
			exit();
 | 
						|
		}
 | 
						|
 | 
						|
		/** @noinspection PhpIncludeInspection */
 | 
						|
		require $file[0];
 | 
						|
		exit();
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
require_once "server_files/404.php";
 |