Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 425 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 425 Rev 1069
Line 7... Line 7...
7
	/** Niveau de message de type AVERTISSEMENT */
7
	/** Niveau de message de type AVERTISSEMENT */
8
	const MSG_AVERTISSEMENT = 2;
8
	const MSG_AVERTISSEMENT = 2;
9
	/** Niveau de message de type INFORMATION */
9
	/** Niveau de message de type INFORMATION */
10
	const MSG_INFO = 3;
10
	const MSG_INFO = 3;
Line 11... Line 11...
11
 
11
 
12
	/** Inititulé des différents types de message. */
12
	/** Inititulé des différents types de message. */
13
	private static $msg_niveaux_txt = array('LOG', 'ERREUR','AVERTISSEMENT', 'INFO');
13
	private static $msg_niveaux_txt = array('LOG', 'ERREUR','AVERTISSEMENT', 'INFO');
Line 14... Line 14...
14
	private $verbosite = '';
14
	private $verbosite = '';
15
 
15
 
16
	public function __construct($verbosite = 0) {
16
	public function __construct($verbosite = 0) {
Line 17... Line 17...
17
		$this->verbosite = $verbosite;
17
		$this->verbosite = $verbosite;
18
	}
18
	}
19
 
19
 
20
	/**
20
	/**
21
	 * Affiche un message d'erreur formaté.
21
	 * Affiche un message d'erreur formaté.
22
	 * Si le paramétre de verbosité (-v) vaut 1 ou plus, le message est écrit dans le fichier de log et afficher dans la console.
22
	 * Si le paramétre de verbosité (-v) vaut 1 ou plus, le message est écrit dans le fichier de log et afficher dans la console.
23
	 *
23
	 *
24
	 * @param string le message d'erreur avec des %s.
24
	 * @param string le message d'erreur avec des %s.
25
	 * @param array le tableau des paramêtres à insérer dans le message d'erreur.
25
	 * @param array le tableau des paramêtres à insérer dans le message d'erreur.
26
	 * @return void.
26
	 * @return void.
27
	 */
-
 
28
	public function traiterErreur($message, $tab_arguments = array()) {
-
 
29
		$this->traiterMessage($message, $tab_arguments, self::MSG_ERREUR);
-
 
30
	}
-
 
31
 
-
 
32
	/**
-
 
33
	 * Affiche un message d'avertissement formaté.
-
 
34
	 * Si le paramétre de verbosité (-v) vaut 1, le message est écrit dans le fichier de log.
-
 
35
	 * Si le paramétre de verbosité (-v) vaut 2 ou plus, le message est écrit dans le fichier de log et afficher dans la console.
-
 
36
	 *
-
 
37
	 * @param string le message d'erreur avec des %s.
-
 
38
	 * @param array le tableau des paramêtres à insérer dans le message d'erreur.
-
 
39
	 * @return void.
-
 
40
	 */
-
 
41
	public function traiterAvertissement($message, $tab_arguments = array()) {
-
 
42
		$this->traiterMessage($message, $tab_arguments, self::MSG_AVERTISSEMENT);
-
 
43
	}
-
 
44
 
-
 
45
	/**
-
 
46
	 * Retourne un message d'information formaté.
-
 
47
	 * Si le paramétre de verbosité (-v) vaut 1 ou 2 , le message est écrit dans le fichier de log.
-
 
48
	 * Si le paramétre de verbosité (-v) vaut 3 ou plus, le message est écrit dans le fichier de log et afficher dans la console.
-
 
49
	 *
-
 
50
	 * @param string le message d'information avec des %s.
-
 
51
	 * @param array le tableau des paramêtres à insérer dans le message d'erreur.
-
 
52
	 * @return void.
-
 
53
	 */
-
 
54
	public function traiterInfo($message, $tab_arguments = array()) {
-
 
55
		$this->traiterMessage($message, $tab_arguments, self::MSG_INFO);
-
 
56
	}
-
 
57
 
-
 
58
	/**
-
 
59
	 * Retourne un message formaté en le stockant dans un fichier de log si nécessaire.
-
 
60
	 *
-
 
61
	 * @param string le message d'erreur avec des %s.
-
 
62
	 * @param array le tableau des paramêtres à insérer dans le message d'erreur.
-
 
63
	 * @param int le niveau de verbosité à dépasser pour afficher les messages.
-
 
64
	 * @return void.
-
 
65
	 */
-
 
66
	private function traiterMessage($message, $tab_arguments, $niveau = self::MSG_LOG) {
-
 
67
		$log = $this->formaterMsg($message, $tab_arguments, $niveau);
-
 
68
		if ($this->verbosite > ($niveau - 1)) {
-
 
69
			echo $log;
-
 
70
			if (Config::get('log_script')) {
-
 
71
				// TODO : lancer le log
-
 
72
			}
-
 
73
		}
-
 
74
	}
-
 
75
 
-
 
76
	/**
-
 
77
	 * Retourne un message d'information formaté.
-
 
78
	 *
-
 
79
	 * @param string le message d'information avec des %s.
-
 
80
	 * @param array le tableau des paramêtres à insérer dans le message d'erreur.
-
 
81
	 * @return string le message d'erreur formaté.
-
 
82
	 */
-
 
83
	public function formaterMsg($message, $tab_arguments = array(), $niveau = null) {
-
 
84
		$texte = vsprintf($message, $tab_arguments);
-
 
85
		$prefixe = date('Y-m-j_H:i:s', time());
-
 
86
		$prefixe .= is_null($niveau) ? ' : ' : ' - '.self::getMsgNiveauTxt($niveau).' : ';
-
 
87
		$log = $prefixe.$texte."\n";
-
 
88
		return $log;
-
 
89
	}
-
 
90
 
-
 
91
	private static function getMsgNiveauTxt($niveau) {
-
 
92
		return self::$msg_niveaux_txt[$niveau];
-
 
93
	}
-
 
94
 
-
 
95
	/**
-
 
96
	 * Utiliser cette méthode dans une boucle pour afficher un message suivi du nombre de tour de boucle effectué.
-
 
97
	 * Vous devrez vous même gérer le retour à la ligne à la sortie de la boucle.
-
 
98
	 *
-
 
99
	 * @param string le message d'information.
-
 
100
	 * @param int le nombre de départ à afficher.
-
 
101
	 * @return void le message est affiché dans la console.
-
 
102
	 */
-
 
103
	public static function afficherAvancement($message, $depart = 0) {
-
 
104
		static $avancement = array();
-
 
105
		if (! array_key_exists($message, $avancement)) {
-
 
106
			$avancement[$message] = $depart;
-
 
107
			echo "$message : ";
-
 
108
 
-
 
109
			$actuel =& $avancement[$message];
-
 
110
			echo $actuel++;
-
 
111
		} else {
-
 
112
			$actuel =& $avancement[$message];
-
 
113
 
-
 
114
			// Cas du passage de 99 (= 2 caractères) à 100 (= 3 caractères)
-
 
115
			$passage = 0;
-
 
116
			if (strlen((string) ($actuel - 1)) < strlen((string) ($actuel))) {
-
 
117
				$passage = 1;
-
 
118
			}
-
 
119
 
-
 
120
			echo str_repeat(chr(8), (strlen((string) $actuel) - $passage));
27
	 */
121
			echo $actuel++;
-
 
122
		}
-
 
123
	}
28
	public function traiterErreur($message, $tab_arguments = array()) {
-
 
29
		$this->traiterMessage($message, $tab_arguments, self::MSG_ERREUR);
-
 
30
	}
-
 
31
 
-
 
32
	/**
-
 
33
	 * Affiche un message d'avertissement formaté.
-
 
34
	 * Si le paramétre de verbosité (-v) vaut 1, le message est écrit dans le fichier de log.
-
 
35
	 * Si le paramétre de verbosité (-v) vaut 2 ou plus, le message est écrit dans le fichier de log et afficher dans la console.
-
 
36
	 *
-
 
37
	 * @param string le message d'erreur avec des %s.
-
 
38
	 * @param array le tableau des paramêtres à insérer dans le message d'erreur.
-
 
39
	 * @return void.
-
 
40
	 */
-
 
41
	public function traiterAvertissement($message, $tab_arguments = array()) {
-
 
42
		$this->traiterMessage($message, $tab_arguments, self::MSG_AVERTISSEMENT);
-
 
43
	}
-
 
44
 
-
 
45
	/**
-
 
46
	 * Retourne un message d'information formaté.
-
 
47
	 * Si le paramétre de verbosité (-v) vaut 1 ou 2 , le message est écrit dans le fichier de log.
-
 
48
	 * Si le paramétre de verbosité (-v) vaut 3 ou plus, le message est écrit dans le fichier de log et afficher dans la console.
-
 
49
	 *
-
 
50
	 * @param string le message d'information avec des %s.
-
 
51
	 * @param array le tableau des paramêtres à insérer dans le message d'erreur.
-
 
52
	 * @return void.
-
 
53
	 */
-
 
54
	public function traiterInfo($message, $tab_arguments = array()) {
-
 
55
		$this->traiterMessage($message, $tab_arguments, self::MSG_INFO);
-
 
56
	}
-
 
57
 
-
 
58
	/**
-
 
59
	 * Retourne un message formaté en le stockant dans un fichier de log si nécessaire.
-
 
60
	 *
-
 
61
	 * @param string le message d'erreur avec des %s.
-
 
62
	 * @param array le tableau des paramêtres à insérer dans le message d'erreur.
-
 
63
	 * @param int le niveau de verbosité à dépasser pour afficher les messages.
-
 
64
	 * @return void.
-
 
65
	 */
-
 
66
	private function traiterMessage($message, $tab_arguments, $niveau = self::MSG_LOG) {
-
 
67
		$log = $this->formaterMsg($message, $tab_arguments, $niveau);
-
 
68
		if ($this->verbosite > ($niveau - 1)) {
-
 
69
			echo $log;
-
 
70
			if (Config::get('log_script')) {
-
 
71
				// TODO : lancer le log
-
 
72
			}
-
 
73
		}
-
 
74
	}
-
 
75
 
-
 
76
	/**
-
 
77
	 * Retourne un message d'information formaté.
-
 
78
	 *
-
 
79
	 * @param string le message d'information avec des %s.
-
 
80
	 * @param array le tableau des paramêtres à insérer dans le message d'erreur.
-
 
81
	 * @return string le message d'erreur formaté.
-
 
82
	 */
-
 
83
	public function formaterMsg($message, $tab_arguments = array(), $niveau = null) {
-
 
84
		$texte = vsprintf($message, $tab_arguments);
-
 
85
		$prefixe = date('Y-m-j_H:i:s', time());
-
 
86
		$prefixe .= is_null($niveau) ? ' : ' : ' - '.self::getMsgNiveauTxt($niveau).' : ';
-
 
87
		$log = $prefixe.$texte."\n";
-
 
88
		return $log;
-
 
89
	}
-
 
90
 
-
 
91
	private static function getMsgNiveauTxt($niveau) {
-
 
92
		return self::$msg_niveaux_txt[$niveau];
-
 
93
	}
-
 
94
 
-
 
95
	/**
-
 
96
	 * Utiliser cette méthode dans une boucle pour afficher un message suivi du nombre de tour de boucle effectué.
-
 
97
	 * Vous devrez vous même gérer le retour à la ligne à la sortie de la boucle.
-
 
98
	 *
-
 
99
	 * @param string le message d'information.
-
 
100
	 * @param int le nombre de départ à afficher.
-
 
101
	 * @return void le message est affiché dans la console.
-
 
102
	 */
-
 
103
	public static function afficherAvancement($message, $depart = 0) {
-
 
104
		static $avancement = array();
-
 
105
		if (! array_key_exists($message, $avancement)) {
-
 
106
			$avancement[$message] = $depart;
-
 
107
			echo "$message : ";
-
 
108
 
-
 
109
			$actuel =& $avancement[$message];
-
 
110
			echo $actuel++;
-
 
111
		} else {
-
 
112
			$actuel =& $avancement[$message];
-
 
113
 
-
 
114
			// Cas du passage de 99 (= 2 caractères) à 100 (= 3 caractères)
-
 
115
			$passage = 0;
-
 
116
			if (strlen((string) ($actuel - 1)) < strlen((string) ($actuel))) {
-
 
117
				$passage = 1;
-
 
118
			}
-
 
119
 
-
 
120
			echo str_repeat(chr(8), (strlen((string) $actuel) - $passage));
-
 
121
			echo $actuel++;
-
 
122
		}
124
}
123
	}