get_parms( "bid" , "piv" , "f2unlk" , "fbranch" , "reindex" ); ?> <?php echo p4string::MakeString(_('thesaurus:: Lier la branche de thesaurus')) ?>



get_databox((int) $parm['bid']); $connbas = connection::getPDOConnection($app, $parm['bid']); $meta_struct = $databox->get_meta_structure(); $domct = $databox->get_dom_cterms(); $domst = $databox->get_dom_structure(); if ($domct && $domst) { $xpathct = new DOMXPath($domct); $xpathst = new DOMXPath($domst); $ctchanged = false; $candidates2del = array(); foreach ($parm["f2unlk"] as $f2unlk) { $q = "/cterms/te[@field='" . thesaurus::xquery_escape($f2unlk) . "']"; $nodes = $xpathct->query($q); for ($i = 0; $i < $nodes->length; $i ++ ) { $candidates2del[] = array("field" => $f2unlk, "node" => $nodes->item($i)); } echo p4string::MakeString(sprintf(_('thesaurus:: suppression du lien du champ %s'), $f2unlk)); print("
\n"); $field = $meta_struct->get_element_by_name($f2unlk); if ($field) $field->set_tbranch('')->save(); } foreach ($candidates2del as $candidate2del) { echo p4string::MakeString(sprintf(_('thesaurus:: suppression de la branche de mot candidats pour le champ %s'), $candidate2del["field"])); print("
\n"); $candidate2del["node"]->parentNode->removeChild($candidate2del["node"]); $ctchanged = true; } foreach ($parm["fbranch"] as $fbranch) { $p = strpos($fbranch, "<"); if ($p > 1) { $fieldname = substr($fbranch, 0, $p); $tbranch = substr($fbranch, $p + 1); $field = $meta_struct->get_element_by_name($fieldname); if ($field) $field->set_tbranch($tbranch)->save(); echo p4string::MakeString(sprintf(_('thesaurus:: suppression de la branche de mot candidats pour le champ %s'), $fieldname)); print("
\n"); } } if ($ctchanged) { if ($ctchanged) { $databox->saveCterms($domct); print(p4string::MakeString(_('thesaurus:: enregistrement de la liste modifiee des mots candidats.'))); print("
\n"); } } } $sql = "DELETE FROM thit WHERE name = :name"; $stmt = $connbas->prepare($sql); foreach ($parm["f2unlk"] as $f2unlk) { $stmt->execute(array(':name' => $f2unlk)); echo p4string::MakeString(_('thesaurus:: suppression des indexes vers le thesaurus pour le champ') . " " . $f2unlk . ""); print("
\n"); } $stmt->closeCursor(); if ($parm["reindex"]) { $sql = "UPDATE record SET status=status & ~2"; $stmt = $connbas->prepare($sql); $stmt->execute(); $stmt->closeCursor(); echo p4string::MakeString(_('thesaurus:: reindexer tous les enregistrements')); print("
\n"); } } catch (Exception $e) { } } ?>