/trunk/jrest/services/InventoryKeywordTree.php |
---|
49,7 → 49,7 |
$this->controleUtilisateur($pairs['identifiant']); |
$mode = $pairs['mode']; |
if($mode != 'obs' && $mode != 'image') { |
if($mode != 'obs' && $mode != 'images') { |
return; |
} |
/trunk/jrest/services/InventoryKeyWordImageLink.php |
---|
12,14 → 12,8 |
* 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 |
35,8 → 29,12 |
// 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); |
$suppression_liaison_mot_cle = $gestionnaire_mots_cles->supprimerToutesLiaisonsPourIdsElementsLies($pairs['ce_utilisateur'], $id_images); |
$liaison = true; |
if(!empty($mots_cles)) { |
$liaison = $gestionnaire_mots_cles->ajouterLiaisonMotsCles($pairs['ce_utilisateur'],$id_images, $mots_cles); |
} |
return $liaison; |
} |
public function deleteElement($uid){ |
43,10 → 41,14 |
// Controle detournement utilisateur |
$this->controleUtilisateur($uid[0]); |
if (!isset($uid[0]) || !isset($uid[1]) || !isset($uid[2]) || ! InventoryKeyWordObsLink::estUnIdentifiantMotCle($uid[2])) { |
if (!isset($uid[0]) || !isset($uid[1]) || !isset($uid[2])) { |
return FALSE; |
} |
return InventoryKeyWordObsLink::unlinkKeyword($this->config, 'images', explode(',',$uid[1]), $uid[0], $uid[2]); |
$gestionnaire_mots_cles = new LiaisonMotsCles($this->config, 'images'); |
$mots_cles = explode(',', LiaisonMotsCles::nettoyerMotsCles($uid[2])); |
$ids_images = explode(',',$uid[1]); |
return $gestionnaire_mots_cles->supprimerLiaisonsMotsClesEtRegenererIndexTexte($uid[0], $ids_images, $mots_cles); |
} |
} |
?> |
/trunk/jrest/services/InventoryKeyWordObsLink.php |
---|
13,8 → 13,7 |
public function getElement($uid) { } |
public function createElement($pairs) { |
public function createElement($pairs) { |
// Controle detournement utilisateur |
$this->controleUtilisateur($pairs['ce_utilisateur']); |
23,10 → 22,10 |
} |
$ids_obs = explode(',',$pairs['observations']); |
$mots_cles = explode(',',$pairs['mots_cles']); |
$ids_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); |
$liaison_mot_cle = $gestionnaire_mots_cles->ajouterLiaisonMotsCles($pairs['ce_utilisateur'], $ids_obs, $ids_mots_cles); |
return $liaison_mot_cle; |
} |
35,22 → 34,13 |
// Controle detournement utilisateur |
$this->controleUtilisateur($uid[0]); |
if (!isset($uid[0]) || !isset($uid[1]) || !isset($uid[2]) || ! self::estUnIdentifiantMotCle($uid[2])) { |
if (!isset($uid[0]) || !isset($uid[1]) || !isset($uid[2])) { |
return FALSE; |
} |
return self::unlinkKeyword($this->config, 'obs', explode(',',$uid[1]), $uid[0], $uid[2]); |
} |
static function unlinkKeyword($config, $type /* = obs|images */, Array $obsIds, $uid, $keywordIds /* comma-separated string */) { |
if($type != 'obs' && $type != 'images') return FALSE; |
$gestionnaire_mots_cles = new LiaisonMotsCles($config, $type); |
$mots_cles = explode(',', LiaisonMotsCles::nettoyerMotsCles($keywordIds)); |
return $gestionnaire_mots_cles->supprimerLiaisonMotsClesEtRegenererIndexTexte($uid, $obsIds, $mots_cles); |
$gestionnaire_mots_cles = new LiaisonMotsCles($this->config, 'obs'); |
$mots_cles = explode(',', LiaisonMotsCles::nettoyerMotsCles($uid[2])); |
$ids_obs = explode(',',$uid[1]); |
return $gestionnaire_mots_cles->supprimerLiaisonsMotsClesEtRegenererIndexTexte($uid[0], $ids_obs, $mots_cles); |
} |
static function estUnIdentifiantMotCle($chaine) { |
return trim($chaine) != '' && preg_match('/[0-9A-Z]+\.[0-9A-Z]+/i', $chaine); |
} |
} |
/trunk/jrest/lib/GestionMotsClesChemin.php |
---|
142,7 → 142,7 |
Cel::db()->proteger($id_utilisateur).", ". |
Cel::db()->proteger($mot_cle)." ". |
")"; |
$insertion = Cel::db()->executer($requete.' -- '.__FILE__.':'.__LINE__); |
if($insertion !== false) { |
186,8 → 186,7 |
} |
public function lierParTableaux($ids_mots_cles, $ids_elements_lies, $id_utilisateur) { |
foreach($ids_mots_cles as $id_mot_cle) { |
foreach($ids_elements_lies as $id_element_lie) { |
$combinaisons[] = '('. |
225,7 → 224,6 |
} |
public function supprimerToutesLiaisonsPourIdsElementsLies($ids_elements_lies, $id_utilisateur) { |
foreach($ids_elements_lies as &$id_element_lie) { |
$id_element_lie = Cel::db()->proteger($id_element_lie); |
} |
279,6 → 277,11 |
$this->renommerChemin($ancien_chemin, $nouveau_chemin, $id_utilisateur); |
$ids_elements_lies = $this->obtenirIdElementsLiesPourIds(array($id_mot_cle)); |
foreach($ids_elements_lies as $id_element_lie) { |
self::regenererIndexTexteMotCle($id_element_lie['id_element_lie'], $this->mode); |
} |
return $renommage; |
} |
365,11 → 368,13 |
$chemin = Cel::db()->requeter($selection_chemin.' -- '.__FILE__.':'.__LINE__); |
$suppression = true; |
if(!empty($chemin)) { |
// vérification pour empecher la suppression accidentelle de tout l'arbre, cas qui ne devrait arriver |
if(!empty($chemin) && $chemin != "/") { |
$chemin = $chemin[0]['chemin']; |
$requete = "DELETE FROM ".$this->table_mots_cles." WHERE chemin LIKE ". |
Cel::db()->proteger($chemin.'%')." ". |
"AND id_utilisateur =".Cel::db()->proteger($id_utilisateur); |
$suppression = Cel::db()->executer($requete.' -- '.__FILE__.':'.__LINE__); |
} |
/trunk/jrest/lib/LiaisonMotsCles.php |
---|
69,10 → 69,15 |
return $retour; |
} |
public function supprimerToutesLiaisonsPourIdsElementsLies($id_utilisateur, $ids_elements_lie) { |
public function supprimerToutesLiaisonsPourIdsElementsLies($id_utilisateur, $ids_elements_lies) { |
$gestion_mots_cles = new GestionMotsClesChemin($this->config, $this->mode); |
$suppression_mot_cles = $gestion_mots_cles->supprimerToutesLiaisonsPourIdsElementsLies($ids_elements_lie, $id_utilisateur); |
$suppression_mot_cles = $gestion_mots_cles->supprimerToutesLiaisonsPourIdsElementsLies($ids_elements_lies, $id_utilisateur); |
foreach($ids_elements_lies as $id_element_lie) { |
self::regenererIndexTexteMotCle($id_element_lie, $this->mode); |
} |
if ($suppression_mot_cles !== false) { |
return TRUE; |
} |