Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 49 | Rev 474 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 49 Rev 65
1
<?php
1
<?php
2
class Outils {
2
class Outils {
3
	public static function recupererTableauConfig($param) {
3
	public static function recupererTableauConfig($parametres) {
4
		$tableau = array();
4
		$tableau = array();
5
		$tableauPartiel = explode(',', Config::get($param));
5
		$tableauPartiel = explode(',', $parametres);
6
		$tableauPartiel = array_map('trim', $tableauPartiel);
6
		$tableauPartiel = array_map('trim', $tableauPartiel);
7
		foreach ($tableauPartiel as $champ) {
7
		foreach ($tableauPartiel as $champ) {
8
			if (strpos($champ, '=') === false) {
8
			if (strpos($champ, '=') === false) {
9
				$tableau[] = $champ;
9
				$tableau[] = $champ;
10
			} else {
10
			} else {
11
				list($cle, $val) = explode('=', $champ);
11
				list($cle, $val) = explode('=', $champ);
-
 
12
				$clePropre = trim($cle);
-
 
13
				$valeurPropre = trim($val);
12
				$tableau[$cle] = $val;
14
				$tableau[$clePropre] = $valeurPropre;
13
			}
15
			}
14
		}
16
		}
15
		return $tableau;
17
		return $tableau;
16
	}
18
	}
17
 
19
 
18
	public static function extraireRequetes($cheminFichierSql) {
-
 
19
		$contenu = file_get_contents($cheminFichierSql);
-
 
20
		if ($contenu === false){
-
 
21
			throw new Exception("Impossible d'ouvrir le fichier SQL : $cheminFichierSql");
-
 
22
		}
-
 
23
 
20
	public static function extraireRequetes($contenuSql) {
24
		$requetesExtraites = explode(";\n", $contenu);
21
		$requetesExtraites = explode(";\n", $contenuSql);
25
		if (count($requetesExtraites) == 0){
22
		if (count($requetesExtraites) == 0){
26
			throw new Exception("Aucune requête n'a été trouvée dans le fichier SQL : $cheminFichierSql");
23
			throw new Exception("Aucune requête n'a été trouvée dans le fichier SQL : $cheminFichierSql");
27
		}
24
		}
28
 
25
 
29
		$requetes = array();
26
		$requetes = array();
30
		foreach ($requetesExtraites as $requete) {
27
		foreach ($requetesExtraites as $requete) {
31
			if (trim($requete) != '') {
28
			if (trim($requete) != '') {
32
				$requetes[] = $requete;
29
				$requetes[] = rtrim(trim($requete), ';');
33
			}
30
			}
34
		}
31
		}
35
		return $requetes;
32
		return $requetes;
36
	}
33
	}
37
 
34
 
38
	/**
35
	/**
39
	* Utiliser cette méthode dans une boucle pour afficher un message suivi du nombre de tour de boucle effectué.
36
	* Utiliser cette méthode dans une boucle pour afficher un message suivi du nombre de tour de boucle effectué.
40
	* Vous devrez vous même gérer le retour à la ligne à la sortie de la boucle.
37
	* Vous devrez vous même gérer le retour à la ligne à la sortie de la boucle.
41
	*
38
	*
42
	* @param string le message d'information.
39
	* @param string le message d'information.
43
	* @param int le nombre de départ à afficher.
40
	* @param int le nombre de départ à afficher.
44
	* @return void le message est affiché dans la console.
41
	* @return void le message est affiché dans la console.
45
	*/
42
	*/
46
	public static function afficherAvancement($message, $depart = 0) {
43
	public static function afficherAvancement($message, $depart = 0) {
47
		static $avancement = array();
44
		static $avancement = array();
48
		if (! array_key_exists($message, $avancement)) {
45
		if (! array_key_exists($message, $avancement)) {
49
			$avancement[$message] = $depart;
46
			$avancement[$message] = $depart;
50
			echo "$message : ";
47
			echo "$message : ";
51
 
48
 
52
			$actuel =& $avancement[$message];
49
			$actuel =& $avancement[$message];
53
			echo $actuel++;
50
			echo $actuel++;
54
		} else {
51
		} else {
55
			$actuel =& $avancement[$message];
52
			$actuel =& $avancement[$message];
56
 
53
 
57
			// Cas du passage de 99 (= 2 caractères) à 100 (= 3 caractères)
54
			// Cas du passage de 99 (= 2 caractères) à 100 (= 3 caractères)
58
			$passage = 0;
55
			$passage = 0;
59
			if (strlen((string) ($actuel - 1)) < strlen((string) ($actuel))) {
56
			if (strlen((string) ($actuel - 1)) < strlen((string) ($actuel))) {
60
				$passage = 1;
57
				$passage = 1;
61
			}
58
			}
62
 
59
 
63
			echo str_repeat(chr(8), (strlen((string) $actuel) - $passage));
60
			echo str_repeat(chr(8), (strlen((string) $actuel) - $passage));
64
			echo $actuel++;
61
			echo $actuel++;
65
		}
62
		}
66
	}
63
	}
67
}
64
}
68
?>
65
?>