Subversion Repositories eFlore/Applications.cel

Rev

Rev 2458 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
416 aurelien 1
<?php
2458 jpm 2
// declare(encoding='UTF-8');
416 aurelien 3
/**
2458 jpm 4
 * Service de liaisons de mots clés à des observations.
5
 * Le service lie une ou plusieurs mots clés à une ou plusieurs observations.
1872 raphael 6
 *
2458 jpm 7
 * @internal   Mininum PHP version : 5.2
8
 * @category   CEL
9
 * @package    Services
10
 * @subpackage Images
11
 * @version    0.1
12
 * @author     Mathias CHOUET <mathias@tela-botanica.org>
13
 * @author     Jean-Pascal MILCENT <jpm@tela-botanica.org>
14
 * @author     Aurelien PERONNET <aurelien@tela-botanica.org>
15
 * @license    GPL v3 <http://www.gnu.org/licenses/gpl.txt>
16
 * @license    CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
17
 * @copyright  1999-2014 Tela Botanica <accueil@tela-botanica.org>
1872 raphael 18
 */
2458 jpm 19
class InventoryKeyWordObsLink extends Cel {
1872 raphael 20
 
21
	public function getElement($uid) { }
2458 jpm 22
 
23
	public function createElement($pairs) {
416 aurelien 24
		// Controle detournement utilisateur
930 aurelien 25
		$this->controleUtilisateur($pairs['ce_utilisateur']);
2458 jpm 26
 
930 aurelien 27
		if (!isset($pairs['mots_cles']) || !isset($pairs['observations']) || !isset($pairs['ce_utilisateur'])) {
819 jpm 28
			return;
29
		}
2458 jpm 30
 
1302 aurelien 31
		$ids_obs = explode(',',$pairs['observations']);
2045 aurelien 32
		$ids_mots_cles = explode(',',$pairs['mots_cles']);
2458 jpm 33
 
2060 aurelien 34
		$gestion_mots_cles = new GestionMotsClesChemin($this->config,'obs');
2314 mathias 35
		$liaison_mot_cle = $gestion_mots_cles->modifierLiaisonParTableaux($ids_mots_cles, $ids_obs, false);
2458 jpm 36
 
37
		foreach ($ids_obs as $id_element_lie) {
38
			GestionMotsClesChemin::regenererIndexTexteMotCle($id_element_lie, 'obs');
39
		}
936 aurelien 40
		return $liaison_mot_cle;
416 aurelien 41
	}
42
 
819 jpm 43
	public function deleteElement($uid){
44
		// Controle detournement utilisateur
930 aurelien 45
		$this->controleUtilisateur($uid[0]);
2458 jpm 46
 
2045 aurelien 47
		if (!isset($uid[0]) || !isset($uid[1]) || !isset($uid[2])) {
2458 jpm 48
			return false;
930 aurelien 49
		}
2458 jpm 50
 
2060 aurelien 51
		$id_utilisateur = $uid[0];
2458 jpm 52
		$ids_obs = explode(',', $uid[1]);
2060 aurelien 53
		$ids_mots_cles = explode(',', GestionMotsClesChemin::nettoyerMotsClesAvantSuppression($uid[2]));
2458 jpm 54
 
2060 aurelien 55
		$gestion_mots_cles = new GestionMotsClesChemin($this->config, 'obs');
56
		$suppression_liaisons = $gestion_mots_cles->supprimerLiaisonsMotsCles($ids_mots_cles, $ids_obs, $id_utilisateur);
57
		foreach($ids_obs as $id_element_lie) {
2458 jpm 58
			GestionMotsClesChemin::regenererIndexTexteMotCle($id_element_lie, 'obs');
2060 aurelien 59
		}
1872 raphael 60
	}
416 aurelien 61
}