| 2044 | aurelien | 1 | <?php
 | 
        
           |  |  | 2 | class InventoryKeywordTree extends Cel {
 | 
        
           |  |  | 3 |   | 
        
           |  |  | 4 | 	//TODO : verifications des paramètres
 | 
        
           |  |  | 5 | 	public static $gestion_mots_cles = null;
 | 
        
           |  |  | 6 |   | 
        
           |  |  | 7 | 	private function getGestionMotsCles($mode) {
 | 
        
           |  |  | 8 | 		if(self::$gestion_mots_cles == null) {
 | 
        
           |  |  | 9 | 			self::$gestion_mots_cles = new GestionMotsClesChemin($this->config, $mode);
 | 
        
           |  |  | 10 | 		}
 | 
        
           |  |  | 11 | 		return self::$gestion_mots_cles;
 | 
        
           |  |  | 12 | 	}
 | 
        
           |  |  | 13 |   | 
        
           |  |  | 14 | 	public function getElement($uid) {
 | 
        
           |  |  | 15 | 		// Controle detournement utilisateur
 | 
        
           |  |  | 16 | 		$id_utilisateur = $uid[1] ;
 | 
        
           |  |  | 17 | 		$this->controleUtilisateur($uid[1]);
 | 
        
           |  |  | 18 |   | 
        
           |  |  | 19 | 		$arbre = $this->getGestionMotsCles($uid[0])->obtenirArbre($id_utilisateur);
 | 
        
           |  |  | 20 |   | 
        
           |  |  | 21 | 		$this->envoyerJson($arbre);
 | 
        
           |  |  | 22 | 		return TRUE; // compat: pourquoi renvoyer true si vide ?
 | 
        
           |  |  | 23 | 	}
 | 
        
           |  |  | 24 |   | 
        
           |  |  | 25 | 	public function updateElement($uid, $pairs) {
 | 
        
           |  |  | 26 | 		$id_utilisateur = $uid[1];
 | 
        
           |  |  | 27 | 		$this->controleUtilisateur($uid[1]);
 | 
        
           |  |  | 28 |   | 
        
           |  |  | 29 | 		$id_mot_cle = $pairs['id'];
 | 
        
           |  |  | 30 | 		$action = $pairs['action'];
 | 
        
           |  |  | 31 |   | 
        
           |  |  | 32 | 		if ($action == 'modification') {
 | 
        
           |  |  | 33 | 			$nouveau_nom = $pairs['motcle'];
 | 
        
           |  |  | 34 | 			$modification = $this->getGestionMotsCles($uid[0])->renommerMotCle($id_mot_cle, $nouveau_nom);
 | 
        
           |  |  | 35 | 		} else if ($action == 'deplacement') {
 | 
        
           |  |  | 36 | 			$id_pere = $pairs['parent'];
 | 
        
           |  |  | 37 | 			$modification = $this->getGestionMotsCles($uid[0])->deplacerMotCle($id_mot_cle, $id_pere, $id_utilisateur);
 | 
        
           |  |  | 38 | 		}
 | 
        
           |  |  | 39 |   | 
        
           |  |  | 40 | 		if($modification) {
 | 
        
           |  |  | 41 | 			$this->envoyer("OK");
 | 
        
           |  |  | 42 | 		}
 | 
        
           |  |  | 43 |   | 
        
           |  |  | 44 | 		return $modification;
 | 
        
           |  |  | 45 | 	}
 | 
        
           |  |  | 46 |   | 
        
           |  |  | 47 | 	public function createElement($pairs) {
 | 
        
           |  |  | 48 | 		// Controle detournement utilisateur
 | 
        
           |  |  | 49 | 		$this->controleUtilisateur($pairs['identifiant']);
 | 
        
           |  |  | 50 |   | 
        
           |  |  | 51 | 		$mode = $pairs['mode'];
 | 
        
           | 2045 | aurelien | 52 | 		if($mode != 'obs' && $mode != 'images') {
 | 
        
           | 2044 | aurelien | 53 | 			return;
 | 
        
           |  |  | 54 | 		}
 | 
        
           |  |  | 55 |   | 
        
           |  |  | 56 | 		$id_utilisateur = $pairs['identifiant'];
 | 
        
           |  |  | 57 | 		$mot_cle = $pairs['motcle'];
 | 
        
           |  |  | 58 |   | 
        
           |  |  | 59 | 		$id_parent = $pairs['parent'];
 | 
        
           |  |  | 60 |   | 
        
           |  |  | 61 | 		$id_nouveau_mot_cle = $this->getGestionMotsCles($mode)->insererParIdParent($mot_cle, $id_parent, $id_utilisateur);
 | 
        
           |  |  | 62 |   | 
        
           |  |  | 63 | 		if($id_nouveau_mot_cle !== false) {
 | 
        
           |  |  | 64 | 			// on sort de self::createElement ==> JRest::(get|post) ==> JRest->created() qui fait header().
 | 
        
           |  |  | 65 | 			// or si nous dépassons ini_get(output_buffering) nous ne pouvons plus réécrire le code de retour
 | 
        
           |  |  | 66 | 			// HTTP, de plus, si ini_get(output_buffering) == off, nous enverrions un warning.
 | 
        
           |  |  | 67 | 			// d'où ce clone de JRest::created();
 | 
        
           |  |  | 68 | 			header('HTTP/1.0 201 Created');
 | 
        
           |  |  | 69 | 			echo $id_nouveau_mot_cle;
 | 
        
           |  |  | 70 | 			exit;
 | 
        
           |  |  | 71 | 		} else {
 | 
        
           |  |  | 72 | 			// cf ci-dessus: JRest::badRequest
 | 
        
           |  |  | 73 | 			header('HTTP/1.0 400 Bad Request');
 | 
        
           |  |  | 74 | 			exit;
 | 
        
           |  |  | 75 | 		}
 | 
        
           |  |  | 76 | 	}
 | 
        
           |  |  | 77 |   | 
        
           |  |  | 78 | 	public function deleteElement($uid) {
 | 
        
           |  |  | 79 |   | 
        
           |  |  | 80 | 		$mode = $uid[0];
 | 
        
           |  |  | 81 | 		$id_utilisateur = $uid[1];
 | 
        
           |  |  | 82 | 		$id_mot_cle = $uid[2];
 | 
        
           |  |  | 83 |   | 
        
           |  |  | 84 | 		$suppression = $this->getGestionMotsCles($mode)->supprimerMotCleParId($id_mot_cle, $id_utilisateur);
 | 
        
           |  |  | 85 |   | 
        
           |  |  | 86 | 		if($suppression) {
 | 
        
           |  |  | 87 | 			$this->envoyer("OK");
 | 
        
           |  |  | 88 | 		}
 | 
        
           |  |  | 89 | 	}
 | 
        
           |  |  | 90 | }
 | 
        
           |  |  | 91 | ?>
 |