Passed
Push — master ( 766755...bcd94f )
by Anthony
04:03
created

FlashMessage   A

Complexity

Total Complexity 10

Size/Duplication

Total Lines 63
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 10
c 2
b 0
f 0
lcom 0
cbo 0
dl 0
loc 63
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A setFlash() 0 19 3
B getFlash() 0 22 4
A setStartSession() 0 5 2
1
<?php
2
	namespace core\HTML\flashmessage;
3
4
	class FlashMessage {
5
6
		public function __construct() {
7
			self::setStartSession();
8
		}
9
10
11
		/**
12
		 * @param string $message message a affiche dans la popup d'erreur
13
		 * @param string $type type du message (error, success, info)
14
		 */
15
		public static function setFlash($message, $type = "error") {
16
			self::setStartSession();
17
18
			if ($type == "error") {
19
				$icone = "<i class='fa fa-close'></i>";
20
			}
21
			else if ($type == "success") {
22
				$icone = "<i class='fa fa-check'></i>";
23
			}
24
			else {
25
				$icone = "<i class='fa fa-info'></i>";
26
			}
27
28
			$_SESSION['flash'] = array(
29
				'message'=> $message,
30
				'type' => $type,
31
				'icone' => $icone
32
			);
33
		}
34
35
		/**
36
		 * pour afficher un message d'info definit avec setFlash()
37
		 */
38
		public static function getFlash() {
39
			self::setStartSession();
40
			if (isset($_SESSION['flash'])) {
41
42
				//on check si on vient de index.php ou admin.php
43
				if (strstr($_SERVER['SCRIPT_NAME'], "index.php")) {
44
					//definit le chemin sachant que l'on part de index.php
45
					$chemin = str_replace("\\", "/", str_replace("index.php", "", $_SERVER['SCRIPT_NAME']).__NAMESPACE__."/view/");
46
				}
47
				else if  (strstr($_SERVER['SCRIPT_NAME'], "installation.php")) {
48
					//definit le chemin sachant que l'on part de admin.php
49
					$chemin = str_replace("\\", "/", str_replace("installation.php", "", $_SERVER['SCRIPT_NAME']).__NAMESPACE__."/view/");
50
				}
51
				else {
52
					//definit le chemin sachant que l'on part de admin.php
53
					$chemin = str_replace("\\", "/", str_replace("admin.php", "", $_SERVER['SCRIPT_NAME']).__NAMESPACE__."/view/");
54
				}
55
56
				require("view/index.php");
57
				unset($_SESSION['flash']);
58
			}
59
		}
60
61
		private static function setStartSession() {
62
			if (session_id() == "") {
63
				session_start();
64
			}
65
		}
66
	}