Rev 2764 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*** PHP Version 5** @category PHP* @package cel* @author aurelien <aurelien@tela-botanica.org>* @copyright 2015 Tela-Botanica* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL* @version SVN: <svn_id>*/class Modification extends Cel {public $table_image = "cel_images";public $table_obs = "cel_obs";public function getRessource() {return $this->getElement(array());}public function getElement($uid) {$id_utilisateur = (isset($_GET['id_utilisateur'])) ? $_GET['id_utilisateur'] : false;$mail = (isset($_GET['mail'])) ? $_GET['mail'] : false;$nouveau_mail = (isset($_GET['nouveau_mail'])) ? $_GET['nouveau_mail'] : false;if(!$mail || !$id_utilisateur) {$this->envoyer("false");}$ancien_mail = $mail;$nouveau_mail = $nouveau_mail;// si le mail n'a pas changé, on ne change rienif($ancien_mail == $nouveau_mail) {$this->envoyer("OK");return;}// Sinon on doit changer des trucs dans les obs et les images// Une clé existe sur ordre, id_utilisateur et courriel utilisateur// Décalage de l'ordre d'éventuelles observations déjà existantes$requete_decalage_ordre_obs_1 = "UPDATE ".$this->table_obs." SET ordre = ordre + 9999999 "."WHERE courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail);$requete_decalage_ordre_obs_2 = "UPDATE ".$this->table_obs." SET ordre = ordre + 19999999 "."WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);Cel::db()->executer($requete_decalage_ordre_obs_1);Cel::db()->executer($requete_decalage_ordre_obs_2);$requete_maj_mail_obs = "UPDATE ".$this->table_obs." SET courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." "."WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);Cel::db()->executer($requete_maj_mail_obs);$requete_maj_ordre_obs = "SELECT @ordval := 0; "."UPDATE ".$this->table_obs." "."SET ordre = (SELECT @ordval := @ordval + 1) "."WHERE courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." "."ORDER BY date_creation ";Cel::db()->executerRequete($requete_maj_ordre_obs);// Décalage de l'ordre d'éventuelles images déjà existantes$requete_decalage_ordre_img_1 = "UPDATE ".$this->table_image." SET ordre = ordre + 9999999 "."WHERE courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail);$requete_decalage_ordre_img_2 = "UPDATE ".$this->table_image." SET ordre = ordre + 19999999 "."WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);Cel::db()->executer($requete_decalage_ordre_img_1);Cel::db()->executer($requete_decalage_ordre_img_2);$requete_maj_mail_img = "UPDATE ".$this->table_image." SET courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." "."WHERE courriel_utilisateur = ".Cel::db()->proteger($ancien_mail);Cel::db()->executer($requete_maj_mail_img);$requete_maj_ordre_img = "SELECT @ordval := 0; "."UPDATE ".$this->table_image." "."SET ordre = (SELECT @ordval := @ordval + 1) "."WHERE courriel_utilisateur = ".Cel::db()->proteger($nouveau_mail)." "."ORDER BY date_creation ";Cel::db()->executerRequete($requete_maj_ordre_img);$this->envoyer("OK");return;}}