Subversion Repositories eFlore/Projets.eflore-projets

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

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