コード例 #1
0
                $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';
コード例 #2
0
ファイル: thesaurus.class.php プロジェクト: bouchra012/PMB
 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);
     }
 }
コード例 #3
0
 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);
         }
     }
 }
コード例 #4
0
ファイル: categ_delete.inc.php プロジェクト: bouchra012/PMB
        $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';