source: pmb4.2/trunk/fuentes/pmb/admin/import/func_bcdi.inc.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 22.0 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: func_bcdi.inc.php,v 1.11 2015-04-03 11:16:23 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9// DEBUT paramétrage propre à la base de données d'importation :
10require_once($class_path."/serials.class.php");
11
12function recup_noticeunimarc_suite($notice) {
13        global $info_464,$analytique    ;
14        global $info_900,$info_901,$info_902,$info_903,$info_904,$info_905,$info_906,$info_606_a;
15       
16        $analytique=array();
17        $info_464="";
18        $info_900="";
19        $info_901="";
20        $info_902="";
21        $info_903="";
22        $info_904="";
23        $info_905="";
24        $info_906="";
25       
26        $record = new iso2709_record($notice, AUTO_UPDATE); 
27        for ($i=0;$i<count($record->inner_directory);$i++) {
28                $cle=$record->inner_directory[$i]['label'];
29                switch($cle) {
30                        case "464":
31                                //C'est un périodique donc un dépouillement ou une notice objet
32                                $info_464=$record->get_subfield($cle,"t","v","p","d","z","e");
33                                break;
34                        default:
35                                break;
36       
37                } /* end of switch */
38       
39        } /* end of for */
40       
41        $info_606_a=$record->get_subfield_array_array("606","a");
42        $info_900=$record->get_subfield_array_array("900","a");
43        $info_901=$record->get_subfield_array_array("901","a");
44        $info_902=$record->get_subfield_array_array("902","a");
45        $info_903=$record->get_subfield("903","a");
46        $info_904=$record->get_subfield("904","a");
47        $info_905=$record->get_subfield("905","a");
48        $info_906=$record->get_subfield_array_array("906","a");
49       
50} // fin recup_noticeunimarc_suite = fin récupération des variables propres à la bretagne
51       
52function import_new_notice_suite() {
53        global $dbh ;
54        global $notice_id ;
55       
56        global $info_464 ;
57        global $info_606_a;
58        global $info_900,$info_901,$info_902,$info_903,$info_904,$info_905,$info_906;
59       
60        global $pmb_keyword_sep;
61       
62        global $bulletin_ex;
63       
64        //Cas des périodiques
65        if (is_array($info_464)) {
66                $requete="select * from notices where notice_id=$notice_id";
67                $resultat=pmb_mysql_query($requete);
68                $r=pmb_mysql_fetch_object($resultat);
69                //Notice chapeau existe-t-elle ?
70                        $requete="select notice_id from notices where tit1='".addslashes($info_464[0]['t'])."' and niveau_hierar='1' and niveau_biblio='s'";
71                        $resultat=pmb_mysql_query($requete);
72                        if (@pmb_mysql_num_rows($resultat)) {
73                                //Si oui, récupération id
74                                $chapeau_id=pmb_mysql_result($resultat,0,0);   
75                                //Bulletin existe-t-il ?
76                                $requete="select bulletin_id from bulletins where bulletin_numero='".addslashes($info_464[0]['v'])."' and  mention_date='".addslashes($info_464[0]['d'])."' and bulletin_notice=$chapeau_id";   
77                                $resultat=pmb_mysql_query($requete);
78                                if (@pmb_mysql_num_rows($resultat)) {
79                                        //Si oui, récupération id bulletin
80                                        $bulletin_id=pmb_mysql_result($resultat,0,0);   
81                                } else {
82                                        //Si non, création bulltin
83                                        $info=array();
84                                        $bulletin=new bulletinage("",$chapeau_id);
85                                        $info['bul_titre']=addslashes("Bulletin N°".$info_464[0]['v']);
86                                        $info['bul_no']=addslashes($info_464[0]['v']);
87                                        $info['bul_date']=addslashes($info_464[0]['d']);
88                                        if (!$info_464[0]['e']) {
89                                                if ($info_904[0]) {
90                                                        $info['date_date']=$info_904[0];
91                                                }
92                                        } else {
93                                                $info['date_date']=$info_464[0]['e'];
94                                        }
95                                        $bulletin_id=$bulletin->update($info);
96                                }
97                        } else {
98                                //Si non, création notice chapeau et bulletin
99                                $chapeau=new serial();
100                                $info=array();
101                                $info['tit1']=addslashes($info_464[0]['t']);
102                                $info['niveau_biblio']='s';
103                                $info['niveau_hierar']='1';
104                                $info['typdoc']=$r->typdoc;
105                               
106                                $chapeau->update($info);
107                                $chapeau_id=$chapeau->serial_id;
108                               
109                                $bulletin=new bulletinage("",$chapeau_id);
110                                $info=array();
111                                $info['bul_titre']=addslashes("Bulletin N°".$info_464[0]['v']);
112                                $info['bul_no']=addslashes($info_464[0]['v']);
113                                $info['bul_date']=addslashes($info_464[0]['d']);
114                                if (!$info_464[0]['e']) {
115                                        if ($info_904[0]) {
116                                                $info['date_date']=$info_904[0];
117                                        }
118                                } else {
119                                        $info['date_date']=$info_464[0]['e'];
120                                }
121                                $bulletin_id=$bulletin->update($info);
122                        }
123                        //Notice objet ?
124                        if ($info_464[0]['z']=='objet') {
125                                //Supression de la notice
126                                $requete="delete from notices where notice_id=$notice_id";
127                                pmb_mysql_query($requete);
128                                $bulletin_ex=$bulletin_id;
129                        } else {
130                                //Passage de la notice en article
131                                $requete="update notices set niveau_biblio='a', niveau_hierar='2', year='".addslashes($info_464[0]['d'])."', npages='".addslashes($info_464[0]['p'])."', date_parution='".$info['date_date']."' where notice_id=$notice_id";
132                                pmb_mysql_query($requete);
133                                $requete="insert into analysis (analysis_bulletin,analysis_notice) values($bulletin_id,$notice_id)";
134                                pmb_mysql_query($requete);
135                                $bulletin_ex=$bulletin_id;
136                        }
137        } else $bulletin_ex=0;
138       
139        //Traitement du thésaurus
140        $unknown_desc=array();
141        $ordre_categ = 0;
142        for ($i=0; $i<count($info_606_a); $i++) {
143                for ($j=0; $j<count($info_606_a[$i]); $j++) {
144                        $descripteur=trim($info_606_a[$i][$j]);
145                        //Recherche du terme
146                        $requete="SELECT id_noeud,num_renvoi_voir from noeuds JOIN categories ON (noeuds.id_noeud = categories.num_noeud) where categories.libelle_categorie = '".addslashes($descripteur)."' ";
147                        $resultat=pmb_mysql_query($requete);
148                        if (pmb_mysql_num_rows($resultat) == 1) {
149                                $categ_id=pmb_mysql_result($resultat,0,0);
150                                if(pmb_mysql_result($resultat,0,1)){
151                                        $categ_id=pmb_mysql_result($resultat,0,1);
152                                }
153                                $requete="INSERT IGNORE INTO notices_categories (notcateg_notice,num_noeud,ordre_categorie) VALUES($notice_id,$categ_id,$ordre_categ)";
154                                pmb_mysql_query($requete);
155                                $ordre_categ++;
156                        } else {
157                                $unknown_desc[]=$descripteur;
158                        }
159                }
160        }
161       
162        if (count($unknown_desc)) {
163                $mots_cles=implode($pmb_keyword_sep,$unknown_desc);
164                $requete="UPDATE notices SET index_l=IF(index_l != '',CONCAT(index_l,'".$pmb_keyword_sep."','".addslashes($mots_cles)."'),'".addslashes($mots_cles)."'), index_matieres=IF(index_matieres != '',CONCAT(index_matieres,' ','".addslashes(strip_empty_words($mots_cles))."'),'".addslashes(strip_empty_words($mots_cles))."') WHERE notice_id='".$notice_id."'";
165                pmb_mysql_query($requete);
166        }
167               
168        //Thème
169        if (count($info_900)) {
170                $requete="SELECT name,type,datatype FROM notices_custom WHERE idchamp=1";
171                $res=pmb_mysql_query($requete);
172                if(pmb_mysql_num_rows($res) && (pmb_mysql_result($res,0,1) == "list") && (pmb_mysql_result($res,0,2) == "integer")){
173                        $requete="select max(notices_custom_list_value*1) from notices_custom_lists where notices_custom_champ=1";
174                        $resultat=pmb_mysql_query($requete);
175                        $max=@pmb_mysql_result($resultat,0,0);
176                        $n=$max+1;
177                        for ($i=0; $i<count($info_900); $i++) {
178                                for ($j=0; $j<count($info_900[$i]); $j++) {
179                                        $requete="select notices_custom_list_value from notices_custom_lists where notices_custom_list_lib='".addslashes($info_900[$i][$j])."' and notices_custom_champ=1";
180                                        $resultat=pmb_mysql_query($requete);
181                                        if (pmb_mysql_num_rows($resultat)) {
182                                                $value=pmb_mysql_result($resultat,0,0);
183                                        } else {
184                                                $requete="insert into notices_custom_lists (notices_custom_champ,notices_custom_list_value,notices_custom_list_lib) values(1,$n,'".addslashes($info_900[$i][$j])."')";
185                                                pmb_mysql_query($requete);
186                                                $value=$n;
187                                                $n++;
188                                        }
189                                        $requete="insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_integer) values(1,$notice_id,$value)";
190                                        pmb_mysql_query($requete);
191                                }
192                        }
193                }else{
194                        pmb_mysql_query("insert into error_log (error_origin, error_text) values ('import_expl_".addslashes(SESSid).".inc', 'Il n\'y a pas de CP de notice avec l\'identifiant=1 ou il n\'est pas de type liste entier : le 900 n\'est donc pas repris (Thème)') ") ;
195                }
196               
197        }
198       
199        //Genres
200        if (count($info_901)) {
201                $requete="SELECT name,type,datatype FROM notices_custom WHERE idchamp=2";
202                $res=pmb_mysql_query($requete);
203                if(pmb_mysql_num_rows($res) && (pmb_mysql_result($res,0,1) == "list") && (pmb_mysql_result($res,0,2) == "integer")){
204                        $requete="select max(notices_custom_list_value*1) from notices_custom_lists where notices_custom_champ=2";
205                        $resultat=pmb_mysql_query($requete);
206                        $max=@pmb_mysql_result($resultat,0,0);
207                        $n=$max+1;
208                        for ($i=0; $i<count($info_901); $i++) {
209                                for ($j=0; $j<count($info_901[$i]); $j++) {
210                                        $requete="select notices_custom_list_value from notices_custom_lists where notices_custom_list_lib='".addslashes($info_901[$i][$j])."' and notices_custom_champ=2";
211                                        $resultat=pmb_mysql_query($requete);
212                                        if (pmb_mysql_num_rows($resultat)) {
213                                                $value=pmb_mysql_result($resultat,0,0);
214                                        } else {
215                                                $requete="insert into notices_custom_lists (notices_custom_champ,notices_custom_list_value,notices_custom_list_lib) values(2,$n,'".addslashes($info_901[$i][$j])."')";
216                                                pmb_mysql_query($requete);
217                                                $value=$n;
218                                                $n++;
219                                        }
220                                        $requete="insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_integer) values(2,$notice_id,$value)";
221                                        pmb_mysql_query($requete);
222                                }
223                        }
224                }else{
225                        pmb_mysql_query("insert into error_log (error_origin, error_text) values ('import_expl_".addslashes(SESSid).".inc', 'Il n\'y a pas de CP de notice avec l\'identifiant=2 ou il n\'est pas de type liste entier : le 901 n\'est donc pas repris (Genres)') ") ;
226                }
227        }
228       
229        //Discipline
230        if (count($info_902)) {
231                $requete="SELECT name,type,datatype FROM notices_custom WHERE idchamp=3";
232                $res=pmb_mysql_query($requete);
233                if(pmb_mysql_num_rows($res) && (pmb_mysql_result($res,0,1) == "list") && (pmb_mysql_result($res,0,2) == "integer")){
234                        $requete="select max(notices_custom_list_value*1) from notices_custom_lists where notices_custom_champ=3";
235                        $resultat=pmb_mysql_query($requete);
236                        $max=@pmb_mysql_result($resultat,0,0);
237                        $n=$max+1;
238                        for ($i=0; $i<count($info_902); $i++) {
239                                for ($j=0; $j<count($info_902[$i]); $j++) {
240                                        $requete="select notices_custom_list_value from notices_custom_lists where notices_custom_list_lib='".addslashes($info_902[$i][$j])."' and notices_custom_champ=3";
241                                        $resultat=pmb_mysql_query($requete);
242                                        if (pmb_mysql_num_rows($resultat)) {
243                                                $value=pmb_mysql_result($resultat,0,0);
244                                        } else {
245                                                $requete="insert into notices_custom_lists (notices_custom_champ,notices_custom_list_value,notices_custom_list_lib) values(3,$n,'".addslashes($info_902[$i][$j])."')";
246                                                pmb_mysql_query($requete);
247                                                $value=$n;
248                                                $n++;
249                                        }
250                                        $requete="insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_integer) values(3,$notice_id,$value)";
251                                        pmb_mysql_query($requete);
252                                }
253                        }
254                }else{
255                        pmb_mysql_query("insert into error_log (error_origin, error_text) values ('import_expl_".addslashes(SESSid).".inc', 'Il n\'y a pas de CP de notice avec l\'identifiant=3 ou il n\'est pas de type liste entier : le 902 n\'est donc pas repris (Discipline)') ") ;
256                }
257        }
258       
259        //Type de nature
260        if ($info_905[0]) {
261                $requete="SELECT name,type,datatype FROM notices_custom WHERE idchamp=6";
262                $res=pmb_mysql_query($requete);
263                if(pmb_mysql_num_rows($res) && (pmb_mysql_result($res,0,1) == "list") && (pmb_mysql_result($res,0,2) == "integer")){
264                        $requete="select max(notices_custom_list_value*1) from notices_custom_lists where notices_custom_champ=6";
265                        $resultat=pmb_mysql_query($requete);
266                        $max=@pmb_mysql_result($resultat,0,0);
267                        $n=$max+1;
268                        $requete="select notices_custom_list_value from notices_custom_lists where notices_custom_list_lib='".addslashes($info_905[0])."' and notices_custom_champ=6";
269                        $resultat=pmb_mysql_query($requete);
270                        if (pmb_mysql_num_rows($resultat)) {
271                                $value=pmb_mysql_result($resultat,0,0);
272                        } else {
273                                $requete="insert into notices_custom_lists (notices_custom_champ,notices_custom_list_value,notices_custom_list_lib) values(6,$n,'".addslashes($info_905[0])."')";
274                                pmb_mysql_query($requete);
275                                $value=$n;
276                                $n++;
277                        }
278                        $requete="insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_integer) values(6,$notice_id,$value)";
279                        pmb_mysql_query($requete);
280                }else{
281                        pmb_mysql_query("insert into error_log (error_origin, error_text) values ('import_expl_".addslashes(SESSid).".inc', 'Il n\'y a pas de CP de notice avec l\'identifiant=6 ou il n\'est pas de type liste entier : le 905 n\'est donc pas repris (Type de nature)') ") ;
282                }
283               
284        }
285       
286        //Niveau
287        if (count($info_906)) {
288                $requete="SELECT name,type,datatype FROM notices_custom WHERE idchamp=7";
289                $res=pmb_mysql_query($requete);
290                if(pmb_mysql_num_rows($res) && (pmb_mysql_result($res,0,1) == "list") && (pmb_mysql_result($res,0,2) == "integer")){
291                        for ($i=0; $i<count($info_906); $i++) {
292                                for ($j=0; $j<count($info_906[$i]); $j++) {
293                                        $requete="select max(notices_custom_list_value*1) from notices_custom_lists where notices_custom_champ=7";
294                                        $resultat=pmb_mysql_query($requete);
295                                        $max=@pmb_mysql_result($resultat,0,0);
296                                        $n=$max+1;
297                                        $requete="select notices_custom_list_value from notices_custom_lists where notices_custom_list_lib='".addslashes($info_906[$i][$j])."' and notices_custom_champ=7";
298                                        $resultat=pmb_mysql_query($requete);
299                                        if (pmb_mysql_num_rows($resultat)) {
300                                                $value=pmb_mysql_result($resultat,0,0);
301                                        } else {
302                                                $requete="insert into notices_custom_lists (notices_custom_champ,notices_custom_list_value,notices_custom_list_lib) values(7,$n,'".addslashes($info_906[$i][$j])."')";
303                                                pmb_mysql_query($requete);
304                                                $value=$n;
305                                                $n++;
306                                        }
307                                        $requete="insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_integer) values(7,$notice_id,$value)";
308                                        pmb_mysql_query($requete);
309                                }
310                        }
311                }else{
312                        pmb_mysql_query("insert into error_log (error_origin, error_text) values ('import_expl_".addslashes(SESSid).".inc', 'Il n\'y a pas de CP de notice avec l\'identifiant=7 ou il n\'est pas de type liste entier : le 906 n\'est donc pas repris (Niveau)') ") ;
313                }
314        }
315       
316        //Année de péremption
317        if ($info_903[0]) {
318                $requete="SELECT name,type,datatype FROM notices_custom WHERE idchamp=4";
319                $res=pmb_mysql_query($requete);
320                if(pmb_mysql_num_rows($res) && (pmb_mysql_result($res,0,2) == "integer")){
321                        $requete="insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_integer) values(4,$notice_id,'".addslashes($info_903[0])."')";
322                        pmb_mysql_query($requete);
323                }else{
324                        pmb_mysql_query("insert into error_log (error_origin, error_text) values ('import_expl_".addslashes(SESSid).".inc', 'Il n\'y a pas de CP de notice avec l\'identifiant=4 ou il n\'est pas de type entier : le 903 n\'est donc pas repris (Année de péremption)') ") ;
325                }
326        }
327       
328        //Date de saisie
329        if ($info_904[0]) {
330                $requete="SELECT name,type,datatype FROM notices_custom WHERE idchamp=5";
331                $res=pmb_mysql_query($requete);
332                if(pmb_mysql_num_rows($res) && (pmb_mysql_result($res,0,2) == "date")){
333                        $requete="insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_date) values(5,$notice_id,'".$info_904[0]."')";
334                        pmb_mysql_query($requete);
335                }else{
336                        pmb_mysql_query("insert into error_log (error_origin, error_text) values ('import_expl_".addslashes(SESSid).".inc', 'Il n\'y a pas de CP de notice avec l\'identifiant=5 ou il n\'est pas de type date : le 904 n\'est donc pas repris (Date de saisie)') ") ;
337                }
338        }
339       
340} // fin import_new_notice_suite
341                       
342// TRAITEMENT DES EXEMPLAIRES ICI
343function traite_exemplaires () {
344        global $msg, $dbh ;
345       
346        global $prix, $notice_id, $info_995, $typdoc_995, $tdoc_codage, $book_lender_id, 
347                $section_995, $sdoc_codage, $book_statut_id, $locdoc_codage, $codstatdoc_995, $statisdoc_codage,
348                $cote_mandatory,$info_464 ;
349       
350        global $bulletin_ex;
351       
352        // lu en 010$d de la notice
353        $price = $prix[0];
354       
355        // la zone 995 est répétable
356        for ($nb_expl = 0; $nb_expl < sizeof($info_995); $nb_expl++) {
357                /* RAZ expl */
358                $expl = array();
359               
360                /* préparation du tableau à passer à la méthode */
361                $expl['cb']         = $info_995[$nb_expl]['f'];
362                if (($bulletin_ex)&&(is_array($info_464))) {
363                        $expl['bulletin']=$bulletin_ex;
364                        $expl['notice']=0;
365                } else {
366                        $expl['notice']     = $notice_id ;
367                        $expl['bulletin']=0;
368                }
369                // $expl['typdoc']     = $info_995[$nb_expl]['r']; à chercher dans docs_typdoc
370                $data_doc=array();
371                //$data_doc['tdoc_libelle'] = $info_995[$nb_expl]['r']." -Type doc importé (".$book_lender_id.")";
372                //$data_doc['tdoc_libelle'] = $typdoc_995[$info_995[$nb_expl]['r']];
373                //if (!$data_doc['tdoc_libelle']) $data_doc['tdoc_libelle'] = "\$r non conforme -".$info_995[$nb_expl]['r']."-" ;
374                $data_doc['duree_pret'] = 0 ; /* valeur par défaut */
375                $data_doc['tdoc_codage_import'] = $info_995[$nb_expl]['r'] ;
376                $data_doc['tdoc_libelle']=$info_995[$nb_expl]['r'] ;
377                if ($tdoc_codage) $data_doc['tdoc_owner'] = $book_lender_id ;
378                        else $data_doc['tdoc_owner'] = 0 ;
379                $expl['typdoc'] = docs_type::import($data_doc);
380               
381                $expl['cote'] = $info_995[$nb_expl]['k'];
382         
383        if (!trim($expl['cote'])) $expl['cote']="ARCHIVES";
384                       
385                // $expl['section']    = $info_995[$nb_expl]['q']; à chercher dans docs_section
386                $data_doc=array();
387                if (!$info_995[$nb_expl]['t']) 
388                        $info_995[$nb_expl]['t'] = "inconnu";
389                $data_doc['section_libelle'] = $info_995[$nb_expl]['t'] ;
390                $data_doc['sdoc_codage_import'] = $info_995[$nb_expl]['t'] ;
391                if ($sdoc_codage) $data_doc['sdoc_owner'] = $book_lender_id ;
392                        else $data_doc['sdoc_owner'] = 0 ;
393                $expl['section'] = docs_section::import($data_doc);
394               
395                /* $expl['statut']     à chercher dans docs_statut */
396                /* TOUT EST COMMENTE ICI, le statut est maintenant choisi lors de l'import
397                if ($info_995[$nb_expl]['o']=="") $info_995[$nb_expl]['o'] = "e";
398                $data_doc=array();
399                $data_doc['statut_libelle'] = $info_995[$nb_expl]['o']." -Statut importé (".$book_lender_id.")";
400                $data_doc['pret_flag'] = 1 ;
401                $data_doc['statusdoc_codage_import'] = $info_995[$nb_expl]['o'] ;
402                $data_doc['statusdoc_owner'] = $book_lender_id ;
403                $expl['statut'] = docs_statut::import($data_doc);
404                FIN TOUT COMMENTE */
405               
406                $expl['statut'] = $book_statut_id;
407               
408                // $expl['location']   = $info_995[$nb_expl]['']; à fixer par combo_box
409                // figé dans le code ici pour l'instant :
410                //$info_995[$nb_expl]['localisation']="Bib princip"; /* biblio principale */
411                $data_doc=array();
412                $data_doc['location_libelle'] = "inconnu";
413                if ($info_995[$nb_expl]['a']) {
414                        $data_doc['location_libelle'] = $info_995[$nb_expl]['a'];
415                        $data_doc['locdoc_codage_import'] = $info_995[$nb_expl]['a'];
416                } else {
417                        $data_doc['locdoc_codage_import']="cdi";
418                }
419                if ($locdoc_codage) $data_doc['locdoc_owner'] = $book_lender_id ;
420                        else $data_doc['locdoc_owner'] = 0 ;
421                $expl['location'] = docs_location::import($data_doc);
422               
423                // $expl['codestat']   = $info_995[$nb_expl]['q']; 'q' utilisé, éventuellement à fixer par combo_box
424                $data_doc=array();
425                //$data_doc['codestat_libelle'] = $info_995[$nb_expl]['q']." -Pub visé importé (".$book_lender_id.")";
426                if (!$info_995[$nb_expl]['q']) 
427                        $info_995[$nb_expl]['q'] = "inconnu";
428                $data_doc['codestat_libelle'] = $info_995[$nb_expl]['q'] ;
429                $data_doc['statisdoc_codage_import'] = $info_995[$nb_expl]['q'] ;
430                if ($statisdoc_codage) $data_doc['statisdoc_owner'] = $book_lender_id ;
431                        else $data_doc['statisdoc_owner'] = 0 ;
432                $expl['codestat'] = docs_codestat::import($data_doc);
433               
434               
435                // $expl['creation']   = $info_995[$nb_expl]['']; à préciser
436                // $expl['modif']      = $info_995[$nb_expl]['']; à préciser
437                       
438                $expl['note']       = $info_995[$nb_expl]['u'];
439                $expl['prix']       = $price;
440                $expl['expl_owner'] = $book_lender_id ;
441                $expl['cote_mandatory'] = $cote_mandatory ;
442               
443                $expl['date_depot'] = substr($info_995[$nb_expl]['m'],0,4)."-".substr($info_995[$nb_expl]['m'],4,2)."-".substr($info_995[$nb_expl]['m'],6,2) ;     
444                $expl['date_retour'] = substr($info_995[$nb_expl]['n'],0,4)."-".substr($info_995[$nb_expl]['n'],4,2)."-".substr($info_995[$nb_expl]['n'],6,2) ;
445               
446                $expl_id = exemplaire::import($expl);
447                if ($expl_id == 0) {
448                        $nb_expl_ignores++;
449                        }
450                       
451                //debug : affichage zone 995
452                /*
453                echo "995\$a =".$info_995[$nb_expl]['a']."<br />";
454                echo "995\$b =".$info_995[$nb_expl]['b']."<br />";
455                echo "995\$c =".$info_995[$nb_expl]['c']."<br />";
456                echo "995\$d =".$info_995[$nb_expl]['d']."<br />";
457                echo "995\$f =".$info_995[$nb_expl]['f']."<br />";
458                echo "995\$k =".$info_995[$nb_expl]['k']."<br />";
459                echo "995\$m =".$info_995[$nb_expl]['m']."<br />";
460                echo "995\$n =".$info_995[$nb_expl]['n']."<br />";
461                echo "995\$o =".$info_995[$nb_expl]['o']."<br />";
462                echo "995\$q =".$info_995[$nb_expl]['q']."<br />";
463                echo "995\$r =".$info_995[$nb_expl]['r']."<br />";
464                echo "995\$u =".$info_995[$nb_expl]['u']."<br /><br />";
465                */
466                } // fin for
467        } // fin traite_exemplaires     TRAITEMENT DES EXEMPLAIRES JUSQU'ICI
468
469// fonction spécifique d'export de la zone 995
470function export_traite_exemplaires ($ex=array()) {
471        global $msg, $dbh ;
472       
473        $subfields["a"] = $ex -> lender_libelle;
474        $subfields["c"] = $ex -> lender_libelle;
475        $subfields["f"] = $ex -> expl_cb;
476        $subfields["k"] = $ex -> expl_cote;
477        $subfields["u"] = $ex -> expl_note;
478
479        if ($ex->statusdoc_codage_import) $subfields["o"] = $ex -> statusdoc_codage_import;
480        if ($ex -> tdoc_codage_import) $subfields["r"] = $ex -> tdoc_codage_import;
481                else $subfields["r"] = "uu";
482        if ($ex -> sdoc_codage_import) $subfields["q"] = $ex -> sdoc_codage_import;
483                else $subfields["q"] = "u";
484       
485        global $export996 ;
486        $export996['f'] = $ex -> expl_cb ;
487        $export996['k'] = $ex -> expl_cote ;
488        $export996['u'] = $ex -> expl_note ;
489
490        $export996['m'] = substr($ex -> expl_date_depot, 0, 4).substr($ex -> expl_date_depot, 5, 2).substr($ex -> expl_date_depot, 8, 2) ;
491        $export996['n'] = substr($ex -> expl_date_retour, 0, 4).substr($ex -> expl_date_retour, 5, 2).substr($ex -> expl_date_retour, 8, 2) ;
492
493        $export996['a'] = $ex -> lender_libelle;
494        $export996['b'] = $ex -> expl_owner;
495
496        $export996['v'] = $ex -> location_libelle;
497        $export996['w'] = $ex -> ldoc_codage_import;
498
499        $export996['x'] = $ex -> section_libelle;
500        $export996['y'] = $ex -> sdoc_codage_import;
501
502        $export996['e'] = $ex -> tdoc_libelle;
503        $export996['r'] = $ex -> tdoc_codage_import;
504
505        $export996['1'] = $ex -> statut_libelle;
506        $export996['2'] = $ex -> statusdoc_codage_import;
507        $export996['3'] = $ex -> pret_flag;
508       
509        global $export_traitement_exemplaires ;
510        $export996['0'] = $export_traitement_exemplaires ;
511       
512        return  $subfields ;
513
514        }       
Note: See TracBrowser for help on using the repository browser.