source: pmb5.0/trunk/fuentes/pmb/admin/import/iimport_expl.php @ 6888

Last change on this file since 6888 was 6888, checked in by jrpelegrina, 19 months ago

WIP in migration 1

  • Property svn:executable set to *
File size: 73.3 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: iimport_expl.php,v 1.76.2.1 2017-11-17 14:58:43 jpermanne Exp $
6
7// définition du minimum necessaire
8$base_path="../..";
9$base_auth = "ADMINISTRATION_AUTH";
10$base_title = "";
11require_once ("$base_path/includes/init.inc.php");
12
13// les requis par iimport_expl.php ou ses sous modules
14require_once ("$include_path/isbn.inc.php");
15require_once ("$include_path/marc_tables/$pmb_indexation_lang/empty_words");
16require_once ("$class_path/iso2709.class.php");
17require_once ("$class_path/author.class.php");
18require_once ("$class_path/serie.class.php");
19require_once ("$class_path/editor.class.php");
20require_once ("$class_path/collection.class.php");
21require_once ("$class_path/subcollection.class.php");
22require_once ("$class_path/expl.class.php");
23require_once ("$class_path/lender.class.php");
24require_once ("$class_path/docs_type.class.php");
25require_once ("$class_path/docs_section.class.php");
26require_once ("$class_path/docs_statut.class.php");
27require_once ("$class_path/docs_location.class.php");
28require_once ("$class_path/docs_codestat.class.php");
29require_once ("$class_path/indexint.class.php");
30require_once ("$class_path/origine_notice.class.php");
31require_once ("$class_path/marc_table.class.php");
32require_once ("$class_path/lender.class.php");
33require_once ("$class_path/notice.class.php");
34require_once ("$class_path/titre_uniforme.class.php");
35require_once($class_path."/origin.class.php");
36require_once("$include_path/parser.inc.php");
37
38require_once("import_func.inc.php");
39
40$name_func="func_import";
41
42if(isset(${$name_func}) && ${$name_func}){
43        ${$name_func}.=".php";
44}
45
46//J'efface la fonction d'import de la session au début de l'import
47if(((!isset($file_submit) || !$file_submit) && $action=="preload" && !${$name_func}) || ($action=="beforeupload" && !${$name_func})){
48        $_SESSION["func_import_model"]="";
49}
50
51//Controle que la fonction d'import existe
52$trouve=false;
53$table_list_func_import=array();
54if(isset(${$name_func}) && ${$name_func}){
55        if(${$name_func} == $pmb_import_modele){
56                $trouve=true;
57        }else{
58                if(file_exists("func_import_subst.xml")){
59                $table_list_func_import=_parser_text_no_function_(file_get_contents("func_import_subst.xml"),"CATALOG");
60        }elseif(file_exists("func_import.xml")){
61                $table_list_func_import=_parser_text_no_function_(file_get_contents("func_import.xml"),"CATALOG");
62        }
63        if(is_array($table_list_func_import["ITEM"]) && count($table_list_func_import["ITEM"])){
64                foreach ( $table_list_func_import["ITEM"] as $value ) {
65                        if($value["FUNCTION"] == ${$name_func}){
66                                $trouve=true;
67                                break;
68                        }
69                }
70        }
71        }
72}
73
74$func_import_model="";
75if(!$trouve){
76        if(isset($_SESSION["func_import_model"]) && $_SESSION["func_import_model"]){
77                $func_import_model=$_SESSION["func_import_model"];
78        }elseif(!$pmb_import_modele) {
79                $func_import_model="func_bdp.inc.php";
80        } else {
81                $func_import_model=$pmb_import_modele;
82        }
83}else{
84        $func_import_model=${$name_func};
85        $_SESSION["func_import_model"]=$func_import_model;//Je garde la fonction d'import sélectionnée jusqu'à la fin
86}
87if (file_exists($func_import_model)) {
88        require_once($func_import_model);
89} else {
90        error_message("", sprintf($msg["admin_error_file_import_modele"],$func_import_model), 1, "./admin.php?categ=param");
91        exit;
92}
93
94//Gestion de l'encodage du fichier d'import
95if(isset($encodage_fic_source)){
96        $_SESSION["encodage_fic_source"]=$encodage_fic_source;
97}elseif(isset($_SESSION["encodage_fic_source"])){
98        $encodage_fic_source=$_SESSION["encodage_fic_source"];
99}
100
101print "<div id='contenu-frame'>" ;
102
103$nom_fichier_transfert_ftp = "unimarc".(defined("LOCATION")?"_".constant("LOCATION"):"").".fic";
104
105$tmp_file = (isset($_FILES['userfile']['tmp_name']) ? $_FILES['userfile']['tmp_name'] : '');
106if (!isset($from_file)) $from_file = (isset($_FILES['userfile']['name']) ? $_FILES['userfile']['name'] : '');
107$to_file = $base_path.'/temp/'.basename($tmp_file);
108
109if ($sub == "import_expl") {
110        echo window_title($msg[520].$msg[1003].$msg[1001]);
111        /* the name of the lender is read in the table */
112        if ($book_lender_id!="") {
113                $sql_rech="select lender_libelle from lenders where idlender = '".$book_lender_id."' ";
114                $sql_result_rech = pmb_mysql_query($sql_rech) or die ("Couldn't select lenders ! = ".$sql_rech);
115                if (pmb_mysql_num_rows($sql_result_rech)==0) {
116                        $book_lender_name = $msg[561];
117                } else {
118                        $book_lender_name = pmb_mysql_result($sql_result_rech,0,"lender_libelle");
119                }
120        } else {
121                $book_lender_name = $msg[561];
122        }
123
124//------------------------------------- LLIUREX 22/02/2018--------------------------------------
125} else if ($sub == "import_reb"){
126        echo window_title($msg["import_reb"].$msg[1003].$msg[1001]);
127// ------------------------------------- FIN LLIUREX 22/02/2018 ------------   
128} else {
129        echo window_title($msg[500].$msg[1003].$msg[1001]);
130}
131
132switch ($action) {
133        case 'beforeupload':
134                if ($sub == "import_expl") {
135                        $book_lender_id = "";
136                        $book_statut_id = "";
137                        print $tpl_beforeupload_expl ;
138
139// ------------------------------ LLIUREX 22/02/2018--------------------------------------
140        } else if ($sub == "import_reb") {
141                   print $tpl_beforeupload_reb ;
142// ----------------------------FIN LLIUREX 22/02/2018----------------------------------         
143                } else {
144                        // import de notice
145                         print $tpl_beforeupload_notices ;
146                }
147        break;
148        case 'afterupload':
149                if (!$statutnot) $statutnot = 1 ;
150                if(!isset($que_faire)) $que_faire = '';
151                if(!isset($isbn_only)) $isbn_only = '';
152                if ($sub == "import_expl") {
153                        if ($book_lender_id==0 || $book_lender_id=="") {
154                                print $msg[561];
155                                break;
156                        }
157                        if ($book_statut_id==0 || $book_statut_id=="") {
158                                print $msg[561];
159                                break;
160                        }
161                        if ($tmp_file=="") {
162                                printf ($msg[503],$from_file); /* wrong permissions to copy the file %s ... Contact your admin... */
163                                break;
164                        }
165                        if (!move_uploaded_file($tmp_file,$to_file)) {
166                                printf ($msg[504],$from_file); /* Fail to copy %s, Contact your admin... */
167                        } else {
168                                printf ($msg[505],$from_file); /* File transfered, Loading is about to go on */
169                                print "<form class='form-$current_module' NAME=\"afterupload\" METHOD=\"post\" ACTION=\"iimport_expl.php\">";
170                                print "<INPUT NAME=\"categ\" TYPE=\"hidden\" value=\"import\" />";
171                                print "<INPUT NAME=\"sub\" TYPE=\"hidden\" value=\"import_expl\" />";
172                                print "<INPUT NAME=\"action\" TYPE=\"hidden\" value=\"preload\" />";
173                                print "<INPUT NAME=\"book_lender_id\" TYPE=\"hidden\" value=\"".$book_lender_id."\" />";
174                                print "<INPUT NAME=\"book_statut_id\" TYPE=\"hidden\" value=\"".$book_statut_id."\" />";
175                                print "<input type=\"hidden\" name=\"file_submit\" value=\"$to_file\" />";
176                                print "<input type=\"hidden\" name=\"from_file\" value=\"$from_file\" />";
177                                print "<INPUT TYPE=\"hidden\" NAME=\"isbn_mandatory\" VALUE=\"$isbn_mandatory\" />\n";
178                                print "<INPUT TYPE=\"hidden\" NAME=\"isbn_only\" VALUE=\"$isbn_only\" />\n";
179                                print "<INPUT TYPE=\"hidden\" NAME=\"isbn_dedoublonnage\" VALUE=\"$isbn_dedoublonnage\" />\n";
180                                print "<INPUT TYPE=\"hidden\" NAME=\"cote_mandatory\" VALUE=\"$cote_mandatory\" />\n";
181                                print "<INPUT TYPE=\"hidden\" NAME=\"tdoc_codage\" VALUE=\"$tdoc_codage\" />\n";
182                                print "<INPUT TYPE=\"hidden\" NAME=\"statisdoc_codage\" VALUE=\"$statisdoc_codage\" />\n";
183                                print "<INPUT TYPE=\"hidden\" NAME=\"sdoc_codage\" VALUE=\"$sdoc_codage\" />\n";
184                                print "<INPUT TYPE=\"hidden\" NAME=\"statutnot\" VALUE=\"$statutnot\" />\n";
185                                print "<INPUT TYPE=\"hidden\" NAME=\"book_location_id\" VALUE=\"$book_location_id\" />\n";
186                                print "<INPUT TYPE=\"hidden\" NAME=\"que_faire\" VALUE=\"$que_faire\" />\n";
187                                print "<INPUT TYPE=\"hidden\" NAME=\"link_generate\" VALUE=\"$link_generate\" />\n";
188                                print "<input type='hidden' name='authorities_notices' value='".$authorities_notices."' />\n";
189                                print "<input type='hidden' name='authorities_default_origin' value='".$authorities_default_origin."' />\n";
190                                print "<input type='hidden' name='import_force_notice_is_new' value='".$import_force_notice_is_new."' />\n";
191                                print "<input type='hidden' name='notice_replace_links' value='".$notice_replace_links."' />\n";
192                                print "</FORM>";
193                                print "<SCRIPT>setTimeout(\"document.afterupload.submit()\",2000);</SCRIPT>";
194                        }
195// -------------------------------- LLIUREX 22/02/2018--------------------------------------
196         } else if ($sub == "import_reb") {
197
198                // import de rebeca
199                   if ($to_file=="") {
200                           printf ($msg[503],$from_file); /* wrong permissions to copy the file %s ... Contact your admin... */
201                           break;
202                        }
203
204                        //if (strrpos(strtolower($from_file), ".reb") == false) {
205                        //      printf ($msg['import_reb_fail_reb'],$from_file); /* wrong rebeca file %s ... Contact your admin... */
206                    //          break;
207                        //}
208
209                   if (!move_uploaded_file($tmp_file,$to_file)) {
210                           printf ($msg[504],$from_file); /* Fail to copy %s, Contact your admin... */
211                        } else {
212                                printf ($msg[505],$from_file); /* File transfered, Loading is about to go on */
213                                print "<form class='form-$current_module' NAME=\"afterupload\" METHOD=\"post\" ACTION=\"iimport_expl.php\">";
214                                print "<INPUT NAME=\"categ\" TYPE=\"hidden\" value=\"import\">";
215                                print "<INPUT NAME=\"sub\" TYPE=\"hidden\" value=\"import_reb\">";
216                                print "<INPUT NAME=\"action\" TYPE=\"hidden\" value=\"preload\">";
217                                print "<input type=\"hidden\" name=\"file_submit\" value=\"$to_file\">";
218                                print "</FORM>";
219                                print "<SCRIPT>setTimeout(\"document.afterupload.submit()\",2000);</SCRIPT>";
220                        }
221// ------------------------------ FIN LLIUREX 22/02/2018------------------------------------
222
223                } else {
224                        // import de notice
225                        if ($to_file=="") {
226                            printf ($msg[503],$from_file); /* wrong permissions to copy the file %s ... Contact your admin... */
227                            break;
228                        }
229                        if (!move_uploaded_file($tmp_file,$to_file)) {
230                            printf ($msg[504],$from_file); /* Fail to copy %s, Contact your admin... */
231                        } else {
232                                printf ($msg[505],$from_file); /* File transfered, Loading is about to go on */
233                                print "<form class='form-$current_module' NAME=\"afterupload\" METHOD=\"post\" ACTION=\"iimport_expl.php\">";
234                                print "<INPUT NAME=\"categ\" TYPE=\"hidden\" value=\"import\" />";
235                                print "<INPUT NAME=\"sub\" TYPE=\"hidden\" value=\"import\" />";
236                                print "<INPUT NAME=\"action\" TYPE=\"hidden\" value=\"preload\" />";
237                                print "<input type=\"hidden\" name=\"file_submit\" value=\"$to_file\" />";
238                                print "<input type=\"hidden\" name=\"from_file\" value=\"$from_file\" />";
239                                print "<INPUT TYPE=\"hidden\" NAME=\"isbn_mandatory\" VALUE=\"$isbn_mandatory\" />\n";
240                                print "<INPUT TYPE=\"hidden\" NAME=\"isbn_dedoublonnage\" VALUE=\"$isbn_dedoublonnage\" />\n";
241                                print "<INPUT TYPE=\"hidden\" NAME=\"isbn_only\" VALUE=\"$isbn_only\" />\n";
242                                print "<INPUT TYPE=\"hidden\" NAME=\"statutnot\" VALUE=\"$statutnot\" />\n";
243                                print "<INPUT TYPE=\"hidden\" NAME=\"que_faire\" VALUE=\"$que_faire\" />\n";
244                                print "<INPUT TYPE=\"hidden\" NAME=\"link_generate\" VALUE=\"$link_generate\" />\n";
245                                print "<input type='hidden' name='authorities_notices' value='".$authorities_notices."' />\n";
246                                print "<input type='hidden' name='authorities_default_origin' value='".$authorities_default_origin."' />\n";
247                                print "<input type='hidden' name='import_force_notice_is_new' value='".$import_force_notice_is_new."' />\n";
248                                print "<input type='hidden' name='notice_replace_links' value='".$notice_replace_links."' />\n";
249                                print "</FORM>";
250                                print "<SCRIPT>setTimeout(\"document.afterupload.submit()\",2000);</SCRIPT>";
251                        }
252                }
253                break;
254        case 'preload':
255                if ($sub == "import_expl") {
256                        /* Does the file exist ? */
257                        if ($file_submit=="") {
258                                /* l'utilisateur n'est pas passé par le téléchargement du fichier */
259                               
260// ---------------------------------- LLIUREX 22/02/2018--------------------------------------
261// Cambiando la ruta de lectura del fichero a leer
262// Previamente se ha modificado folow_import.php para esc
263                                #$filename = $base_path."/admin/import/".$nom_fichier_transfert_ftp;
264                                $filename = $base_path."/temp/".$nom_fichier_transfert_ftp;
265
266// --------------------------------- FIN LLIUREX 22/02/2018------------------------------------
267
268                                $from_file = "unimarc".(defined("LOCATION")?"_".constant("LOCATION"):"").".fic";
269                        } else {
270                                $filename=$file_submit;
271                        }
272                        if ($book_lender_id=="" || $book_statut_id=="" || $isbn_mandatory=="" || $cote_mandatory=="" || $book_location_id=="" || $statutnot=="") {
273                                /* l'utilisateur n'est pas passé par le téléchargement du fichier, il faut qu'il choisisse un prêteur s'il n'en a pas communiqué auparavant */
274                                print "
275                                        <form class='form-$current_module' NAME=\"preload\" METHOD=\"post\" ACTION=\"iimport_expl.php\">
276                                                <h3>".$msg['import_expl_form_titre']."</h3>
277                                                <div class='form-contenu'>
278                                                <div class='row'>
279                                                        <div class='colonne2'>
280                                                                <label class='etiquette' for='isbn_obligatoire'>$msg[564]</label><br />
281                                                                <INPUT TYPE='radio' NAME='isbn_mandatory' id='io1' VALUE='1' CLASS='radio' /><label for='io1'> $msg[40] </label>
282                                                                <INPUT TYPE='radio' NAME='isbn_mandatory' id='io0' VALUE='0' CLASS='radio' checked='checked' /><label for='io0'> $msg[39] </label>
283                                                        </div>
284                                                        <div class='colonne-suite'>
285                                                                <label class='etiquette' for='isbn_dedoublonnage'>$msg[568]</label><br />
286                                                                <INPUT TYPE='radio' NAME='isbn_dedoublonnage' id='di1' VALUE='1' CLASS='radio' checked='checked' /><label for='di1'> $msg[40] </label>
287                                                                <INPUT TYPE='radio' NAME='isbn_dedoublonnage' id='di0' VALUE='0' CLASS='radio' /><label for='di0'> $msg[39] </label>
288                                                                <input type='checkbox' name='isbn_only' id='ionly' value='1'/><label for='ionly'> ".$msg["ignore_issn"]." </label>
289                                                        </div>
290                                                </div>
291                                                <div class='row'>&nbsp;</div>
292                                                <div class='row'>
293                                <div class='colonne2'> 
294                                        <label class='etiquette' for='statutnot'>$msg[import_statutnot]</label>
295                                        <div>
296                                        ".gen_liste_multiple ("select id_notice_statut, gestion_libelle from notice_statut order by 2", "id_notice_statut", "gestion_libelle", "id_notice_statut", "statutnot", "", 1, "", "","","",0)."
297                                        </div>
298                                </div>
299                                <div class='colonne-suite'>
300                                        <label class='etiquette' for='generer_lien'>".$msg['import_genere_liens']."</label><br />
301                                        <INPUT TYPE='radio' NAME='link_generate' id='link1' VALUE=' 1' CLASS='radio' onclick='param_links_display();' /><label for='link1'> $msg[40] </label>
302                                    <INPUT TYPE='radio' NAME='link_generate' id='link0' VALUE='0' CLASS='radio' onclick='param_links_display();' checked='checked' /><label for='link0'> $msg[39] </label>
303                                    <span id='list_param_links' style='display: none;'>
304                                        <div style='clear: both; margin-left: 50%;'>
305                                                <label class='etiquette' for='notice_replace_links'>".$msg['notice_replace_links_option_keep_title']."</label>
306                                                <br /><input type='radio' name='notice_replace_links' value='0' ".($deflt_notice_replace_links==0?"checked='checked'":"")." /> ".$msg['notice_replace_links_option_keep_all']."
307                                                                                <br /><input type='radio' name='notice_replace_links' value='1' ".($deflt_notice_replace_links==1?"checked='checked'":"")." /> ".$msg['notice_replace_links_option_keep_replacing']."
308                                                                                <br /><input type='radio' name='notice_replace_links' value='2' ".($deflt_notice_replace_links==2?"checked='checked'":"")." /> ".$msg['notice_replace_links_option_keep_replaced']."
309                                                                        </div>
310                                    </span>
311                                </div>
312                        </div>
313                        <div class='row'>&nbsp;</div>
314                                <div class='row'>
315                                        <div class='colonne2'>
316                                                <label class='etiquette' for='import_force_notice_is_new'>".$msg['import_force_notice_is_new']."</label>
317                                        <div>
318                                                <input type='radio' name='import_force_notice_is_new' id='import_force_notice_is_new' value='0' checked='checked'> ".$msg['39']." <input type='radio' name='import_force_notice_is_new' id='import_force_notice_is_new' value='1'> ".$msg['40']."
319                                        </div>
320                                        </div>
321                                        <div class='colonne-suite'>
322                                                                <label class='etiquette' for='authorities_notices'>".htmlentities($msg['import_with_authorities_notices'],ENT_QUOTES,$charset)."</label><br />
323                                                                <input type='radio' name='authorities_notices' id='authorities_notices1' value='1' class='radio' /><label for='authorities_notices1'>".htmlentities($msg[40],ENT_QUOTES,$charset)."</label>                             
324                                                                <input type='radio' name='authorities_notices' id='authorities_notices0' value='0' class='radio' checked='checked'/><label for='authorities_notices0'>".htmlentities($msg[39],ENT_QUOTES,$charset)."</label>
325                                </div>
326                                </div>
327                                <div class='row'>&nbsp;</div>
328                                <div clas='row'>
329                                        <div class='colonne2'>
330                                                &nbsp;<br />
331                                                &nbsp;
332                                        </div>
333                                        <div class='colonne-suite'>
334                                                <label class='etiquette' for='authorities_default_origin'>".htmlentities($msg['import_authorities_origin_default_value'],ENT_QUOTES,$charset)."</label><br />
335                                                                ".origin::gen_combo_box("authorities","authorities_default_origin")."
336                                        </div>
337                                </div> 
338                                <div class='row'>&nbsp;</div>
339                                                <div class='row'><hr /></div>
340                                                <div class='row'>
341                            <label class='etiquette' for='prêteur statut'>$msg[560]</label>
342                            </div>
343                        <div class='row'>".
344                            lender::gen_combo_box($book_lender_id)."&nbsp;&nbsp;".
345                            docs_statut::gen_combo_box($book_statut_id)."
346                            </div>
347                            <div class='row'>
348                            <label class='etiquette' for='localisation'>$msg[import_localisation]</label>
349                                </div>
350                        <div class='row'>".
351                                docs_location::gen_combo_box($deflt_docs_location)."
352                            </div>
353                        <div class='row'><hr /></div>
354                        <div class='row'>
355                            <label class='etiquette' for='cote_obligatoire'>$msg[566]</label>
356                            </div>
357                        <div class='row'>
358                            <INPUT TYPE='radio' NAME='cote_mandatory' VALUE='1' CLASS='radio' /> $msg[40]
359                            <INPUT TYPE='radio' NAME='cote_mandatory' VALUE='0' CLASS='radio' checked='checked' /> $msg[39]
360                            </div>
361                        <div class='row'><hr /></div>
362                        <div class='row'>
363                            <label class='etiquette'>$msg[17]</label>
364                            </div>
365                        <div class='row'>
366                            <INPUT TYPE='radio' NAME='tdoc_codage' VALUE='1' CLASS='radio' /> ".$msg["import_expl_codage_proprio"]."
367                            <INPUT TYPE='radio' NAME='tdoc_codage' VALUE='0' CLASS='radio' checked='checked' /> ".$msg["import_expl_codage_generique"]."
368                            </div>
369                        <div class='row'>
370                            <label class='etiquette'>$msg[24]</label>
371                            </div>
372                        <div class='row'>
373                            <INPUT TYPE='radio' NAME='statisdoc_codage' VALUE='1' CLASS='radio' /> ".$msg["import_expl_codage_proprio"]."
374                            <INPUT TYPE='radio' NAME='statisdoc_codage' VALUE='0' CLASS='radio' checked='checked' /> ".$msg["import_expl_codage_generique"]."
375                            </div>
376                        <div class='row'>
377                            <label class='etiquette'>$msg[19]</label>
378                            </div>
379                        <div class='row'>
380                            <INPUT TYPE='radio' NAME='sdoc_codage' VALUE='1' CLASS='radio' /> ".$msg["import_expl_codage_proprio"]."
381                            <INPUT TYPE='radio' NAME='sdoc_codage' VALUE='0' CLASS='radio' checked='checked' /> ".$msg["import_expl_codage_generique"]."
382                            </div>
383                        <div class='row'>
384                            <label class='etiquette'>$msg[21]</label>
385                            </div>
386                        </div>
387                    <INPUT TYPE=\"SUBMIT\"  class='bouton' NAME=\"upload\" VALUE=\"".$msg[502]."\" />
388                    <INPUT NAME=\"categ\" TYPE=\"hidden\" value=\"import\" />
389                    <INPUT NAME=\"sub\" TYPE=\"hidden\" value=\"import_expl\" />
390                    <INPUT NAME=\"action\" TYPE=\"hidden\" value=\"preload\" />
391                    <INPUT NAME=\"".$name_func."\" TYPE=\"hidden\" value=\"".${$name_func}."\"/>
392                    </FORM>
393                    <script type='text/javascript'>
394                                                function param_links_display(){
395                                                        if(document.getElementById('link1').checked){
396                                                                document.getElementById('list_param_links').style.display='';
397                                                        } else {
398                                                                document.getElementById('list_param_links').style.display='none';
399                                                        }
400                                                }
401                                        </script>";
402                break;
403                        }
404            loadfile_in_table() ;
405            if ($pb_fini=="EOF") {
406                $formulaire="<form class='form-$current_module' name=\"load\" method=\"post\" action=\"iimport_expl.php\">";
407                $formulaire.="<INPUT NAME=\"categ\" TYPE=\"hidden\" value=\"import\" />";
408                $formulaire.="<INPUT NAME=\"sub\" TYPE=\"hidden\" value=\"import_expl\" />";
409                $formulaire.="<INPUT NAME=\"action\" TYPE=\"hidden\" value=\"load\" />";
410                $formulaire.="<INPUT NAME=\"book_lender_id\" TYPE=\"hidden\" value=\"".$book_lender_id."\" />";
411                $formulaire.="<INPUT NAME=\"book_statut_id\" TYPE=\"hidden\" value=\"".$book_statut_id."\" />";
412                $formulaire.="<input type=\"hidden\" name=\"filename\" value=\"$filename\" />";
413                $formulaire.="<input type=\"hidden\" name=\"from_file\" value=\"$from_file\" />";
414                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_mandatory\" VALUE=\"$isbn_mandatory\" />\n";
415                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_dedoublonnage\" VALUE=\"$isbn_dedoublonnage\" />\n";
416                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_only\" VALUE=\"$isbn_only\" />\n";
417                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"cote_mandatory\" VALUE=\"$cote_mandatory\" />\n";
418                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"tdoc_codage\" VALUE=\"$tdoc_codage\" />\n";
419                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"statisdoc_codage\" VALUE=\"$statisdoc_codage\" />\n";
420                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"sdoc_codage\" VALUE=\"$sdoc_codage\" />\n";
421                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"statutnot\" VALUE=\"$statutnot\" />\n";
422                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"book_location_id\" VALUE=\"$book_location_id\" />\n";
423                $formulaire.="<input type=\"hidden\" name=\"recharge\" value=\"YES\" />";
424                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"que_faire\" VALUE=\"$que_faire\" />\n";
425                $formulaire.= "<INPUT TYPE=\"hidden\" NAME=\"link_generate\" VALUE=\"$link_generate\" />\n";
426                $formulaire.= "<input type='hidden' name='authorities_notices' value='".$authorities_notices."' />\n";
427                                $formulaire.= "<input type='hidden' name='authorities_default_origin' value='".$authorities_default_origin."' />\n";
428                                $formulaire.= "<input type='hidden' name='import_force_notice_is_new' value='".$import_force_notice_is_new."' />\n";
429                                $formulaire.= "<input type='hidden' name='notice_replace_links' value='".$notice_replace_links."' />\n";
430                $formulaire.="</form>";
431                printf ($msg[512], $from_file); /* File %s... . End of preload... */
432               
433                $fo = fopen("$base_path/temp/liste_id".SESSid.".txt","w");
434                                fwrite($fo,"");
435                                fclose($fo);
436                                //file_put_contents("$base_path/temp/liste_id".SESSid.".txt","");
437                $script = "<script>setTimeout(\"document.load.submit()\",2000);</script>";
438                        } else {
439                                $formulaire="<form class='form-$current_module' name=\"preload\" method=\"post\" action=\"iimport_expl.php\">";
440                                $formulaire.= "<INPUT NAME=\"".$name_func."\" TYPE=\"hidden\" value=\"".${$name_func}."\"/>";
441                                $formulaire.="<INPUT NAME=\"categ\" TYPE=\"hidden\" value=\"import\" />";
442                                $formulaire.="<INPUT NAME=\"sub\" TYPE=\"hidden\" value=\"import_expl\" />";
443                                $formulaire.="<INPUT NAME=\"action\" TYPE=\"hidden\" value=\"preload\" />";
444                                $formulaire.="<INPUT NAME=\"book_lender_id\" TYPE=\"hidden\" value=\"".$book_lender_id."\" />";
445                                $formulaire.="<INPUT NAME=\"book_statut_id\" TYPE=\"hidden\" value=\"".$book_statut_id."\" />";
446                                $formulaire.="<input type=\"hidden\" name=\"recharge\" value=\"$recharge\" />";
447                                $formulaire.="<input type=\"hidden\" name=\"file_submit\" value=\"$filename\" />";
448                                $formulaire.="<input type=\"hidden\" name=\"from_file\" value=\"$from_file\" />";
449                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_mandatory\" VALUE=\"$isbn_mandatory\" />\n";
450                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_dedoublonnage\" VALUE=\"$isbn_dedoublonnage\" />\n";
451                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_only\" VALUE=\"$isbn_only\" />\n";
452                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"cote_mandatory\" VALUE=\"$cote_mandatory\" />\n";
453                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"tdoc_codage\" VALUE=\"$tdoc_codage\" />\n";
454                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"statisdoc_codage\" VALUE=\"$statisdoc_codage\" />\n";
455                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"sdoc_codage\" VALUE=\"$sdoc_codage\" />\n";
456                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"statutnot\" VALUE=\"$statutnot\" />\n";
457                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"book_location_id\" VALUE=\"$book_location_id\" />\n";
458                                $formulaire.="<input type=\"hidden\" name=\"noticenumber\" value=\"".($noticenumber+$j)."\" />";
459                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"que_faire\" VALUE=\"$que_faire\" />\n";
460                                $formulaire.= "<INPUT TYPE=\"hidden\" NAME=\"link_generate\" VALUE=\"$link_generate\" />\n";
461                                $formulaire.= "<input type='hidden' name='authorities_notices' value='".$authorities_notices."' />\n";
462                                $formulaire.= "<input type='hidden' name='authorities_default_origin' value='".$authorities_default_origin."' />\n";
463                                $formulaire.= "<input type='hidden' name='import_force_notice_is_new' value='".$import_force_notice_is_new."' />\n";
464                                $formulaire.= "<input type='hidden' name='notice_replace_links' value='".$notice_replace_links."' />\n";
465                                $formulaire.="</form>";
466                                $script = "<script>setTimeout(\"document.preload.submit()\",2000);</script>";
467                        }
468            print $formulaire;
469            print $script;
470
471// ----------------------------------- LLIUREX 22/02/2018--------------------------------------
472                } else if ($sub == "import_reb") {
473
474                // import de notice
475                /* Does the file exist ? */
476                if ($file_submit=="") $filename = "unimarc".(defined("LOCATION")?"_".constant("LOCATION"):"").".fic"; else $filename=$file_submit;
477
478                if ($noticenumber=="") $noticenumber=0;
479       
480                if (!file_exists($filename)) {
481                        printf ($msg[506],$filename); /* The file %s doesn't exist... */
482                        return;
483                        }
484       
485                if (filesize($filename)==0) {
486                        printf ($msg[507],$filename); /* The file % is empty, it's going to be deleted */
487                        unlink ($filename);
488                        return;
489                        }
490       
491                $handle = fopen ($filename, "rb");
492                if (!$handle) {
493                        printf ($msg[508],$filename); /* Unable to open the file %s ... */
494                        return;
495                        }
496               
497                exec("yaz-marcdump -o marc -s ".$base_path."/temp/rebdump ".$filename." >/dev/null", $output, $return_var);
498                if ($return_var) {
499                        printf ($msg['import_reb_fail_dump'],$filename); /* dump failed */
500                        unlink ($filename);
501                        return;
502                        }
503               
504                $formulaire="<form class='form-$current_module' name=\"load\" method=\"post\" action=\"iimport_expl.php\">";
505                $formulaire.="<INPUT NAME=\"categ\" TYPE=\"hidden\" value=\"import\">";
506                $formulaire.="<INPUT NAME=\"sub\" TYPE=\"hidden\" value=\"import_reb\">";
507                $formulaire.="<INPUT NAME=\"action\" TYPE=\"hidden\" value=\"load\">";
508                $formulaire.="<input type=\"hidden\" name=\"filename\" value=\"$filename\">";
509                $formulaire.="</form>";
510                printf ($msg[509].$msg[512], $filename, $filename); /* File %s... . End of preload... */
511                $script = "<script>setTimeout(\"document.load.submit()\",2000);</script>";
512                   
513                print $formulaire;
514                print $script;
515// ------------------------------FIN LLIUREX 22/02/2018 ---------------------------
516
517                } else {
518                    // import de notice
519                    /* Does the file exist ? */
520                    if ($file_submit=="") {
521
522// ---------------------------------- LLIUREX 22/02/2018--------------------------------------
523// Cambiando la ruta de lectura del fichero a leer
524// Previamente se ha modificado folow_import.php para escribir en esta nueva ruta       
525//                      $filename = $base_path."/admin/import/".$nom_fichier_transfert_ftp;
526                                $filename = $base_path."/temp/".$nom_fichier_transfert_ftp;
527// ------------------------------- FIN LLIUREX 22/02/2018--------------------------------------
528                        $from_file = "unimarc".(defined("LOCATION")?"_".constant("LOCATION"):"").".fic";
529                    } else {
530                        $filename=$file_submit;
531                    }
532               
533                    if ($isbn_mandatory=="") {
534                        /* l'utilisateur n'est pas passé par le téléchargement du fichier, il faut qu'il nous dise si l'ISBN est obligatoire */
535                        print "
536                            <form class='form-$current_module' NAME=\"preload\" METHOD=\"post\" ACTION=\"iimport_expl.php\">
537                            <h3>".$msg['import_noti_form_titre']."</h3>
538                            <div class='form-contenu'>
539                                <div class='row'>
540                                    <div class='colonne2'>
541                                    <label class='etiquette' for='isbn_obligatoire'>$msg[564]</label><br />
542                                        <INPUT TYPE='radio' NAME='isbn_mandatory' id='io1' VALUE='1' CLASS='radio' /><label for='io1'> $msg[40] </label>
543                                    <INPUT TYPE='radio' NAME='isbn_mandatory' id='io0' VALUE='0' CLASS='radio' checked='checked' /><label for='io0'> $msg[39] </label>
544                                </div>
545                                <div class='colonne-suite'>
546                                    <label class='etiquette' for='isbn_dedoublonnage'>$msg[568]</label><br />
547                                        <INPUT TYPE='radio' NAME='isbn_dedoublonnage' id='di1' VALUE='1' CLASS='radio' checked='checked' /><label for='di1'> $msg[40] </label>
548                                    <INPUT TYPE='radio' NAME='isbn_dedoublonnage' id='di0' VALUE='0' CLASS='radio' /><label for='di0'> $msg[39] </label>
549                                        <input type='checkbox' name='isbn_only' id='ionly' value='1' /><label for='ionly'> ".$msg["ignore_issn"]." </label>
550                                </div>
551                             </div>
552                                        <div class='row'>&nbsp;</div>
553                            <div class='row'>
554                        <div class='colonne2'> 
555                                <label class='etiquette' for='statutnot'>$msg[import_statutnot]</label>
556                                <div>
557                                ".gen_liste_multiple ("select id_notice_statut, gestion_libelle from notice_statut order by 2", "id_notice_statut", "gestion_libelle", "id_notice_statut", "statutnot", "", 1, "", "","","",0)."
558                                </div>
559                        </div>
560                        <div class='colonne-suite'>
561                                <label class='etiquette' for='generer_lien'>".$msg['import_genere_liens']."</label><br />
562                                <INPUT TYPE='radio' NAME='link_generate' id='link1' VALUE=' 1' CLASS='radio' onclick='param_links_display();' /><label for='link1'> $msg[40] </label>
563                                <INPUT TYPE='radio' NAME='link_generate' id='link0' VALUE='0' CLASS='radio' onclick='param_links_display();' checked='checked' /><label for='link0'> $msg[39] </label>
564                            <span id='list_param_links' style='display: none;'>
565                                <div style='clear: both; margin-left: 50%;'>
566                                        <label class='etiquette' for='notice_replace_links'>".$msg['notice_replace_links_option_keep_title']."</label>
567                                        <br /><input type='radio' name='notice_replace_links' value='0' ".($deflt_notice_replace_links==0?"checked='checked'":"")." /> ".$msg['notice_replace_links_option_keep_all']."
568                                                                        <br /><input type='radio' name='notice_replace_links' value='1' ".($deflt_notice_replace_links==1?"checked='checked'":"")." /> ".$msg['notice_replace_links_option_keep_replacing']."
569                                                                        <br /><input type='radio' name='notice_replace_links' value='2' ".($deflt_notice_replace_links==2?"checked='checked'":"")." /> ".$msg['notice_replace_links_option_keep_replaced']."
570                                                                </div>
571                            </span>
572                        </div>
573                    </div>
574                    <div class='row'>&nbsp;</div>
575                        <div class='row'>
576                                <div class='colonne2'>
577                                        <label class='etiquette' for='import_force_notice_is_new'>".$msg['import_force_notice_is_new']."</label>
578                                <div>
579                                        <input type='radio' name='import_force_notice_is_new' id='import_force_notice_is_new' value='0' checked='checked'> ".$msg['39']." <input type='radio' name='import_force_notice_is_new' id='import_force_notice_is_new' value='1'> ".$msg['40']."
580                                </div>
581                                </div>
582                                <div class='colonne-suite'>
583                                                        <label class='etiquette' for='authorities_notices'>".htmlentities($msg['import_with_authorities_notices'],ENT_QUOTES,$charset)."</label><br />
584                                                        <input type='radio' name='authorities_notices' id='authorities_notices1' value='1' class='radio' /><label for='authorities_notices1'>".htmlentities($msg[40],ENT_QUOTES,$charset)."</label>                             
585                                                        <input type='radio' name='authorities_notices' id='authorities_notices0' value='0' class='radio' checked='checked'/><label for='authorities_notices0'>".htmlentities($msg[39],ENT_QUOTES,$charset)."</label>
586                        </div>
587                        </div>
588                        <div class='row'>&nbsp;</div>
589                        <div clas='row'>
590                                <div class='colonne2'>
591                                        &nbsp;<br />
592                                        &nbsp;
593                                </div>
594                                <div class='colonne-suite'>
595                                        <label class='etiquette' for='authorities_default_origin'>".htmlentities($msg['import_authorities_origin_default_value'],ENT_QUOTES,$charset)."</label><br />
596                                                        ".origin::gen_combo_box("authorities","authorities_default_origin")."
597                                </div>
598                        </div>
599                        <div class='row'>&nbsp;</div>
600                    <div clas='row'>
601                                <INPUT TYPE=\"SUBMIT\"  class='bouton' NAME=\"upload\" VALUE=\"".$msg[502]."\" />
602                            </div>
603                            <INPUT NAME=\"categ\" TYPE=\"hidden\" value=\"import\" />
604                            <INPUT NAME=\"sub\" TYPE=\"hidden\" value=\"import\" />
605                            <INPUT NAME=\"action\" TYPE=\"hidden\" value=\"preload\" />
606                            <INPUT NAME=\"".$name_func."\" TYPE=\"hidden\" value=\"".${$name_func}."\"/>
607                            </FORM>
608                    <script type='text/javascript'>
609                                                function param_links_display(){
610                                                        if(document.getElementById('link1').checked){
611                                                                document.getElementById('list_param_links').style.display='';
612                                                        } else {
613                                                                document.getElementById('list_param_links').style.display='none';
614                                                        }
615                                                }
616                                        </script>";
617                        break;
618                    }
619                    loadfile_in_table() ;
620                        if ($pb_fini=="EOF") {
621                                $formulaire="<form class='form-$current_module' name=\"load\" method=\"post\" action=\"iimport_expl.php\">";
622                                $formulaire.="<INPUT NAME=\"categ\" TYPE=\"hidden\" value=\"import\" />";
623                                $formulaire.="<INPUT NAME=\"sub\" TYPE=\"hidden\" value=\"import\" />";
624                                $formulaire.="<INPUT NAME=\"action\" TYPE=\"hidden\" value=\"load\" />";
625                                $formulaire.="<input type=\"hidden\" name=\"filename\" value=\"$filename\" />";
626                                $formulaire.="<input type=\"hidden\" name=\"from_file\" value=\"$from_file\" />";
627                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_mandatory\" VALUE=\"$isbn_mandatory\" />\n";
628                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_dedoublonnage\" VALUE=\"$isbn_dedoublonnage\" />\n";
629                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_only\" VALUE=\"$isbn_only\" />\n";
630                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"statutnot\" VALUE=\"$statutnot\" />\n";
631                                $formulaire.="<input type=\"hidden\" name=\"recharge\" value=\"YES\" />";
632                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"que_faire\" VALUE=\"$que_faire\" />\n";
633                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"link_generate\" VALUE=\"$link_generate\" />\n";
634                                $formulaire.= "<input type='hidden' name='authorities_notices' value='".$authorities_notices."' />\n";
635                                $formulaire.= "<input type='hidden' name='authorities_default_origin' value='".$authorities_default_origin."' />\n";
636                                $formulaire.= "<input type='hidden' name='import_force_notice_is_new' value='".$import_force_notice_is_new."' />\n";
637                                $formulaire.= "<input type='hidden' name='notice_replace_links' value='".$notice_replace_links."' />\n";
638                                $formulaire.="</form>";
639                                printf ($msg[509].$msg[512], $from_file, $from_file); /* File %s... . End of preload... */
640                               
641                                $fo = fopen("$base_path/temp/liste_id".SESSid.".txt","w");
642                                fwrite($fo,"");
643                                fclose($fo);
644                                //file_put_contents("$base_path/temp/liste_id".SESSid.".txt","");
645                                $script = "<script>setTimeout(\"document.load.submit()\",2000);</script>";
646                        } else {
647                                $formulaire="<form class='form-$current_module' name=\"preload\" method=\"post\" action=\"iimport_expl.php\">";
648                                $formulaire.= "<INPUT NAME=\"".$name_func."\" TYPE=\"hidden\" value=\"".${$name_func}."\"/>";
649                                $formulaire.="<INPUT NAME=\"categ\" TYPE=\"hidden\" value=\"import\" />";
650                                $formulaire.="<INPUT NAME=\"sub\" TYPE=\"hidden\" value=\"import\" />";
651                                $formulaire.="<INPUT NAME=\"action\" TYPE=\"hidden\" value=\"preload\" />";
652                                $formulaire.="<input type=\"hidden\" name=\"recharge\" value=\"$recharge\" />";
653                                $formulaire.="<input type=\"hidden\" name=\"file_submit\" value=\"$filename\" />";
654                                $formulaire.="<input type=\"hidden\" name=\"from_file\" value=\"$from_file\" />";
655                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_mandatory\" VALUE=\"$isbn_mandatory\" />\n";
656                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_dedoublonnage\" VALUE=\"$isbn_dedoublonnage\" />\n";
657                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_only\" VALUE=\"$isbn_only\" />\n";
658                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"statutnot\" VALUE=\"$statutnot\" />\n";
659                                $formulaire.="<input type=\"hidden\" name=\"noticenumber\" value=\"".($noticenumber+$j)."\" />";
660                                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"link_generate\" VALUE=\"$link_generate\" />\n";
661                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"que_faire\" VALUE=\"$que_faire\" />\n";
662                                $formulaire.= "<input type='hidden' name='authorities_notices' value='".$authorities_notices."' />\n";
663                                $formulaire.= "<input type='hidden' name='authorities_default_origin' value='".$authorities_default_origin."' />\n";
664                                $formulaire.= "<input type='hidden' name='import_force_notice_is_new' value='".$import_force_notice_is_new."' />\n";
665                                $formulaire.= "<input type='hidden' name='notice_replace_links' value='".$notice_replace_links."' />\n";
666                                $formulaire.="</form>";
667                                $script = "<script>setTimeout(\"document.preload.submit()\",2000);</script>";
668                        }
669                    print $formulaire;
670                    print $script;
671                }
672        break;
673    case 'load':
674
675// -----------------------------------LLIUREX 22/02/2018--------------------------------------
676        if ($sub == "import_reb") {
677                include("$class_path/audit.class.php");
678                require ($base_path."/catalog/z3950/notice.inc.php");
679                include("$include_path/templates/expl.tpl.php");
680                include ("$class_path/z3950_notice.class.php");
681                require_once($base_path."/catalog/z3950/func_other.inc.php");
682
683                $integration_OK=0;
684                $integration_UP=0;
685
686
687               
688                $dirrec=scandir($base_path."/temp/");
689                foreach($dirrec as $file) {
690                        if ( (strpos($file, "rebdump")) !== false ) {
691                                $fp = fopen ($base_path."/temp/".$file,"r");
692                                $buffer="";
693                                while (!feof($fp)) {
694                                        $buffer.= fread($fp, 4096);
695                                }
696                                fclose($fp);
697                                unlink($base_path."/temp/".$file);
698
699                                $notice = new z3950_notice ("usmarc", $buffer);
700                                $res_integration = $notice->insert_in_database($show=false);
701                                $new_notice=$res_integration[0];
702                                $num_notice=$res_integration[1];
703                                //if (($new_notice==0) && ($num_notice==0)) $integration_OK="ECHEC";
704                                //if (($new_notice==0) && ($num_notice!=0)) $integration_OK="EXISTAIT";
705                                if (($new_notice==1) && ($num_notice!=0)) $integration_OK++; 
706                                if (($new_notice==2) && ($num_notice!=0)) $integration_UP++; 
707                                //if (($new_notice==1) && ($num_notice==0)) $integration_OK="NEWRATEE";
708
709                        }
710                }
711                unlink($filename);
712
713                printf ($msg['import_reb_ok'], $integration_OK);
714                printf ($msg['import_reb_up'], $integration_UP);
715
716                return;
717        }
718
719// ----------------------------------FIN LLIUREX 22/02/2018 -------------------------------
720
721                if (!$statutnot) $statutnot=1;
722                printf ($msg[509], $from_file);
723                if (!isset($nbtot_notice) || $nbtot_notice=="") {
724                        $sql = "select count(1) from import_marc where origine='".addslashes(SESSid)."' ";
725                        $sql_result = pmb_mysql_query($sql) or die ("Couldn't select count(1) from import table !");
726                        $nbtot_notice=pmb_mysql_result($sql_result, 0, 0);
727        }
728                if ($sub == "import_expl") {
729                        $section_995_=new marc_list("section_995");
730                        $section_995=$section_995_->table;
731                        $typdoc_995_=new marc_list("typdoc_995");
732                        $typdoc_995=$typdoc_995_->table;
733                        $codstatdoc_995_=new marc_list("codstatdoc_995");
734                        $codstatdoc_995=$codstatdoc_995_->table;
735                        /* let's initialize the counters if necessary */
736                        if ($nb_expl_ignores == "") $nb_expl_ignores=0;
737                        printf ($msg[511], "\"".$book_lender_name."\"") ;
738                }
739
740        $sql = "select notice, id_import from import_marc where origine='".addslashes(SESSid)."' ORDER BY id_import limit $pmb_import_limit_record_load ";
741        $sql_result_import = pmb_mysql_query($sql) or die ("Couldn't select import table !");
742        $n_notice=pmb_mysql_num_rows($sql_result_import);
743        if (!isset($notice_deja_presente) || $notice_deja_presente=="") {
744                $notice_deja_presente=0;
745        }
746        $inotice=0;
747        $notice_rejetee=0;
748        $txt="";
749
750                while (($notobj = pmb_mysql_fetch_object($sql_result_import))) {
751            $notice=$notobj->notice ;
752            $idnotice_import=$notobj->id_import ;
753            $inotice++;
754                       
755            $res_lecture = recup_noticeunimarc($notice) ;
756            if($link_generate) $res_link = recup_noticeunimarc_link($notice);
757                        if (!$res_lecture || !$tit_200a[0]) {
758                $res_lecture = 0;
759                // ".$inotice."
760                $fp = fopen ("../../temp/err_import.unimarc","a+");
761                fwrite ($fp, $notice);
762                fclose ($fp);
763                $notice_rejetee++;
764                        }
765           
766                        if ($res_lecture) {
767                recup_noticeunimarc_suite($notice) ;
768
769                /* We've got everything, let's have a look if ISBN already exists in notices table */
770                if(!isset($isbn[0])) $isbn[0] = '';
771                if($isbn[0]=="NULL") $isbn[0]="";
772                // si isbn vide, on va tenter de prendre l'EAN stocké en 345$b
773                if ($isbn[0]=="") $isbn[0] = (isset($EAN[0]) ? $EAN[0] : '');
774                // si isbn vide, on va tenter de prendre le serial en 011
775                if ($isbn[0]=="") $isbn[0] = (isset($issn_011[0]) ? $issn_011[0] : '');
776                // si ISBN obligatoire et isbn toujours vide :
777                if ($isbn_mandatory == 1 && $isbn[0]=="") {
778                    // on va tenter de prendre l'ISSN stocké en 225$x
779                    $isbn[0]=$collection_225[0]['x'] ;
780                    // si isbn toujours vide, on va tenter de prendre l'ISSN stocké en 410$x
781                    if ($isbn[0]=="") $isbn[0]=$collection_410[0]['x'] ;
782                }
783
784                                // on commence par voir ce que le code est (basé sur la recherche par code du module catalogage
785                                $ex_query = clean_string($isbn[0]);
786                               
787                                $EAN = '';
788                                $isbn = '';
789                                $code = '';
790                                $code10 = '' ;
791                               
792                                if(isEAN($ex_query)) {
793                                        // la saisie est un EAN -> on tente de le formater en ISBN
794                                        $EAN=$ex_query;
795                                        $isbn = EANtoISBN($ex_query);
796                                        // si échec, on prend l'EAN comme il vient
797                                        if(!$isbn) 
798                                                $code = str_replace("*","%",$ex_query);
799                                        else {
800                                                $code=$isbn;
801                                                $code10=formatISBN($code,10);
802                                        }
803                                } else {
804                                        if(isISBN($ex_query)) {
805                                                // si la saisie est un ISBN
806                                                $isbn = formatISBN($ex_query);
807                                                // si échec, ISBN erroné on le prend sous cette forme
808                                                if(!$isbn) 
809                                                        $code = str_replace("*","%",$ex_query);
810                                                else {
811                                                        $code10=$isbn ;
812                                                        $code=formatISBN($code10,13);
813                                                }
814                                        } else {
815                                                // ce n'est rien de tout ça, on prend la saisie telle quelle
816                                                $code = str_replace("*","%",$ex_query);
817                                        }
818                                }
819                               
820                                $isbn_OK=$code;
821                $new_notice = 0;
822                $notice_id = 0 ;
823                                // le paramétrage est-il : dédoublonnage sur code ? / Ne dédoublonner que sur code ISBN (ignorer les ISSN) ?
824                if ((($isbn_dedoublonnage)&&(!$isbn_only))||(($isbn_dedoublonnage)&&($isbn_only)&&(isISBN($isbn)))) {
825                                       
826                                        $trouvees=0;
827                                        if ($EAN && $isbn) {
828                                                // cas des EAN purs : constitution de la requête
829                                                $requete = "SELECT distinct notice_id FROM notices ";
830                                                $requete.= " WHERE notices.code in ('$code','$EAN'".($code10?",'$code10'":"").") limit 1";
831                                                $myQuery = pmb_mysql_query($requete, $dbh);
832                                                $trouvees=pmb_mysql_num_rows($myQuery);
833                                        } elseif ($isbn) {
834                                                // recherche d'un isbn
835                                                $requete = "SELECT distinct notice_id FROM notices ";
836                                                $requete.= " WHERE notices.code in ('$code'".($code10?",'$code10'":"").") limit 1";
837                                                $myQuery = pmb_mysql_query($requete, $dbh);
838                                                $trouvees=pmb_mysql_num_rows($myQuery);
839                                        } elseif ($code) {
840                                                // note : le code est recherché dans le champ code des notices
841                                                // (cas des code-barres disques qui échappent à l'EAN)
842                                                //
843                                                $requete = "SELECT notice_id FROM notices ";
844                                                $requete.= " WHERE notices.code like '$code' limit 10";
845                                                $myQuery = pmb_mysql_query($requete, $dbh);
846                                                $trouvees=pmb_mysql_num_rows($myQuery);
847                                        }
848
849                    // dédoublonnage sur isbn
850                    if ($EAN  || $isbn || $code) {
851                        if ($trouvees==0) {
852                            $new_notice=1;
853                        } else {
854                            $new_notice=0;
855                            $notice_id = pmb_mysql_result($myQuery,0,"notice_id");
856                            $sql_log = pmb_mysql_query("insert into error_log (error_origin, error_text) values ('import_expl_".addslashes(SESSid).".inc', '".$msg[542]." $EAN  || $isbn || $code ".addslashes($tit[0]['a'])."') ") ;
857                        }
858                    } else {
859                        if ($isbn_mandatory == 1) {
860                            $sql_log = pmb_mysql_query("insert into error_log (error_origin, error_text) values ('import_".addslashes(SESSid).".inc', '".$msg[543]."') ") ;
861                        } else {
862                            $new_notice = 1;
863                            $sql_log = pmb_mysql_query("insert into error_log (error_origin, error_text) values ('import_".addslashes(SESSid).".inc', '".$msg[565]."') ") ;
864                        }
865                    }
866                } else {
867                    // pas de dédoublonnage
868                    if ($isbn_mandatory == 1 && $isbn_OK=="") {
869                       $sql_log = pmb_mysql_query("insert into error_log (error_origin, error_text) values ('import_".addslashes(SESSid).".inc', '".$msg[543]."') ") ;
870                    }elseif($isbn_OK){
871                        $new_notice = 1;
872                    }else{
873                         $new_notice = 1;
874                         $sql_log = pmb_mysql_query("insert into error_log (error_origin, error_text) values ('import_".addslashes(SESSid).".inc', '".$msg[565]."') ") ;
875                    }
876                }
877                /* the notice is new, we are going to import it... */
878                if ($new_notice==1) {                   
879                    import_new_notice() ; 
880                    if($link_generate) import_notice_link();                   
881                                import_new_notice_suite() ;                             
882                                // Mise à jour de la table "notices_global_index"
883                                notice::majNoticesGlobalIndex($notice_id);
884                                // Mise à jour de la table "notices_mots_global_index"
885                                notice::majNoticesMotsGlobalIndex($notice_id);
886                } else {
887                        $notice_deja_presente++;
888                       
889                                        //TRAITEMENT DES DOCS NUMERIQUES SUR NOTICE EXISTANTE
890                                        if ($add_explnum===TRUE) ajoute_explnum();
891                                }
892
893                // TRAITEMENT DES EXEMPLAIRES ICI
894                if ($sub == "import_expl") {
895                    traite_exemplaires () ;
896                } // fin if $sub=import_expl
897                }
898               
899               
900            /* this has been succesfuly read, it can be deleted */
901                $sql_del = "delete from import_marc where id_import = '".$idnotice_import."' ";
902            $sql_result_del = pmb_mysql_query($sql_del) or die ("Couldn't delete import_marc $idnotice_import !");
903        } /* end while records in import table */
904        $sql = "select count(1) as reste from import_marc where origine='".addslashes(SESSid)."'";
905        $sql_result = pmb_mysql_query($sql) or die ("Couldn't select count import table !");
906        $reste=pmb_mysql_result($sql_result,0,"reste");
907
908        if ($sub == "import_expl") {
909            if ($reste > 0 ) {
910                $formulaire="<form class='form-$current_module' name=\"load\" method=\"post\" action=\"iimport_expl.php\">\n";
911                $formulaire.="<INPUT NAME=\"categ\" TYPE=\"hidden\" value=\"import\" />";
912                $formulaire.="<INPUT NAME=\"sub\" TYPE=\"hidden\" value=\"import_expl\" />";
913                $formulaire.="<INPUT NAME=\"action\" TYPE=\"hidden\" value=\"load\" />";
914                $formulaire.="<INPUT NAME=\"book_lender_id\" TYPE=\"hidden\" value=\"".$book_lender_id."\" />";
915                $formulaire.="<INPUT NAME=\"book_statut_id\" TYPE=\"hidden\" value=\"".$book_statut_id."\" />";
916                $formulaire.="<input type=\"hidden\" name=\"filename\" value=\"$filename\" />";
917                $formulaire.="<input type=\"hidden\" name=\"from_file\" value=\"$from_file\" />";
918                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_mandatory\" VALUE=\"$isbn_mandatory\" />\n";
919                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_dedoublonnage\" VALUE=\"$isbn_dedoublonnage\" />\n";
920                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_only\" VALUE=\"$isbn_only\" />\n";
921                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"cote_mandatory\" VALUE=\"$cote_mandatory\" />\n";
922                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"tdoc_codage\" VALUE=\"$tdoc_codage\" />\n";
923                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"statisdoc_codage\" VALUE=\"$statisdoc_codage\" />\n";
924                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"sdoc_codage\" VALUE=\"$sdoc_codage\" />\n";
925                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"statutnot\" VALUE=\"$statutnot\" />\n";
926                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"book_location_id\" VALUE=\"$book_location_id\" />\n";
927                $formulaire.="<input type=\"hidden\" name=\"recharge\" value=\"YES\" />\n";
928                $formulaire.="<input type=\"hidden\" name=\"reste\" value=\"".($reste)."\" />\n";
929                $formulaire.="<input type=\"hidden\" name=\"nbtot_notice\" value=\"".($nbtot_notice)."\" />\n";
930                $formulaire.="<input type=\"hidden\" name=\"notice_deja_presente\" value=\"".($notice_deja_presente)."\" />\n";
931                $formulaire.="<input type=\"hidden\" name=\"notice_rejetee\" value=\"".($notice_rejetee)."\" />\n";
932                $formulaire.="<input type=\"hidden\" name=\"nb_expl_ignores\" value=\"".($nb_expl_ignores)."\" />\n";
933                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"que_faire\" VALUE=\"$que_faire\" />\n";
934                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"link_generate\" VALUE=\"$link_generate\" />\n";
935                                $formulaire.= "<input type='hidden' name='authorities_notices' value='".$authorities_notices."' />\n";
936                                $formulaire.= "<input type='hidden' name='authorities_default_origin' value='".$authorities_default_origin."' />\n";
937                                $formulaire.= "<input type='hidden' name='import_force_notice_is_new' value='".$import_force_notice_is_new."' />\n";
938                                $formulaire.= "<input type='hidden' name='notice_replace_links' value='".$notice_replace_links."' />\n";
939                                $formulaire.="</form>";
940                   
941                 //On enregistre les ids utilisés avant le rechargement
942                global $notices_crees, $notices_a_creer,$bulletins_crees,$bulletins_a_creer;
943                $tabimport_id['notices_existantes'] = $notices_crees;
944                $tabimport_id['notices_a_creer'] = $notices_a_creer;
945                $tabimport_id['bulletins_crees'] = $bulletins_crees;
946                $tabimport_id['bulletins_a_creer'] = $bulletins_a_creer;
947                $fo = fopen("$base_path/temp/liste_id".SESSid.".txt","w");               
948                                fwrite($fo,serialize($tabimport_id));
949                $formulaire.="<script> setTimeout(\"document.load.submit()\",2000); </script>\n";
950                printf ($msg[513], $reste, $nbtot_notice); /* File %s ... . Still %s notices to load (total = %s) ... */
951                if ($notice_deja_presente==1) {
952                        printf ($msg[514],$notice_deja_presente) ; /* <br />($notice_deja_presente notice already in the database has been ignored since the begining) */
953                } elseif ($notice_deja_presente>1) {
954                        printf ($msg[515],$notice_deja_presente) ; /* <br />($notice_deja_presente notices already in the database have been ignored since the begining) */
955                }
956                if ($notice_rejetee>0) {
957                        print "<br /> ".$notice_rejetee." ".$msg['notices_invalides'];
958                }
959                printf ($msg[521], $nb_expl_ignores); /* ## exemplaire(s) ignoré(s) */
960            } else {
961                $formulaire="";
962                $script="";
963                printf ($msg[516], $nbtot_notice); /* There were <b>$nbtot_notice</b> notice(s) to load, everything is OK...</b> */
964                if ($notice_deja_presente==1) {
965                        printf ($msg[517], $notice_deja_presente); /*  <b>$notice_deja_presente</b> notice already in the database has been ignored... */
966                } elseif ($notice_deja_presente>1) {
967                        printf ($msg[518], $notice_deja_presente); /*  dont <b>$notice_deja_presente</b> notices already in the database have been ignored... */
968                }
969                if ($notice_rejetee>0) {
970                        print "<br /> ".$notice_rejetee." ".$msg['notices_invalides'];
971                }
972                printf ($msg[521], $nb_expl_ignores); /* ## exemplaire(s) ignoré(s) */
973                /* ajouter ici SELECT error_origin, error_text, count(*) FROM error_log group by error_origin, error_text */
974                $gen_liste_log="";
975                $array_isbn_doublons = array();
976                $datetime_import='';
977                $resultat_liste=pmb_mysql_query("SELECT error_origin, error_text, error_date, count(*) as nb_error FROM error_log where error_origin in ('expl_".addslashes(SESSid).".class','import_expl_".addslashes(SESSid).".inc','iimport_expl_".addslashes(SESSid).".inc','import_".addslashes(SESSid).".inc.php','import_".addslashes(SESSid).".inc','import_func_".addslashes(SESSid).".inc.php') group by error_origin, error_text" );
978                $nb_liste=pmb_mysql_num_rows($resultat_liste);
979                if ($nb_liste>0) {
980                    $gen_liste_log = "<br /><br /><b>".$msg[538]."</b><br />!!dbls_isbn!!<table border='1'>" ;
981                    $gen_liste_log.="<tr><th>".$msg[539]."</th><th>".$msg[540]."</th><th>".$msg[541]."</th></tr>";
982                    $i_log=0;
983                    while ($i_log<$nb_liste) {
984                        if (preg_match('`^'.$msg['542'].'(.*)\|\|(.*)\|\|(.*)$`',pmb_mysql_result($resultat_liste,$i_log,"error_text"),$out)) {
985                                for ($j=1;$j<=3;$j++) {
986                                        if ($tmp_isbn = trim($out[$j])) {
987                                                $tmp_isbn = "'".$tmp_isbn."'";
988                                                if ((!count($array_isbn_doublons))||(!in_array($tmp_isbn,$array_isbn_doublons))) {
989                                                        $array_isbn_doublons[] = $tmp_isbn;
990                                                }
991                                        }
992                                }
993                        }
994                        $gen_liste_log.="<tr>";
995                        $gen_liste_log.="<td>".pmb_mysql_result($resultat_liste,$i_log,"error_origin")."</td>" ;
996                        $gen_liste_log.="<td><b>".pmb_mysql_result($resultat_liste,$i_log,"error_text")."</b></td>" ;
997                        $gen_liste_log.="<td>".pmb_mysql_result($resultat_liste,$i_log,"nb_error")."</td>" ;
998                        $gen_liste_log.="</tr>" ;
999                        $datetime_import = pmb_mysql_result($resultat_liste,$i_log,"error_date");
1000                        $i_log++;
1001                    }
1002                }
1003                $gen_liste_log.="</table>\n" ;
1004                if (count($array_isbn_doublons)) {
1005                        $gen_liste_log = str_replace('!!dbls_isbn!!','<div class="hmenu">'.$msg['last_import_isbn_doublons_found'].'<span><a href="javascript:parent.location=\'../../catalog.php?categ=search&mode=8&option_show_notice_fille=&option_show_expl=\';">'.$msg['search_expl'].'</a></span></div>',$gen_liste_log);
1006                } else {
1007                        $gen_liste_log = str_replace('!!dbls_isbn!!','',$gen_liste_log);
1008                }
1009                print $gen_liste_log;
1010                $_SESSION["last_import_isbn_doublons"] = json_encode(implode(',',$array_isbn_doublons));
1011                $_SESSION["last_import_isbn_doublons_datetime"] = $datetime_import;
1012                @unlink("$base_path/temp/liste_id".SESSid.".txt");
1013            }
1014            print $formulaire;
1015            print $script;
1016        } else {
1017            // import de notices
1018            if ($reste > 0 ) {
1019                $formulaire="<form class='form-$current_module' name=\"load\" method=\"post\" action=\"iimport_expl.php\">\n";
1020                $formulaire.="<INPUT NAME=\"categ\" TYPE=\"hidden\" value=\"import\" />";
1021                $formulaire.="<INPUT NAME=\"sub\" TYPE=\"hidden\" value=\"import\" />";
1022                $formulaire.="<INPUT NAME=\"action\" TYPE=\"hidden\" value=\"load\" />";
1023                $formulaire.="<input type=\"hidden\" name=\"filename\" value=\"$filename\" />";
1024                $formulaire.="<input type=\"hidden\" name=\"from_file\" value=\"$from_file\" />";
1025                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_mandatory\" VALUE=\"$isbn_mandatory\" />\n";
1026                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_dedoublonnage\" VALUE=\"$isbn_dedoublonnage\" />\n";
1027                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"isbn_only\" VALUE=\"$isbn_only\" />\n";
1028                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"statutnot\" VALUE=\"$statutnot\" />\n";
1029                $formulaire.="<input type=\"hidden\" name=\"recharge\" value=\"YES\" />\n";
1030                $formulaire.="<input type=\"hidden\" name=\"reste\" value=\"".($reste)."\" />\n";
1031                $formulaire.="<input type=\"hidden\" name=\"nbtot_notice\" value=\"".($nbtot_notice)."\" />\n";
1032                $formulaire.="<input type=\"hidden\" name=\"notice_deja_presente\" value=\"".($notice_deja_presente)."\" />\n";
1033                $formulaire.="<input type=\"hidden\" name=\"notice_rejetee\" value=\"".($notice_rejetee)."\" />\n";
1034                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"link_generate\" VALUE=\"$link_generate\" />\n";
1035                $formulaire.="<INPUT TYPE=\"hidden\" NAME=\"que_faire\" VALUE=\"$que_faire\" />\n";
1036                                $formulaire.= "<input type='hidden' name='authorities_notices' value='".$authorities_notices."' />\n";
1037                $formulaire.= "<input type='hidden' name='authorities_default_origin' value='".$authorities_default_origin."' />\n";
1038                $formulaire.= "<input type='hidden' name='import_force_notice_is_new' value='".$import_force_notice_is_new."' />\n";
1039                $formulaire.= "<input type='hidden' name='notice_replace_links' value='".$notice_replace_links."' />\n";
1040                                $formulaire.="</form>";
1041               
1042                //On enregistre les ids utilisés avant le rechargement
1043                global $notices_crees, $notices_a_creer,$bulletins_crees,$bulletins_a_creer;
1044                $tabimport_id['notices_existantes'] = $notices_crees;
1045                $tabimport_id['notices_a_creer'] = $notices_a_creer;
1046                $tabimport_id['bulletins_crees'] = $bulletins_crees;
1047                $tabimport_id['bulletins_a_creer'] = $bulletins_a_creer;
1048                $fo = fopen("$base_path/temp/liste_id".SESSid.".txt","w");               
1049                                fwrite($fo,serialize($tabimport_id));   
1050                $formulaire.="<script> setTimeout(\"document.load.submit()\",2000); </script>\n";
1051                printf ($msg[509].$msg[513],$from_file, $reste, $nbtot_notice); /* File %s ... . Still %s notices to load (total = %s) ... */
1052                if ($notice_deja_presente==1) {
1053                        printf ($msg[514],$notice_deja_presente) ; /* <br />($notice_deja_presente notice already in the database has been ignored since the begining) */
1054                } elseif ($notice_deja_presente>1) {
1055                        printf ($msg[515],$notice_deja_presente) ; /* <br />($notice_deja_presente notices already in the database have been ignored since the begining) */
1056                }
1057                if ($notice_rejetee>0) {
1058                        print "<br /> ".$notice_rejetee." ".$msg['notices_invalides'];
1059                }
1060            } else {
1061                $formulaire="";
1062                $script="";
1063                printf ($msg[509].$msg[516], $from_file, $nbtot_notice); /* There were <b>$nbtot_notice</b> notice(s) to load, everything is OK...</b> */
1064                if ($notice_deja_presente==1) {
1065                        printf ($msg[517], $notice_deja_presente); /*  <b>$notice_deja_presente</b> notice already in the database has been ignored... */
1066                } elseif ($notice_deja_presente>1) {
1067                        printf ($msg[518], $notice_deja_presente); /*  dont <b>$notice_deja_presente</b> notices already in the database have been ignored... */
1068                }
1069                if ($notice_rejetee>0) {
1070                        print "<br /> ".$notice_rejetee." ".$msg['notices_invalides'] ;
1071                }
1072                /* ajouter ici SELECT error_origin, error_text, count(*) FROM error_log group by error_origin, error_text */
1073                $gen_liste_log="";
1074                $array_isbn_doublons = array();
1075                $datetime_import='';
1076                $resultat_liste=pmb_mysql_query("SELECT error_origin, error_text, error_date, count(*) as nb_error FROM error_log where error_origin in ('expl_".addslashes(SESSid).".class','import_expl_".addslashes(SESSid).".inc','iimport_expl_".addslashes(SESSid).".inc','import_".addslashes(SESSid).".inc.php', 'import_".addslashes(SESSid).".inc','import_func_".addslashes(SESSid).".inc.php') group by error_origin, error_text" );
1077                $nb_liste=pmb_mysql_num_rows($resultat_liste);
1078                if ($nb_liste>0) {
1079                    $gen_liste_log = "<br /><br /><b>".$msg[538]."</b><br />!!dbls_isbn!!<table width=\"100%\"  border='1'>" ;
1080                    $gen_liste_log.="<tr><td>".$msg[539]."</td><td>".$msg[540]."</td><td>".$msg[541]."</td></tr>";
1081                    $i_log=0;
1082                    while ($i_log<$nb_liste) {
1083                        if (preg_match('`^'.$msg['542'].'(.*)\|\|(.*)\|\|(.*)$`',pmb_mysql_result($resultat_liste,$i_log,"error_text"),$out)) {
1084                                for ($j=1;$j<=3;$j++) {
1085                                        if ($tmp_isbn = trim($out[$j])) {
1086                                                $tmp_isbn = "'".$tmp_isbn."'";
1087                                                if ((!count($array_isbn_doublons))||(!in_array($tmp_isbn,$array_isbn_doublons))) {
1088                                                        $array_isbn_doublons[] = $tmp_isbn;
1089                                                }
1090                                        }
1091                                }
1092                        }
1093                        $gen_liste_log.="<tr>";
1094                        $gen_liste_log.="<td>".pmb_mysql_result($resultat_liste,$i_log,"error_origin")."</td>" ;
1095                        $gen_liste_log.="<td><b>".pmb_mysql_result($resultat_liste,$i_log,"error_text")."</b></td>" ;
1096                        $gen_liste_log.="<td>".pmb_mysql_result($resultat_liste,$i_log,"nb_error")."</td>" ;
1097                        $gen_liste_log.="</tr>" ;
1098                        $datetime_import = pmb_mysql_result($resultat_liste,$i_log,"error_date");
1099                        $i_log++;
1100                    }
1101                }
1102                $gen_liste_log.="</table>\n" ;
1103                if (count($array_isbn_doublons)) {
1104                        $gen_liste_log = str_replace('!!dbls_isbn!!','<div class="hmenu">'.$msg['last_import_isbn_doublons_found'].'<span><a href="javascript:parent.location=\'../../catalog.php?categ=search&mode=6\';">'.$msg['search_extended'].'</a></span></div>',$gen_liste_log);
1105                } else {
1106                        $gen_liste_log = str_replace('!!dbls_isbn!!','',$gen_liste_log);
1107                }
1108                print $gen_liste_log;
1109                $_SESSION["last_import_isbn_doublons"] = json_encode(implode(',',$array_isbn_doublons));
1110                $_SESSION["last_import_isbn_doublons_datetime"] = $datetime_import;
1111                @unlink("$base_path/temp/liste_id".SESSid.".txt");
1112            }
1113
1114                print $formulaire;
1115                print $script;
1116        }
1117        break;
1118    default:
1119        $formulaire="<form class='form-$current_module' name=\"beforeupload\" method=\"post\" action=\"iimport_expl.php\" onsubmit=\"return false;\">";
1120        $formulaire.="<INPUT NAME=\"categ\" TYPE=\"hidden\" value=\"import\" />";
1121        $formulaire.="<INPUT NAME=\"action\" id=\"action\" TYPE=\"hidden\" value=\"beforeupload\" />";
1122        $form_text="";
1123        if ($sub == "import_expl"){
1124                $formulaire.="<INPUT NAME=\"sub\" TYPE=\"hidden\" value=\"import_expl\" />";
1125                $form_text=file_get_contents("$include_path/messages/help/$lang/import_expl.txt");
1126        }
1127
1128// ---------------------------------- LLIUREX 22/02/2018--------------------------------------
1129        else if ($sub == "import_reb") {
1130                $formulaire.="<INPUT NAME=\"sub\" TYPE=\"hidden\" value=\"import_reb\" />";
1131                $form_text=file_get_contents("$include_path/messages/help/$lang/import_reb.txt") ;
1132                }
1133// --------------------------------- FIN LLIUREX 22/02/2018-------------------------------     
1134
1135        else{
1136                $formulaire.="<INPUT NAME=\"sub\" TYPE=\"hidden\" value=\"import\" />";
1137                $form_text=file_get_contents("$include_path/messages/help/$lang/import.txt");
1138        }
1139       
1140        $formulaire.=str_replace(array("!!nom_fic!!","!!nom_bouton!!"),array(htmlentities($nom_fichier_transfert_ftp,ENT_QUOTES,$charset),htmlentities($msg["admin_import_notice_prechargement"],ENT_QUOTES,$charset)),$form_text);
1141       
1142        if(!$table_list_func_import){
1143                if(file_exists("func_import_subst.xml")){
1144                        $table_list_func_import=_parser_text_no_function_(file_get_contents("func_import_subst.xml"),"CATALOG");
1145                }elseif(file_exists("func_import.xml")){
1146                        $table_list_func_import=_parser_text_no_function_(file_get_contents("func_import.xml"),"CATALOG");
1147                }
1148        }       
1149       
1150        $code_js=$selecteur_fic="";
1151        if(is_array($table_list_func_import["ITEM"]) && count($table_list_func_import["ITEM"])){
1152                $incr=0;
1153                $text_desc_func_import="";
1154                $code_js.="<script type=\"text/javascript\">\n";
1155                $code_js.="var func_import_desc= new Array(); var func_import_value= new Array();\n";
1156                $selecteur_fic="<label class=\"etiquette\" for=\"".$name_func."\">".htmlentities($msg["admin_import_notice_choice"],ENT_QUOTES,$charset)."</label>\n";
1157                $selecteur_fic.="<select name=\"".$name_func."\" id=\"".$name_func."\" onChange=\"affiche_description();\" >\n";
1158                $selected_trouve="";
1159                foreach ( $table_list_func_import["ITEM"] as $value ) {
1160                        $code_js.="func_import_desc[$incr] = \"".htmlentities($value["DESCRIPTION"],ENT_QUOTES,$charset)."\";\n";
1161                        $code_js.="func_import_value[$incr] = \"".htmlentities(substr($value["FUNCTION"],0,-4),ENT_QUOTES,$charset)."\";\n";
1162                       
1163                        $selecteur_fic.="<option value=\"".htmlentities(substr($value["FUNCTION"],0,-4),ENT_QUOTES,$charset)."\" ";
1164                        if($func_import_model == $value["FUNCTION"]){
1165                                $selecteur_fic.="selected=\"selected\" ";
1166                                $selected_trouve=$value["FUNCTION"];
1167                                $text_desc_func_import=$value["DESCRIPTION"];
1168                        }
1169                        $selecteur_fic.=">".htmlentities($value["NAME"],ENT_QUOTES,$charset)."</option>\n";
1170                        $incr++;
1171                        }
1172                        if(!$selected_trouve || ($pmb_import_modele && $selected_trouve != $pmb_import_modele)){
1173                                $code_js.="func_import_desc[$incr] = \"\";\n";
1174                        $code_js.="func_import_value[$incr] = \"".htmlentities(substr($pmb_import_modele,0,-4),ENT_QUOTES,$charset)."\";\n";
1175                                $selecteur_fic.="<option value=\"".htmlentities(substr($pmb_import_modele,0,-4),ENT_QUOTES,$charset)."\" ";
1176                                if(!$selected_trouve){
1177                                        $selecteur_fic.="selected=\"selected\" ";
1178                                }
1179                               
1180                                $selecteur_fic.=">".htmlentities($msg["admin_import_notice_defaut"],ENT_QUOTES,$charset)."</option>\n";
1181                        }
1182                $selecteur_fic.="</select>&nbsp;&nbsp;&nbsp;\n";
1183               
1184                $code_js.="function affiche_description(){
1185                        var func_import=document.beforeupload.".$name_func.";
1186                                var mon_select=false;
1187                                var index_select = func_import.options[func_import.selectedIndex].value;
1188                                //console.log(document.getElementById('text_desc_func_import').innerHTML);
1189                                for (var i=0; i<func_import_value.length;i++){
1190                                        if(func_import_value[i] == index_select){
1191                                                document.getElementById('text_desc_func_import').innerHTML =func_import_desc[i];
1192                                        }
1193                                }
1194                }";
1195                $code_js.="</script>";
1196        }
1197       
1198        $selecteur_encodage="<label class=\"etiquette\" for=\"encodage_fic_source\" id=\"text_desc_encodage_fic_source\" name=\"text_desc_encodage_fic_source\">".htmlentities($msg["admin_import_encodage_fic_source"],ENT_QUOTES,$charset)."</label>
1199        <select name=\"encodage_fic_source\" id=\"encodage_fic_source\">
1200                        <option value=\"\" ".((!isset($encodage_fic_source) || !$encodage_fic_source) ? " selected=\"selected\" ": "").">".htmlentities($msg["admin_import_encodage_fic_source_undefine"],ENT_QUOTES,$charset)."</option>
1201                        <option value=\"iso5426\" ".(isset($encodage_fic_source) && ($encodage_fic_source == "iso5426") ? " selected=\"selected\" ": "").">".htmlentities($msg["admin_import_encodage_fic_source_iso5426"],ENT_QUOTES,$charset)."</option>
1202                        <option value=\"utf8\" ".(isset($encodage_fic_source) && ($encodage_fic_source == "utf8") ? " selected=\"selected\" ": "").">".htmlentities($msg["admin_import_encodage_fic_source_utf8"],ENT_QUOTES,$charset)."</option>
1203                        <option value=\"iso8859\" ".(isset($encodage_fic_source) && ($encodage_fic_source == "iso8859") ? " selected=\"selected\" ": "").">".htmlentities($msg["admin_import_encodage_fic_source_iso8859"],ENT_QUOTES,$charset)."</option>
1204                </select></br></br>";
1205       
1206// ---------------------------- LLIUREX 22/02/2018 ---------------------------------           
1207       /*       
1208        $formulaire.=$selecteur_fic;
1209        $formulaire.="<label class=\"etiquette\" for=\"".$name_func."\" id=\"text_desc_func_import\" name=\"text_desc_func_import\">".htmlentities($text_desc_func_import,ENT_QUOTES,$charset)."</label></br>\n";
1210        $formulaire.=$selecteur_encodage;
1211        $formulaire.="<INPUT type=\"button\" value=\"".htmlentities($msg["admin_import_notice_telechargement"],ENT_QUOTES,$charset)."\" class=\"bouton\" onclick=\"document.getElementById('action').value ='beforeupload';document.beforeupload.submit();\" />";
1212        $formulaire.="<INPUT type=\"button\" value=\"".htmlentities($msg["admin_import_notice_prechargement"],ENT_QUOTES,$charset)."\" class=\"bouton\" onclick=\"document.getElementById('action').value ='preload'; document.beforeupload.submit();\"/>";
1213        */
1214        if ($sub <> "import_reb") $formulaire.=$selecteur_fic;
1215        if ($sub <> "import_reb") $formulaire.="<label class=\"etiquette\" for=\"".$name_func."\" id=\"text_desc_func_import\" name=\"text_desc_func_import\">".htmlentities($text_desc_func_import,ENT_QUOTES,$charset)."</label></br></br>\n";
1216                $formulaire.="<INPUT type=\"button\" value=\"".htmlentities($msg["admin_import_notice_telechargement"],ENT_QUOTES,$charset)."\" class=\"bouton\" onclick=\"document.getElementById('action').value ='beforeupload';document.beforeupload.submit();\" />";
1217        if ($sub <> "import_reb") $formulaire.="<INPUT type=\"button\" value=\"".htmlentities($msg["admin_import_notice_prechargement"],ENT_QUOTES,$charset)."\" class=\"bouton\" onclick=\"document.getElementById('action').value ='preload'; document.beforeupload.submit();\"/>";
1218
1219// ----------------------------- FIN LLIUREX 22/02/2018----------------------
1220
1221        $formulaire.="</form>\n";
1222       
1223        $formulaire.=$code_js;
1224       
1225        print $formulaire;
1226        break;
1227    }
1228
1229print "</div></body></html>";
1230
Note: See TracBrowser for help on using the repository browser.