This repository has been archived by the owner on Sep 4, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 18
/
index.php
90 lines (77 loc) · 3.42 KB
/
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php // On appelle les classes du controleur qui instancies les objets principaux (BDD, config, JSONAPI...).
ob_start();
session_set_cookie_params(0, '/', null, true, true);
session_start();
error_reporting(0);
date_default_timezone_set('Europe/Paris');
setlocale(LC_TIME, 'fr_FR');
ini_set('display_errors', 1);
// Chargement des outils de sécurité
require_once ('controleur/security/security.php');
require('modele/app/urlRewrite.class.php');
urlRewrite::call();
if(!isset($_SESSION['mode'])) $_SESSION['mode'] = false; // Pour les admins du forum
if(isset($_GET['removeUpdater'])) { unlink('updater.php'); }
//ini_set('display_errors', 1);
require('controleur/config.php');
// On vérifie si le CMS n'a pas été installé, si il ne l'est pas, on redirige vers les fichiers d'installation...
if (!$_Serveur_['installation']) header('Location: /installation/');
else $return = true;
// On charge la connexion à la base MySQL via l'extention PDO.
require ('controleur/connection_base.php');
require('modele/app/visit.class.php');
$visit = new visit($bddConnection);
require('modele/google/googleService.class.php');
googleService::initialise($_Serveur_, $bddConnection);
//la class Panier pour la boutique
require('modele/joueur/imgProfil.class.php');
$_ImgProfil_ = new ImgProfil($bddConnection);
require('modele/boutique/panier.class.php');
$_Panier_ = new Panier($bddConnection);
// On démarre les sessions sur la page pour récupérer les variables globales (les données du joueur...).
// Si l'utilisateur est connecté, on met ses informations dans un tableau global, qui sera utilisable que
// le laps de temps du chargement de la page contrairement aux sessions.
require('controleur/joueur/joueur.class.php');
$globalJoueur = new Joueur($bddConnection);
$_Joueur_ = $globalJoueur->getUser();
require('modele/json/json.php');
//le fichier controle des récompenses Auto
require('controleur/recompenseAuto.php');
// système de Get (tout le site passe par index.php).
// Les deux types de Get pricipaux utilisés sont les "pages" et les "actions.
// Les actions n'affichent aucun code html alors que les pages sont dans la theme.
// Ici une condition pour vérifier si il faut charger le fichier controleur des actions. Ce fichier effectue l'action qu'il faut en
// faisant appel au bon fichier en fonction de la valeur du get
if(!isset($_Serveur_['General']['createur']))
{
$tmp = $_Serveur_;
$tmp['General']['createur'] = 'Créateur';
$ecriture = new Ecrire('modele/config/config.yml', $tmp);
}
$banned = false;
if(Ban::isBanned($bddConnection) | isset($_GET['banPreview']))
{
require('theme/'. $_Serveur_['General']['theme'] .'/ban.php');
}
else
{
if (isset($_GET['action'])) {
require ('controleur/action.php');
} elseif (isset($_GET['page']) AND $_GET['page'] == 'maintenance') {
include ('theme/' . $_Serveur_['General']['theme'] . '/maintenance.php');
}else
// On charge l'index uniquement si il n'y a pas d'action, cela permet de choisir la page sur laquelle l'utilisateur sera redirigé après l'action. Sinon, on redirige vers
{
// La base de la page, s'occupe du <head> ainsi que de l'organisation des élements et chargement du javascript --> La theme.
include ('theme/' . $_Serveur_['General']['theme'] . '/index.php');
require('controleur/joueur/changerGrade.php');
}
}
if(isset($jsonCon))
{
foreach($jsonCon as $instance)
{
$instance->close();
}
}
ob_end_flush();