Subversion Repositories eFlore/Applications.cel

Rev

Rev 1152 | Rev 2058 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
/**
 * @category  PHP
 * @package   jrest
 * @author    Aurélien Peronnet <aurelien@tela-botania.org>
 * @author    Raphaël Droz <raphael@tela-botania.org>
 * @copyright 2010, 2013 Tela-Botanica
 * @license   Licence CECILL <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt>
 * @license       GPL v3 <http://www.gnu.org/licenses/gpl.txt>
 *
 * Service de liaisons de mots clés à des images.
 * Le service lie une ou plusieurs mots clés à une ou plusieurs images
 */

require_once('InventoryKeyWordObsLink.php');

class InventoryKeyWordImageLink 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['images']) || !isset($pairs['ce_utilisateur'])) {
                        return;
                }
                
                $id_images = array_filter(explode(',', $pairs['images']));
                $mots_cles = array_filter(explode(',', $pairs['mots_cles']));
                
                // Pour le moment on ne peut que supprimer les mots clés et ajouter les nouveaux à cause du fonctionnement
                // de l'arbre de mots clés des images
                $gestionnaire_mots_cles = new LiaisonMotsCles($this->config,'images');
                $suppression_liaison_mot_cle = $gestionnaire_mots_cles->supprimerToutesLiaisonsPourIdImageOuObs($pairs['ce_utilisateur'], $id_images);
                return $gestionnaire_mots_cles->ajouterLiaisonMotsCles($pairs['ce_utilisateur'],$id_images, $mots_cles);
        }

        public function deleteElement($uid){
                // Controle detournement utilisateur
                $this->controleUtilisateur($uid[0]);
        
                if (!isset($uid[0]) || !isset($uid[1]) || !isset($uid[2]) || ! InventoryKeyWordObsLink::estUnIdentifiantMotCle($uid[2])) {
                        return FALSE;
                }

                return InventoryKeyWordObsLink::unlinkKeyword($this->config, 'images', explode(',',$uid[1]), $uid[0], $uid[2]);         
        }
}