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 |
|
3084 |
mathias |
13 |
/**
|
|
|
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)
|
|
|
16 |
*
|
|
|
17 |
* Utilisation : http://domain/serice:cel/Modification/?mail=ancien_email@x.fr&nouveau_mail=nouvel_email@x.fr
|
|
|
18 |
*/
|
2760 |
aurelien |
19 |
class Modification extends Cel {
|
|
|
20 |
|
|
|
21 |
public $table_image = "cel_images";
|
|
|
22 |
public $table_obs = "cel_obs";
|
|
|
23 |
|
2770 |
aurelien |
24 |
public function getRessource() {
|
|
|
25 |
return $this->getElement(array());
|
|
|
26 |
}
|
|
|
27 |
|
2760 |
aurelien |
28 |
public function getElement($uid) {
|
3084 |
mathias |
29 |
|
2760 |
aurelien |
30 |
$mail = (isset($_GET['mail'])) ? $_GET['mail'] : false;
|
|
|
31 |
$nouveau_mail = (isset($_GET['nouveau_mail'])) ? $_GET['nouveau_mail'] : false;
|
|
|
32 |
|
3084 |
mathias |
33 |
if(!$mail) {
|
2760 |
aurelien |
34 |
$this->envoyer("false");
|
|
|
35 |
}
|
|
|
36 |
|
|
|
37 |
$ancien_mail = $mail;
|
|
|
38 |
$nouveau_mail = $nouveau_mail;
|
|
|
39 |
|
|
|
40 |
// si le mail n'a pas changé, on ne change rien
|
|
|
41 |
if($ancien_mail == $nouveau_mail) {
|
|
|
42 |
$this->envoyer("OK");
|
|
|
43 |
return;
|
|
|
44 |
}
|
|
|
45 |
|
2761 |
aurelien |
46 |
// Sinon on doit changer des trucs dans les obs et les images
|
2760 |
aurelien |
47 |
|
2761 |
aurelien |
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);
|
|
|
58 |
|
2760 |
aurelien |
59 |
$requete_maj_mail_obs = "UPDATE ".$this->table_obs." SET courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." ".
|
|
|
60 |
"WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);
|
|
|
61 |
|
|
|
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)." ".
|
2761 |
aurelien |
68 |
"ORDER BY date_creation ";
|
2760 |
aurelien |
69 |
|
2761 |
aurelien |
70 |
Cel::db()->executerRequete($requete_maj_ordre_obs);
|
2760 |
aurelien |
71 |
|
2761 |
aurelien |
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 ".
|
2760 |
aurelien |
77 |
"WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);
|
|
|
78 |
|
2761 |
aurelien |
79 |
Cel::db()->executer($requete_decalage_ordre_img_1);
|
|
|
80 |
Cel::db()->executer($requete_decalage_ordre_img_2);
|
|
|
81 |
|
|
|
82 |
$requete_maj_mail_img = "UPDATE ".$this->table_image." SET courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." ".
|
|
|
83 |
"WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);
|
|
|
84 |
|
2760 |
aurelien |
85 |
Cel::db()->executer($requete_maj_mail_img);
|
|
|
86 |
|
|
|
87 |
$requete_maj_ordre_img = "SELECT @ordval := 0; ".
|
2761 |
aurelien |
88 |
"UPDATE ".$this->table_image." ".
|
2760 |
aurelien |
89 |
"SET ordre = (SELECT @ordval := @ordval + 1) ".
|
|
|
90 |
"WHERE courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." ".
|
2761 |
aurelien |
91 |
"ORDER BY date_creation ";
|
2760 |
aurelien |
92 |
|
2761 |
aurelien |
93 |
Cel::db()->executerRequete($requete_maj_ordre_img);
|
2760 |
aurelien |
94 |
|
|
|
95 |
$this->envoyer("OK");
|
|
|
96 |
return;
|
|
|
97 |
}
|
|
|
98 |
}
|