| 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 |
}
|