Subversion Repositories eFlore/Applications.cel

Rev

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

Rev Author Line No. Line
2760 aurelien 1
<?php
2
/**
3
 * PHP Version 5
4
*
5
* @category  PHP
6
* @package   cel
7
* @author    aurelien <aurelien@tela-botanica.org>
8
* @copyright 2015 Tela-Botanica
9
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
10
* @version   SVN: <svn_id>
11
*/
12
 
13
 
14
class Modification extends Cel {
15
 
16
	public $table_image = "cel_images";
17
	public $table_obs = "cel_obs";
18
 
19
	public function getElement($uid) {
20
 
21
		$id_utilisateur = (isset($_GET['id_utilisateur'])) ? $_GET['id_utilisateur'] : false;
22
		$mail = (isset($_GET['mail'])) ? $_GET['mail'] : false;
23
		$nouveau_mail = (isset($_GET['nouveau_mail'])) ? $_GET['nouveau_mail'] : false;
24
 
25
		if(!$mail || !$id_utilisateur) {
26
			$this->envoyer("false");
27
		}
28
 
29
		$ancien_mail = $mail;
30
		$nouveau_mail = $nouveau_mail;
31
 
32
		// si le mail n'a pas changé, on ne change rien
33
		if($ancien_mail == $nouveau_mail) {
34
			$this->envoyer("OK");
35
			return;
36
		}
37
 
38
		//TODO: désactiver les contraintes temporairement et les réactiver après
39
		// ou bien décaler les ordres si ça pose problème
40
 
41
		// Sinon on doit changer des trucs dans les obs et les images
42
		$requete_maj_mail_obs = "UPDATE ".$this->table_obs." SET courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." ".
43
					"WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);
44
 
45
		Cel::db()->executer($requete_maj_mail_obs);
46
 
47
		$requete_maj_ordre_obs = "SELECT @ordval := 0; ".
48
					"UPDATE ".$this->table_obs." ".
49
					"SET ordre = (SELECT @ordval := @ordval + 1) ".
50
        			"WHERE courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." ".
51
        			"ORDER BY date_creation; ";
52
 
53
		Cel::db()->executer($requete_maj_ordre_obs);
54
 
55
		$requete_maj_mail_img = "UPDATE ".$this->table_images." SET courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." ".
56
				"WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);
57
 
58
		Cel::db()->executer($requete_maj_mail_img);
59
 
60
		$requete_maj_ordre_img = "SELECT @ordval := 0; ".
61
					"UPDATE ".$this->table_images." ".
62
					"SET ordre = (SELECT @ordval := @ordval + 1) ".
63
					"WHERE courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." ".
64
					"ORDER BY date_creation; ";
65
 
66
		Cel::db()->executer($requete_maj_ordre_img);
67
 
68
		$this->envoyer("OK");
69
		return;
70
	}
71
}