Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 3083 Rev 3584
Line 12... Line 12...
12
 
12
 
13
/**
13
/**
14
 * Migre les observations et les images d'un utilisateur, lorsqu'il change d'adresse email
14
 * Migre les observations et les images d'un utilisateur, lorsqu'il change d'adresse email
15
 * (ou les migre d'un utilisateur à l'autre)
15
 * (ou les migre d'un utilisateur à l'autre)
16
 * 
16
 * 
17
 * Utilisation : http://domain/serice:cel/Modification/?mail=ancien_email@x.fr&nouveau_mail=nouvel_email@x.fr
17
 * Utilisation : http://domain/service:cel/Modification/?mail=oldemail@example.fr&nouveau_mail=newemail@example.fr
18
 */
18
 */
19
class Modification extends Cel {
19
class Modification extends Cel {
20
	
20
 
21
	public $table_image = "cel_images";
21
	public $table_image = "photo";
22
	public $table_obs = "cel_obs";
22
	public $table_obs = "occurrence";
23
	
23
 
24
	public function getRessource() {
24
	public function getRessource() {
25
		return $this->getElement(array());
25
		return $this->getElement(array());
26
	}
26
	}
27
	
27
 
Line 28... Line 28...
28
	public function getElement($uid) {
28
	public function getElement($uid) {
29
 
29
 
30
		$mail = (isset($_GET['mail'])) ? $_GET['mail'] : false;
30
		$ancien_mail = (isset($_GET['mail'])) ? $_GET['mail'] : false;
31
		$nouveau_mail = (isset($_GET['nouveau_mail'])) ? $_GET['nouveau_mail'] : false;
31
		$nouveau_mail = (isset($_GET['nouveau_mail'])) ? $_GET['nouveau_mail'] : false;
32
		
32
 
-
 
33
		if(!$ancien_mail) {
33
		if(!$mail) {
34
			$this->envoyer("false");
34
			$this->envoyer("false");
35
			return;
35
		}
-
 
36
		
-
 
37
		$ancien_mail = $mail;
-
 
38
		$nouveau_mail = $nouveau_mail;
36
		}
39
		
37
 
40
		// si le mail n'a pas changé, on ne change rien
38
		// si le mail n'a pas changé, on ne change rien
41
		if($ancien_mail == $nouveau_mail) {
39
		if($ancien_mail == $nouveau_mail) {
42
			$this->envoyer("OK");
40
			$this->envoyer("OK");
43
			return;
41
			return;
44
		}
42
		}
45
		
43
 
46
		// Sinon on doit changer des trucs dans les obs et les images
-
 
47
		
-
 
48
		// Une clé existe sur ordre, id_utilisateur et courriel utilisateur 
-
 
49
		
-
 
50
		// Décalage de l'ordre d'éventuelles observations déjà existantes
-
 
51
		$requete_decalage_ordre_obs_1 = "UPDATE ".$this->table_obs." SET ordre = ordre + 9999999 ".
-
 
52
				"WHERE courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail);
-
 
53
		$requete_decalage_ordre_obs_2 = "UPDATE ".$this->table_obs." SET ordre = ordre + 19999999 ".
-
 
54
				"WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);
-
 
55
		
-
 
56
		Cel::db()->executer($requete_decalage_ordre_obs_1);
-
 
57
		Cel::db()->executer($requete_decalage_ordre_obs_2);
44
		// Sinon on doit changer des trucs dans les obs et les images
58
		
45
 
59
		$requete_maj_mail_obs = "UPDATE ".$this->table_obs." SET courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." ".
46
		$requete_maj_mail_obs = "UPDATE ".$this->table_obs." SET user_email = ".Cel::db()->proteger($nouveau_mail)." ".
60
					"WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);
47
			"WHERE user_email = ".Cel::db()->proteger($ancien_mail);
61
		
48
 
62
		Cel::db()->executer($requete_maj_mail_obs);
-
 
63
		
-
 
64
		$requete_maj_ordre_obs = "SELECT @ordval := 0; ".
-
 
65
					"UPDATE ".$this->table_obs." ".
-
 
66
					"SET ordre = (SELECT @ordval := @ordval + 1) ".
-
 
67
        			"WHERE courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." ".
-
 
68
        			"ORDER BY date_creation ";
-
 
69
		
-
 
70
		Cel::db()->executerRequete($requete_maj_ordre_obs);
-
 
71
		
-
 
72
		// Décalage de l'ordre d'éventuelles images déjà existantes
-
 
73
		$requete_decalage_ordre_img_1 = "UPDATE ".$this->table_image." SET ordre = ordre + 9999999 ".
-
 
74
				"WHERE courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail);
-
 
75
		
-
 
76
		$requete_decalage_ordre_img_2 = "UPDATE ".$this->table_image." SET ordre = ordre + 19999999 ".
-
 
77
				"WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);
-
 
78
		
-
 
79
		Cel::db()->executer($requete_decalage_ordre_img_1);
-
 
80
		Cel::db()->executer($requete_decalage_ordre_img_2);		
49
		Cel::db()->executer($requete_maj_mail_obs);
81
		
50
 
82
		$requete_maj_mail_img = "UPDATE ".$this->table_image." SET courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." ".
51
		$requete_maj_mail_img = "UPDATE ".$this->table_image." SET user_email = ".Cel::db()->proteger($nouveau_mail)." ".
83
				"WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);
52
			"WHERE user_email = ".Cel::db()->proteger($ancien_mail);
84
		
53
 
85
		Cel::db()->executer($requete_maj_mail_img);
54
		Cel::db()->executer($requete_maj_mail_img);
86
		
55
 
87
		$requete_maj_ordre_img = "SELECT @ordval := 0; ".
56
		$requete_maj_ordre_img = "SELECT @ordval := 0; ".
88
					"UPDATE ".$this->table_image." ".
57
			"UPDATE ".$this->table_image." ".
89
					"SET ordre = (SELECT @ordval := @ordval + 1) ".
58
			"SET ordre = (SELECT @ordval := @ordval + 1) ".
90
					"WHERE courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." ".
59
			"WHERE user_email = ".Cel::db()->proteger($nouveau_mail)." ".
91
					"ORDER BY date_creation ";
60
			"ORDER BY date_creation ";
92
		
61
 
93
		Cel::db()->executerRequete($requete_maj_ordre_img);
62
		Cel::db()->executerRequete($requete_maj_ordre_img);
94
		
63
 
95
		$this->envoyer("OK");
64
		$this->envoyer("OK");
96
		return;
65
		return;
97
	}
66
	}