Skip to content

Commit cbcb0eb

Browse files
committed
Update for SAND app with APP STATE (OPEN CLOSED MAINTAINED)
1 parent 10bc015 commit cbcb0eb

File tree

58 files changed

+2094
-144
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+2094
-144
lines changed

application/class/Application.php

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,21 @@ public function __construct()
2626

2727
$this->url = new Url($this->http->method, $this->browser->isAppRequest());
2828

29-
$dispacher = new Dispacher();
30-
$this->route = $dispacher->route;
29+
switch(APP_STATE) {
30+
case "CLOSED":
31+
case "MAINTAINED":
32+
$this->route = null;
33+
break;
34+
case "OPEN":
35+
if(\MVC\Classe\Application::is_under_update()) {
36+
$this->route = null;
37+
break;
38+
}
39+
default:
40+
$dispacher = new Dispacher();
41+
$this->route = $dispacher->route;
42+
}
43+
3144
}
3245

3346
public function launch()
@@ -40,4 +53,15 @@ public function launch()
4053
\MVC\Object\Alert::remove();
4154
}
4255
}
56+
57+
public static function is_under_update(){
58+
$ajh = new \DateTime('NOW');
59+
$maintenance_begin = new \DateTime(MAINTENANCE_DATE_DEBUT);
60+
$maintenance_fin = new \DateTime(MAINTENANCE_DATE_FIN);
61+
if($maintenance_begin < $ajh && $ajh < $maintenance_fin) {
62+
return true;
63+
}else{
64+
return false;
65+
}
66+
}
4367
}

application/class/Browser.php

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -210,10 +210,22 @@ public function isBot()
210210

211211
public function isAppRequest()
212212
{
213-
if (preg_match('#App#', $this->user)) {
214-
return true;
215-
} else {
216-
return false;
213+
switch(APP_STATE) {
214+
case "CLOSED":
215+
case "MAINTAINED":
216+
return false;
217+
break;
218+
case "OPEN":
219+
if(\MVC\Classe\Application::is_under_update()) {
220+
return false;
221+
break;
222+
}
223+
default:
224+
if (preg_match('#App#', $this->user)) {
225+
return true;
226+
} else {
227+
return false;
228+
}
217229
}
218230
}
219231
}

application/class/Url.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,22 @@ public function __construct($method, $appRequest)
6262
unset($urlParts[1]);
6363
}
6464

65+
//Mise en place du statut de l'application
66+
switch(APP_STATE){
67+
case "CLOSED":
68+
$page['name'] = "error-application-closed";
69+
break;
70+
case "MAINTAINED":
71+
$page['name'] = "error-application-maintained";
72+
break;
73+
case "OPEN":
74+
if(\MVC\Classe\Application::is_under_update()) {
75+
$page['name'] = "error-application-maintained";
76+
break;
77+
}
78+
default:
79+
}
80+
6581
//vérification du nombre de parametres:
6682
$numParts = count($urlParts);
6783
//s'il n'existe pas autant de clé que de valeurs, ce peut ^etre un module symfony ou tout autre module
Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,23 @@
11
<?php
22

3+
34
// De base laisser vide,
45
// sauf si l'application est hebergé sur de multiples sous-repertoire en ajoutant le slash_final
56
// par exemple : "my-app/"
67
// ou : "my-app/dev/
78
define("BASE_SERVER_DIRECTORY", "");
89

910
// Optionnel! il n'est nécessaire que si vous l'utilisez dans les fichiers de traitement ou dans une commande console
10-
define('PATH_URL',"http://www.domain.org/");
11+
define('PATH_URL', $_SERVER['REQUEST_SCHEME'] . "://localhost.localdomain");
12+
13+
14+
//Possible values are DEV DEVEL PROD PREPROD TEST
15+
//only PROD send email to right user
16+
define('ENV', "DEV");
17+
18+
//Possible values are OPEN CLOSED MAINTAINED
19+
define('APP_STATE', "OPEN");
1120

12-
define('ENV', "DEV", true);
21+
define('MAINTENANCE_DATE_DEBUT', '2021-07-30 12:00');
22+
define('MAINTENANCE_DATE_FIN', '2021-07-30 14:00');
23+
define('MAINTENANCE_MESSAGE', "Mise à jour de la base de données");
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?php
2+
3+
define('LDAP_USER','cn=name, ou=group, dc=domain, dc=tld');
4+
define('LDAP_PASSWORD','password');
5+
define('LDAP_URL',"ldap://ldap.domain.tld");
6+
define('LDAP_PORT',"389");
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?php
2+
3+
/**
4+
* Controlleur permettant d'afficher la page d'erreur lors d'une fermeture de l'application
5+
*/
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?php
2+
3+
/**
4+
* Controlleur permettant d'afficher la page d'erreur lors d'une maintenance de l'application
5+
*/
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,6 @@
11
<?php
2+
3+
/**
4+
* Controlleur permettant d'afficher la page d'erreur 404 page inexistante
5+
*/
6+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
name : error-application-closed
2+
page_title : Page de fermeture de l'application
3+
description : UFC - Page de fermeture de l'application
4+
engine : blade
5+
authentification : no
6+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
name : error-application-maintained
2+
page_title : Page de maintenance de l'application
3+
description : UFC - Page de maintenance de l'application
4+
engine : blade
5+
authentification : no
6+

0 commit comments

Comments
 (0)