$arrayIdImpactes[] = $noeud->num_parent; } //renvoi_voir if ($noeud->num_renvoi_voir) { $arrayIdImpactes[] = $noeud->num_renvoi_voir; } //on supprime le rdf if (count($arrayIdImpactes)) { foreach ($arrayIdImpactes as $idNoeud) { $synchro_rdf->delConcept($idNoeud); } } $synchro_rdf->delConcept($id_to_delete); } // nettoyage indexation concepts $index_concept = new index_concept($id_to_delete, TYPE_CATEGORY); $index_concept->delete(); noeuds::delete($id_to_delete); //On remet à jour les noeuds impactes if ($pmb_synchro_rdf) { if (count($arrayIdImpactes)) { foreach ($arrayIdImpactes as $idNoeud) { $synchro_rdf->storeConcept($idNoeud); } } //On met à jour le thésaurus pour les topConcepts $synchro_rdf->updateAuthority($noeud->num_thesaurus, 'thesaurus'); } } } include './autorites/subjects/default.inc.php';
function delete($id_thes = 0) { global $dbh; global $msg; global $pmb_synchro_rdf; if (!$id_thes) { $id_thes = $this->id_thesaurus; } if ($pmb_synchro_rdf) { $synchro_rdf = new synchro_rdf(); } $q = "select id_noeud from noeuds where num_thesaurus = '" . $id_thes . "' "; $r = mysql_query($q, $dbh); while ($row = mysql_fetch_row($r)) { noeuds::delete($row[0]); /*$q1 = "delete from categories where num_noeud = '".$row[0]."' "; $r1 = mysql_query($q1, $dbh); $q2 = "delete from noeuds where id_noeud = '".$row[0]."' "; $r2 = mysql_query($q2, $dbh); */ if ($pmb_synchro_rdf) { $synchro_rdf->delConcept($row[0]); } } $q = "delete from thesaurus where id_thesaurus = '" . $id_thes . "' "; $r = mysql_query($q, $dbh); if ($pmb_synchro_rdf) { $synchro_rdf->delThesaurusDefinition($id_thes); } }
static function process_categ($id_noeud) { global $dbh; global $deleted; global $lot; $res = noeuds::listChilds($id_noeud, 0); $total = pmb_mysql_num_rows($res); if ($total) { while ($row = pmb_mysql_fetch_object($res)) { // la categorie a des filles qu'on va traiter noeuds::process_categ($row->id_noeud); } // après ménage de ses filles, reste-t-il des filles ? $total_filles = noeuds::hasChild($id_noeud); // categ utilisée en renvoi voir ? $total_see = noeuds::isTarget($id_noeud); // est-elle utilisée ? $iuse = noeuds::isUsedInNotices($id_noeud) + noeuds::isUsedinSeeALso($id_noeud); if (!$iuse && !$total_filles && !$total_see) { $deleted++; noeuds::delete($id_noeud); } } else { // la catégorie n'a pas de fille on va la supprimer si possible // regarder si categ utilisée $iuse = noeuds::isUsedInNotices($id_noeud) + noeuds::isUsedinSeeALso($id_noeud); if (!$iuse) { $deleted++; noeuds::delete($id_noeud); } } }
$noeud = new noeuds($id); $thes = new thesaurus($noeud->num_thesaurus); //parent if ($noeud->num_parent != $thes->num_noeud_racine) { $arrayIdImpactes[] = $noeud->num_parent; } //renvoi_voir if ($noeud->num_renvoi_voir) { $arrayIdImpactes[] = $noeud->num_renvoi_voir; } //on supprime le rdf if (count($arrayIdImpactes)) { foreach ($arrayIdImpactes as $idNoeud) { $synchro_rdf->delConcept($idNoeud); } } $synchro_rdf->delConcept($id); } noeuds::delete($id); //On remet à jour les noeuds impactes if ($pmb_synchro_rdf) { if (count($arrayIdImpactes)) { foreach ($arrayIdImpactes as $idNoeud) { $synchro_rdf->storeConcept($idNoeud); } } //On met à jour le thésaurus pour les topConcepts $synchro_rdf->updateAuthority($noeud->num_thesaurus, 'thesaurus'); } } include './autorites/subjects/default.inc.php';