Subversion Repositories eFlore/Applications.cel

Rev

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) {
2761 aurelien 20
 
21
		$_GET = array(
22
				'id_utilisateur' => '10229',
23
				'prenom' => 'Aurélien',
24
				'nom' => "PERONNET",
25
				'mail' => 'aurelienperonnet@gmail.com',
26
				'pass' => 'dfgregf',
27
				'pays' => 'dfgregf',
28
				'nouveau_pass' => 'dfgregf',
29
				'nouveau_mail' => trim('aurelien@tela-botanica.org')
30
		);
2760 aurelien 31
 
32
		$id_utilisateur = (isset($_GET['id_utilisateur'])) ? $_GET['id_utilisateur'] : false;
33
		$mail = (isset($_GET['mail'])) ? $_GET['mail'] : false;
34
		$nouveau_mail = (isset($_GET['nouveau_mail'])) ? $_GET['nouveau_mail'] : false;
35
 
36
		if(!$mail || !$id_utilisateur) {
37
			$this->envoyer("false");
38
		}
39
 
40
		$ancien_mail = $mail;
41
		$nouveau_mail = $nouveau_mail;
42
 
43
		// si le mail n'a pas changé, on ne change rien
44
		if($ancien_mail == $nouveau_mail) {
45
			$this->envoyer("OK");
46
			return;
47
		}
48
 
2761 aurelien 49
		// Sinon on doit changer des trucs dans les obs et les images
2760 aurelien 50
 
2761 aurelien 51
		// Une clé existe sur ordre, id_utilisateur et courriel utilisateur
52
 
53
		// Décalage de l'ordre d'éventuelles observations déjà existantes
54
		$requete_decalage_ordre_obs_1 = "UPDATE ".$this->table_obs." SET ordre = ordre + 9999999 ".
55
				"WHERE courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail);
56
		$requete_decalage_ordre_obs_2 = "UPDATE ".$this->table_obs." SET ordre = ordre + 19999999 ".
57
				"WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);
58
 
59
		Cel::db()->executer($requete_decalage_ordre_obs_1);
60
		Cel::db()->executer($requete_decalage_ordre_obs_2);
61
 
2760 aurelien 62
		$requete_maj_mail_obs = "UPDATE ".$this->table_obs." SET courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." ".
63
					"WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);
64
 
65
		Cel::db()->executer($requete_maj_mail_obs);
66
 
67
		$requete_maj_ordre_obs = "SELECT @ordval := 0; ".
68
					"UPDATE ".$this->table_obs." ".
69
					"SET ordre = (SELECT @ordval := @ordval + 1) ".
70
        			"WHERE courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." ".
2761 aurelien 71
        			"ORDER BY date_creation ";
2760 aurelien 72
 
2761 aurelien 73
		Cel::db()->executerRequete($requete_maj_ordre_obs);
2760 aurelien 74
 
2761 aurelien 75
		// Décalage de l'ordre d'éventuelles images déjà existantes
76
		$requete_decalage_ordre_img_1 = "UPDATE ".$this->table_image." SET ordre = ordre + 9999999 ".
77
				"WHERE courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail);
78
 
79
		$requete_decalage_ordre_img_2 = "UPDATE ".$this->table_image." SET ordre = ordre + 19999999 ".
2760 aurelien 80
				"WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);
81
 
2761 aurelien 82
		Cel::db()->executer($requete_decalage_ordre_img_1);
83
		Cel::db()->executer($requete_decalage_ordre_img_2);
84
 
85
		$requete_maj_mail_img = "UPDATE ".$this->table_image." SET courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." ".
86
				"WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);
87
 
2760 aurelien 88
		Cel::db()->executer($requete_maj_mail_img);
89
 
90
		$requete_maj_ordre_img = "SELECT @ordval := 0; ".
2761 aurelien 91
					"UPDATE ".$this->table_image." ".
2760 aurelien 92
					"SET ordre = (SELECT @ordval := @ordval + 1) ".
93
					"WHERE courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." ".
2761 aurelien 94
					"ORDER BY date_creation ";
2760 aurelien 95
 
2761 aurelien 96
		Cel::db()->executerRequete($requete_maj_ordre_img);
2760 aurelien 97
 
98
		$this->envoyer("OK");
99
		return;
100
	}
101
}