* @copyright 2010 Tela-Botanica * @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL * @version SVN: * @link /doc/jrest/ */ /** * in : utf8 * out : utf8 * * Service de liaisons de mots clés à des observations. * Le service lie une ou plusieurs mots clés à une ou plusieurs observations * */ class InventoryKeyWordObsLink extends Cel { public function getElement($uid) { } public function createElement($pairs) { // Controle detournement utilisateur $this->controleUtilisateur($pairs['ce_utilisateur']); if (!isset($pairs['mots_cles']) || !isset($pairs['observations']) || !isset($pairs['ce_utilisateur'])) { return; } $ids_obs = explode(',',$pairs['observations']); $mots_cles = explode(',',$pairs['mots_cles']); $gestionnaire_mots_cles = new LiaisonMotsCles($this->config,'obs'); $liaison_mot_cle = $gestionnaire_mots_cles->ajouterLiaisonMotsCles($pairs['ce_utilisateur'],$ids_obs, $mots_cles); return $liaison_mot_cle; } public function deleteElement($uid){ $retour = false; // Controle detournement utilisateur $this->controleUtilisateur($uid[0]); if (!isset($uid[0]) || !isset($uid[1]) || !isset($uid[2]) || !$this->estUnIdentifiantMotCle($uid[2])) { return; } $ids_obs = explode(',',$uid[1]); $id_utilisateur = $uid[0]; $gestionnaire_mots_cles = new LiaisonMotsCles($this->config,'obs'); $mots_cles = $gestionnaire_mots_cles->nettoyerMotsCles($uid[2]); $mots_cles = explode(',',$mots_cles); $suppression_liaison_mot_cle = $gestionnaire_mots_cles->supprimerLiaisonMotsClesEtRegenererIndexTexte($id_utilisateur, $ids_obs, $mots_cles); return $suppression_liaison_mot_cle; } private function estUnIdentifiantMotCle($chaine) { return trim($chaine) != '' && preg_match('/[0-9A-Z]+\.[0-9A-Z]+/i', $chaine); } } ?>