get_registry(); require($registry->get('GV_RootPath') . "www/thesaurus2/xmlhttp.php"); $request = http_request::getInstance(); $parm = $request->get_parms( "bid" , "piv" , "pid" // id du pere (te) , "id" // id du synonyme (sy) , "src" , "rpl" , "rplrec" , "field" , "dlg" ); if ($parm["dlg"]) { $opener = "window.dialogArguments.win"; } else { $opener = "opener"; } $url3 = "./replace3.php"; $url3 .= "?bid=" . urlencode($parm["bid"]); $url3 .= "&piv=" . urlencode($parm["piv"]); $url3 .= "&id=" . urlencode($parm["id"]); $url3 .= "&src=" . urlencode($parm["src"]); $url3 .= "&rplrec=" . urlencode($parm["rplrec"]); $url3 .= "&rpl=" . urlencode($parm["rpl"]); $lstfld = ""; if ($parm["rplrec"] && is_array($parm["field"])) { foreach ($parm["field"] as $f) { $url3 .= "&field[]=" . urlencode($f); $lstfld .= ( $lstfld ? ", " : "") . "" . $f . ""; } } $url3 .= "&dlg=" . urlencode($parm["dlg"] ? 1 : 0); ?> Corriger... \n"); // print($dom->saveXML()); $xpath = new DOMXPath($dom); $candidates = $xpath->query("/result/candidates_list/ct"); if ($candidates->length > 0) { // le terme saisi existait dans les candidats, on peut choisir qui accepter ?>
"> ">
le terme " . $term . ""; if ($context != "") $t .= " (avec contexte " . $context . ")"; $t .= utf8_encode(" est deje candidat en provenance"); $t .= ( $candidates->length == 1) ? " du champ :" : " des champs suivants :"; $t .= "

\n"; print($t); $candidates_ok = 0; for ($i = 0; $i < $candidates->length; $i ++ ) { if ($candidates->item($i)->getAttribute("sourceok") == "1") $candidates_ok ++; } print("
\n"); for ($i = 0; $i < $candidates->length; $i ++ ) { if ($candidates->item($i)->getAttribute("sourceok") == "1") { printf("\t\t%s
\n" , $candidates->item($i)->getAttribute("id") , $candidates->item($i)->getAttribute("field")); } else { printf("\t\t%s
\n" , $candidates->item($i)->getAttribute("id") , $candidates->item($i)->getAttribute("field")); } } print("

\n"); if ($candidates_ok > 1) print(utf8_encode("selectionnez la provenance e accepter.
\n")); } $nrec = 0; if ($parm["rplrec"]) { // remplacer egalement dans les record // table temporaire $sql = "CREATE TEMPORARY TABLE IF NOT EXISTS `tmprecord` (`xml` TEXT COLLATE utf8_general_ci) SELECT record_id, xml FROM record"; $stmt = $connbas->prepare($sql); $stmt->execute(); $stmt->closeCursor(); $unicode = new unicode(); $src_noacc = $unicode->remove_indexer_chars($parm["src"]); $src_noacc_len = mb_strlen($src_noacc, "UTF-8"); $src_noacc_tchar = array(); for ($i = 0; $i < $src_noacc_len; $i ++ ) $src_noacc_tchar[$i] = mb_substr($src_noacc, $i, 1, "UTF-8"); $sql = ""; $params = array(); $n = 0; foreach ($parm["field"] as $field) { $params[':like' . $n] = "%<$field>%" . $src_noacc . "%%"; $sql .= ( $sql == "" ? "" : " OR ") . "(xml LIKE :like" . $n . ")"; $n ++; } $sql = "SELECT record_id, BINARY xml AS xml FROM tmprecord WHERE $sql"; $stmt = $connbas->prepare($sql); $stmt->execute($params); $nrec = $stmt->rowCount(); $stmt->closeCursor(); $out .= "remplacement de " . $parm["src"] . " par " . $parm["rpl"] . " dans le champ " . $lstfld . "
\n"; $out .= "
\n"; $out .= "
\n"; $out .= "
0%
\n"; $out .= "
0%
\n"; $out .= "
\n"; $out .= "
 
\n"; $out .= "
\n"; if ($nrec >= 0) { $out .= "
" . utf8_encode(" $nrec documents concernes !") . "
\n"; $out .= "
\n
\n"; $out .= " \n"; $out .= "    \n"; $out .= " \n"; $onload = "loaded();"; } else { $out .= "
" . utf8_encode(" $nrec records concernes !") . "
\n"; $out .= "
\n
\n"; $out .= " \n"; $onload = "loaded();doContinue();"; } } else { $onload = "loaded();"; } ?>