Passed
Push — master ( 13c680...457c5e )
by Anthony
02:41
created

DateHeure::date_fr_texte()   B

Complexity

Conditions 6
Paths 5

Size

Total Lines 35
Code Lines 23

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 1 Features 0
Metric Value
c 2
b 1
f 0
dl 0
loc 35
rs 8.439
cc 6
eloc 23
nc 5
nop 1
1
<?php
2
	namespace core\functions;
3
4
	use core\HTML\flashmessage\FlashMessage;
5
6
	/**
7
	 * Class DateHeure
8
	 * contient des fonctions afin de faire des calculs sur des dates et des heures,
9
	 * class static
10
	 * @package core\functions
11
	 */
12
	class DateHeure {
13
		public static $annee;
14
		public static $mois;
15
		public static $jour;
16
17
18
19
		/**
20
		 * Fonction pour passer du format H:m en seconde
21
		 * @param int $heure recoit l'heure a passer en minute
22
		 * @param int $minute recoit les minutes a passer en minute
23
		 * @return double|null
24
		 **/
25
		public static function Heureenseconde($heure, $minute) {
26
			if ((is_numeric($heure)) && (is_numeric($minute))) {
27
				$heuresec = $heure * 3600;
28
				$minutesec = $minute * 60;
29
				$heureseconde = $heuresec + $minutesec;
30
				return $heureseconde;
31
			}
32
			else {
33
				FlashMessage::setFlash("La/les valeurs entrée n'est/ne sont pas de type int");
34
				FlashMessage::getFlash();
35
				die();
36
			}
37
		}
38
39
		/**
40
		 * passe des secondes au format H:m
41
		 * @return string
42
		 */
43
		public static function Secondeenheure($seconde) {
44
			if (is_numeric($seconde)) {
45
				$heure = intval($seconde / 3600);
46
				$minute = intval(($seconde % 3600) / 60);
47
				$seconde = intval(($seconde % 3600) % 60);
48
49
				$temps = $heure."h".$minute."m".$seconde;
50
				return $temps;
51
			}
52
			else {
53
				FlashMessage::setFlash("La valeur entrée n'est pas de type int");
54
				FlashMessage::getFlash();
55
				die();
56
			}
57
		}
58
59
		/**
60
		 * fonction qui change le format heure 12:10 en 12h10
61
		 * @param $temps
62
		 * @return mixed
63
		 */
64
		public static function ChangerFormatHeure($temps) {
65
			if (ChaineCaractere::FindInString($temps, ":") === true) {
66
				$chaine = str_replace(":", "h", $temps);
67
68
				return $chaine;
69
			}
70
			else {
71
				FlashMessage::setFlash("La valeur entrée n'est pas de type h:m");
72
				FlashMessage::getFlash();
73
				die();
74
			}
75
		}
76
77
		/**
78
		 * affiche la date du jour au format jeudi 12 janvier
79
		 * @param integer $date si NULL on prend la date du jour sinon on prend la date qui est mise
80
		 * @param int $abreger si NOT NULL, on abrege la date, on enleve la semaine et on coupe le mois à 3 lettres
0 ignored issues
show
Bug introduced by
There is no parameter named $abreger. Was it maybe removed?

This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function.

Consider the following example. The parameter $italy is not defined by the method finale(...).

/**
 * @param array $germany
 * @param array $island
 * @param array $italy
 */
function finale($germany, $island) {
    return "2:1";
}

The most likely cause is that the parameter was removed, but the annotation was not.

Loading history...
81
		 * @return string
82
		 */
83
		public static function date_fr_texte($date = 0) {
84
			$mois = array("Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Decembre");
85
			$jours = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
86
87
			if ($date == 0) {
88
				return $jours[date("w")]." ".date("j").(date("j") == 1 ? "er" : " ").$mois[date("n") - 1]." ".date("Y");
89
			}
90
			else if ((strpos($date, "-") > 0) || (strpos($date, "/") > 0)) {
91
				$pos = strpos($date, "-");
92
93
				//si $pos > 0 cela veut dire qu'on est en YYYY-mm-jj
94
				if ($pos > 0) {
95
					$explode = explode("-", $date);
96
					$jour_d = $explode[2];
97
					$mois_d = $explode[1];
98
					$annee_d = $explode[0];
99
				}
100
				else {
101
					$explode = explode("/", $date);
102
					$jour_d = $explode[0];
103
					$mois_d = $explode[1];
104
					$annee_d = $explode[2];
105
				}
106
107
				$jour_semaine = $jours[date("w", mktime(0, 0, 0, $mois_d, $jour_d, $annee_d))];
108
109
				return $jour_semaine." ".$jour_d." ".$mois[$mois_d - 1]." ".$annee_d;
110
111
			}
112
			else {
113
				FlashMessage::setFlash("Format de date passé en paramètre ne correspond pas à YYYY-mm-jj ou jj/mm/YYYY");
114
				FlashMessage::getFlash();
115
				die();
116
			}
117
		}
118
119
		/**
120
		 * Transformation de la date format YYYY-mm-jj en jj/mm/aaaa
121
		 * @param string $date corespond a la date au format YYYY-mm-jj
122
		 * @return string
123
		 */
124
		public static function modif_date_affichage($date) {
125
			$pos = strpos($date, "-");
126
127
			if ($pos > 0) {
128
				$explode = explode("-", $date);
129
				$jour = $explode[2];
130
				$mois = $explode[1];
131
				$annee = $explode[0];
132
133
				self::$jour = $jour;
134
				self::$mois = $mois;
135
				self::$annee = $annee;
136
137
				return $jour."/".$mois."/".$annee;
138
			}
139
			else {
140
				FlashMessage::setFlash("format de date passé en paramètre ne correspond pas à YYYY-mm-jj");
141
				FlashMessage::getFlash();
142
				die();
143
			}
144
		}
145
146
		/**
147
		 * Transformation de la date format jj/mm/aaaa en YYYY-mm-jj pour insertion bdd
148
		 * @param string $date corespond a la date au format jj/mm/aaaa
149
		 * @return string
150
		 */
151
		public static function modif_date_bdd($date) {
152
			$pos = strpos($date, "/");
153
154
			if ($pos > 0) {
155
				$explode = explode("/", $date);
156
				$jour = $explode[0];
157
				$mois = $explode[1];
158
				$annee = $explode[2];
159
160
				return $annee."-".$mois."-".$jour;
161
			}
162
			else {
163
				FlashMessage::setFlash("Format de date passé en paramètre ne correspond pas à jj/mm/aaaa");
164
				FlashMessage::getFlash();
165
				die();
166
			}
167
		}
168
169
		/**
170
		 * fonction qui permet de passer une date d'une bdd en tableau
171
		 * @param $date
172
		 * @return array
173
		 */
174
		public static function dateBddToArray($date) {
175
			$array = explode("-", $date);
176
177
			return $array;
178
		}
179
	}