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