Subversion Repositories Applications.reseau

Rev

Rev 5 | Rev 8 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5 Rev 7
Line 1... Line 1...
1
<?php
1
<?php
2
/**
2
/**
3
 * Formulaire de rapport d'erreur assisté
3
 * Formulaire de rapport d'erreur assisté
4
 *
4
 *
-
 
5
 * Utilisation: http://www.tela-botanica.org/widget:reseau:rapportErreur
-
 
6
 * Paramètres GET (optionnels):
-
 
7
 *   pageSource : URL de la page depuis laquelle l'utilisateur a cliqué sur "rapporter une erreur"
-
 
8
 *     (exemple: http://www.tela-botanica.org/appli:cel)
-
 
9
 *   email : adresse à laquelle envoyer le rapport, par défaut webmestre@tela-botanica.org, limité à la liste self::$emailsAutorises
-
 
10
 *     (exemple: cel_remarques@tela-botanica.org)
-
 
11
 * 
5
 * @author	Mathias Chouet <mathias@tela-botanica.org>
12
 * @author	Mathias Chouet <mathias@tela-botanica.org>
6
 * @license	GPL v3 <http://www.gnu.org/licenses/gpl.txt>
13
 * @license	GPL v3 <http://www.gnu.org/licenses/gpl.txt>
7
 * @license	CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
14
 * @license	CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
8
 * @version	0.1
15
 * @version	0.1
9
 * @copyright 2014, Tela Botanica (accueil@tela-botanica.org)
16
 * @copyright 2014, Tela Botanica (accueil@tela-botanica.org)
10
 */
17
 */
11
class RapportErreur extends WidgetCommun {
18
class RapportErreur extends WidgetCommun {
Line 12... Line 19...
12
 
19
 
Line -... Line 20...
-
 
20
	const DS = DIRECTORY_SEPARATOR;
-
 
21
 
-
 
22
	/**
-
 
23
	 * adresse de destination par défaut, si une adresse non autorisée est spécifiée,
-
 
24
	 * ou si aucune adresse n'est spécifiée
-
 
25
	 */
-
 
26
	const EMAIL_PAR_DEFAUT = 'webmestre@tela-botanica.org';
-
 
27
 
-
 
28
	/**
13
	const DS = DIRECTORY_SEPARATOR;
29
	 * liste des adresses de destination autorisées
14
 
30
	 */
15
	private static $emailsAutorises = array(
31
	private static $emailsAutorises = array(
16
		'eflore_remarques@tela-botanica.org',
32
		'eflore_remarques@tela-botanica.org',
17
		'pictoflora_remarques@tela-botanica.org',
33
		'pictoflora_remarques@tela-botanica.org',
Line 21... Line 37...
21
		'webmestre@tela-botanica.org',
37
		'webmestre@tela-botanica.org',
22
		'mathias@tela-botanica.org'
38
		'mathias@tela-botanica.org'
23
	);
39
	);
Line 24... Line 40...
24
 
40
 
25
	protected $cheminLog;
-
 
26
 
41
	protected $cheminLog;
27
	protected $pageSource;
42
	protected $pageSource;
28
	protected $emailDestination;
43
	protected $emailDestination;
Line 29... Line 44...
29
	protected $action;
44
	protected $action;
Line 34... Line 49...
34
	protected $systeme;
49
	protected $systeme;
35
	protected $coordonnees;
50
	protected $coordonnees;
Line 36... Line 51...
36
 
51
 
37
	public function __construct($config, $parametres) {
52
	public function __construct($config, $parametres) {
-
 
53
		parent::__construct($config, $parametres);
38
		parent::__construct($config, $parametres);
54
 
39
		$this->pageSource = 'inconnue';
55
		$this->pageSource = 'inconnue';
40
		$this->emailDestination = 'webmestre@tela-botanica.org';
56
		$this->emailDestination = self::EMAIL_PAR_DEFAUT;
Line 41... Line 57...
41
		$this->action = null;
57
		$this->action = null;
42
 
58
 
43
		$this->description = null;
59
		$this->description = null;
Line 136... Line 152...
136
		$contenu .= "Gravité: " . $this->gravite . "\n";
152
		$contenu .= "Gravité: " . $this->gravite . "\n";
137
		$contenu .= "Navigateur: " . $this->navigateur . "\n";
153
		$contenu .= "Navigateur: " . $this->navigateur . "\n";
138
		$contenu .= "Système: " . $this->systeme . "\n";
154
		$contenu .= "Système: " . $this->systeme . "\n";
139
		$contenu .= "Description:\n  " . str_replace("\n", "\n  ", $this->description);
155
		$contenu .= "Description:\n  " . str_replace("\n", "\n  ", $this->description);
Line -... Line 156...
-
 
156
 
-
 
157
		$entetes = 'Content-Type: text/plain; charset="utf-8" ';
-
 
158
		$entetes .= 'Content-Transfer-Encoding: 8bit';
140
 
159
 
141
		$sujet = "[Rapport d'erreur] - " . substr($this->description, 0, 25) .
160
		$sujet = "[Rapport d'erreur] - " . substr($this->description, 0, 25) .
Line 142... Line 161...
142
			"..." . " (" . ($this->coordonnees == '' ? 'inconnu' : $this->coordonnees) . ")";
161
			"..." . " (" . ($this->coordonnees == '' ? 'inconnu' : $this->coordonnees) . ")";
143
 
162
 
144
		// mode charlot - mais y a rien dans le framework pour faire mieux
163
		// mode charlot - mais y a rien dans le framework pour faire mieux
145
		mail($this->emailDestination, $sujet, $contenu);
164
		mail($this->emailDestination, $sujet, $contenu, $entetes);
146
	}
165
	}
147
}
166
}