source: pmb4.2/trunk/fuentes/pmb/admin/import/func_bdp19_tulle.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: 15.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_bdp19_tulle.inc.php,v 1.3 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 :
10$section_bdp19=array("BD adulte","Roman adulte","Roman policier adulte","Roman science fiction adulte",
11"Documentaire adulte","Livre+CD adulte","Livre+K7 adulte","Large vision","Fond régional","Revues",
12"Album jeunes","BD jeunes","Contes jeunes","Roman jeune","Roman enfant","Documentaire jeune","Livre+CD jeune",
13"Livre+K7 jeune","Diapositives","CD","Disque","K7","DVD","K7 Vidéo");
14
15$corresp_bdp19=array(
16        array("BD"),
17        array("R"),
18        array("RX"),
19        array("RS"),
20        array("79","91","1","2","3","4","5","6","7","8","9","B","0"),
21        array("CDL6"),
22        array("KL6"),
23        array("G"),
24        array("L"),
25        array("PER"),
26        array("EA"),
27        array("JBD"),
28        array("C"),
29        array("E"),
30        array("J"),
31        array("J1","J2","J3","J4","J5","J6","J7","J8","J9","J79","J91","JB","J0"),
32        array("CDL7"),
33        array("KL7"),
34        array("D"),
35        array("CD"),
36        array("M"),
37        array("K"),
38        array("DV"),
39        array("V","F","VJ","FJ")
40);
41
42$sec_search_bdp19=array(
43        "CDL6",
44        "CDL7",
45        "KL6",
46        "PER",
47        "JBD",
48        "KL7",
49        "J79",
50        "J91",
51        "BD",
52        "RX",
53        "RS",
54        "79",
55        "91",
56        "EA",
57        "J1",
58        "J2",
59        "J3",
60        "J4",
61        "J5",
62        "J6",
63        "J7",
64        "J8",
65        "J9",
66        "JB",
67        "J0",
68        "CD",
69        "DV",
70        "VJ",
71        "FJ",
72        "1",
73        "2",
74        "3",
75        "4",
76        "5",
77        "6",
78        "7",
79        "8",
80        "9",
81        "0",
82        "B",
83        "R",
84        "G",
85        "L",
86        "C",
87        "E",
88        "J",
89        "D",
90        "M",
91        "K",
92        "V",
93        "F");
94// 995 $r = type documents
95// aucun : sont insérés en base de données avec les bons codages 995$r :
96/*
97insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("Imprimés",15,15,"az");
98insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("Disque vinyle",15,15,"jz");
99insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("K7 audio",15,15,"jd");
100insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("K7 lue",15,15,"ld");
101insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("Livre K7",15,15,"md");
102insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("CD audio",15,15,"je");
103insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("CD-lu",15,15,"ie");
104insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("Livre CD",15,15,"me");
105insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("DVD audio",15,15,"jf");
106insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("K7 vidéo",15,15,"gd");
107insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("DVD-vidéo",15,15,"gf");
108insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("Affiches estampes",15,15,"ka");
109insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("Cartes postales",15,15,"kb");
110insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("Diapositives - Icônes",15,15,"kc");
111insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("CD-Rom",15,15,"le");
112insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("DVD-rom",15,15,"lf");
113insert into docs_type (tdoc_libelle, duree_pret, duree_resa, tdoc_codage_import) values ("Exposition",15,15,"mz");
114*/
115// FIN paramétrage
116
117function recup_noticeunimarc_suite($notice) {
118        global $aut_700,$aut_701,$aut_702,$aut_710,$aut_711,$aut_712;
119       
120        if($aut_700[0]["f"]){
121                $aut_700[0]["f"]="";
122        }
123        if($aut_710[0]["f"]){
124                $aut_710[0]["f"]="";
125        }
126        for($i=0;$i<count($aut_701);$i++){
127                if($aut_700[$i]["f"]){
128                        $aut_700[$i]["f"]="";
129                }
130        }
131        for($i=0;$i<count($aut_702);$i++){
132                if($aut_702[$i]["f"]){
133                        $aut_702[$i]["f"]="";
134                }
135        }
136        for($i=0;$i<count($aut_711);$i++){
137                if($aut_711[$i]["f"]){
138                        $aut_711[$i]["f"]="";
139                }
140        }
141        for($i=0;$i<count($aut_712);$i++){
142                if($aut_712[$i]["f"]){
143                        $aut_712[$i]["f"]="";
144                }
145        }
146        } // fin recup_noticeunimarc_suite = fin récupération des variables propres à la BDP02
147       
148function import_new_notice_suite() {
149        global $dbh ;
150        global $notice_id ;
151       
152        global $index_sujets ;
153        global $pmb_keyword_sep ;
154       
155        global $info_600_a, $info_600_j, $info_600_x, $info_600_y, $info_600_z ;
156        global $info_601_a, $info_601_j, $info_601_x, $info_601_y, $info_601_z ;
157        global $info_602_a, $info_602_j, $info_602_x, $info_602_y, $info_602_z ;
158        global $info_605_a, $info_605_j, $info_605_x, $info_605_y, $info_605_z ;
159        global $info_606_a, $info_606_j, $info_606_x, $info_606_y, $info_606_z ;
160        global $info_607_a, $info_607_j, $info_607_x, $info_607_y, $info_607_z ;
161
162        if (is_array($index_sujets)) $mots_cles = implode (" $pmb_keyword_sep ",$index_sujets);
163                else $mots_cles = $index_sujets;
164       
165        for ($a=0; $a<sizeof($info_600_a); $a++) {
166                $mots_cles .= " $pmb_keyword_sep ".$info_600_a[$a][0] ;
167                for ($j=0; $j<sizeof($info_600_j[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_600_j[$a][$j] ;
168                for ($j=0; $j<sizeof($info_600_x[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_600_x[$a][$j] ;
169                for ($j=0; $j<sizeof($info_600_y[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_600_y[$a][$j] ;
170                for ($j=0; $j<sizeof($info_600_z[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_600_z[$a][$j] ;
171                }
172        for ($a=0; $a<sizeof($info_601_a); $a++) {
173                $mots_cles .= " $pmb_keyword_sep ".$info_601_a[$a][0] ;
174                for ($j=0; $j<sizeof($info_601_j[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_601_j[$a][$j] ;
175                for ($j=0; $j<sizeof($info_601_x[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_601_x[$a][$j] ;
176                for ($j=0; $j<sizeof($info_601_y[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_601_y[$a][$j] ;
177                for ($j=0; $j<sizeof($info_601_z[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_601_z[$a][$j] ;
178                }
179        for ($a=0; $a<sizeof($info_602_a); $a++) {
180                $mots_cles .= " $pmb_keyword_sep ".$info_602_a[$a][0] ;
181                for ($j=0; $j<sizeof($info_602_j[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_602_j[$a][$j] ;
182                for ($j=0; $j<sizeof($info_602_x[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_602_x[$a][$j] ;
183                for ($j=0; $j<sizeof($info_602_y[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_602_y[$a][$j] ;
184                for ($j=0; $j<sizeof($info_602_z[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_602_z[$a][$j] ;
185                }
186        for ($a=0; $a<sizeof($info_605_a); $a++) {
187                $mots_cles .= " $pmb_keyword_sep ".$info_605_a[$a][0] ;
188                for ($j=0; $j<sizeof($info_605_j[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_605_j[$a][$j] ;
189                for ($j=0; $j<sizeof($info_605_x[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_605_x[$a][$j] ;
190                for ($j=0; $j<sizeof($info_605_y[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_605_y[$a][$j] ;
191                for ($j=0; $j<sizeof($info_605_z[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_605_z[$a][$j] ;
192                }
193        for ($a=0; $a<sizeof($info_606_a); $a++) {
194                $mots_cles .= " $pmb_keyword_sep ".$info_606_a[$a][0] ;
195                for ($j=0; $j<sizeof($info_606_j[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_606_j[$a][$j] ;
196                for ($j=0; $j<sizeof($info_606_x[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_606_x[$a][$j] ;
197                for ($j=0; $j<sizeof($info_606_y[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_606_y[$a][$j] ;
198                for ($j=0; $j<sizeof($info_606_z[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_606_z[$a][$j] ;
199                }
200        for ($a=0; $a<sizeof($info_607_a); $a++) {
201                $mots_cles .= " $pmb_keyword_sep ".$info_607_a[$a][0] ;
202                for ($j=0; $j<sizeof($info_607_j[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_607_j[$a][$j] ;
203                for ($j=0; $j<sizeof($info_607_x[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_607_x[$a][$j] ;
204                for ($j=0; $j<sizeof($info_607_y[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_607_y[$a][$j] ;
205                for ($j=0; $j<sizeof($info_607_z[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_607_z[$a][$j] ;
206                }
207        $mots_cles ? $index_matieres = strip_empty_words($mots_cles) : $index_matieres = '';
208        $rqt_maj = "update notices set index_l='".addslashes($mots_cles)."', index_matieres=' ".addslashes($index_matieres)." ' where notice_id='$notice_id' " ;
209        $res_ajout = pmb_mysql_query($rqt_maj, $dbh);
210
211        } // fin import_new_notice_suite
212                       
213// TRAITEMENT DES EXEMPLAIRES ICI
214function traite_exemplaires () {
215        global $msg, $dbh ;
216        global $nb_expl_ignores ;
217        global $prix, $notice_id, $info_995, $typdoc_995, $tdoc_codage, $book_lender_id, 
218                $section_bdp19, $sec_search_bdp19,$corresp_bdp19,$sdoc_codage, $book_statut_id, $locdoc_codage, $codstatdoc_995, $statisdoc_codage,
219                $cote_mandatory, $book_location_id ;
220               
221        // lu en 010$d de la notice
222        $price = $prix[0];
223       
224        // la zone 995 est répétable
225        for ($nb_expl = 0; $nb_expl < sizeof ($info_995); $nb_expl++) {
226                /* RAZ expl */
227                $expl = array();
228               
229                /* préparation du tableau à passer à la méthode */
230                $expl['cb']         = $info_995[$nb_expl]['f'];
231                $expl['notice']     = $notice_id ;
232               
233                // $expl['typdoc']     = $info_995[$nb_expl]['r']; chargé en base lors de l'installation, voir plus haut
234                $data_doc=array();
235                $data_doc['tdoc_libelle'] = "Libellé créé ".$info_995[$nb_expl]['r'];
236                $data_doc['duree_pret'] = 15 ; /* valeur par défaut */
237                $data_doc['tdoc_codage_import'] = $info_995[$nb_expl]['r'] ;
238                if ($tdoc_codage) $data_doc['tdoc_owner'] = $book_lender_id ;
239                        else $data_doc['tdoc_owner'] = 0 ;
240                $expl['typdoc'] = docs_type::import($data_doc);
241               
242                $expl['cote'] = $info_995[$nb_expl]['k'];
243               
244                // traitement des sections en fonction de la cote
245                // cote[1] ?? G L ou U
246                // -Non
247                //              trouver le début de la cote dans le tableau
248                //              créer la section si besoin
249                // -Oui
250                //              tronquer de cette première lettre
251                //              trouver le nouveau début dans le tableau
252                //              remettre la première lettre
253                //              créer la section si besoin
254                $car = (string)$info_995[$nb_expl]['k'][0];
255                switch ($car) {
256                        case 'U':
257                                $prefix="" ;
258                                $suffixe_libelle="" ;
259                                $info_995[$nb_expl]['k']=substr((string)$info_995[$nb_expl]['k'],1);
260                                break;
261                        default:
262                                $prefix="" ;
263                                $suffixe_libelle="" ;
264                                break;
265                        }
266                reset($sec_search_bdp19) ;
267                $flag = 0 ;
268                while (list($cle_tab,$val_tab)=each($sec_search_bdp19)) {
269                        $p=strpos((string)$info_995[$nb_expl]['k'],(string)$val_tab) ;
270                        if (($p!==false) && ($p==0)) {
271                                $flag=1;
272                                break;
273                                }
274                        }
275                if ($flag==1) {
276                        //Recherche de la section
277                        for ($i=0; $i<count($corresp_bdp19); $i++) {
278                                $as=array_search($val_tab,$corresp_bdp19[$i]);
279                                if (($as!==null)&&($as!==false)) {
280                                        $codage_section_lu=$i+1;
281                                        $libelle_section_lu=$section_bdp19[$i];
282                                }
283                        }
284                } else {
285                                $codage_section_lu = "INCONNU" ;
286                                $libelle_section_lu = "Section inconnue" ;
287                                }
288               
289               
290                // $expl['section']    = $info_995['8']; à chercher dans docs_section
291                $data_doc=array();
292                $data_doc['section_libelle'] = $libelle_section_lu;
293                $data_doc['sdoc_codage_import'] = $codage_section_lu ;
294                if ($sdoc_codage) $data_doc['sdoc_owner'] = $book_lender_id ;
295                        else $data_doc['sdoc_owner'] = 0 ;
296                $expl['section'] = docs_section::import($data_doc);
297               
298                // le statut est choisi lors de l'import
299               
300                $expl['statut'] = $book_statut_id;
301               
302                $expl['location'] = $book_location_id;
303               
304                // $expl['codestat']   = $info_995[$nb_expl]['q']; 'q' utilisé, éventuellement à fixer par combo_box
305                $data_doc=array();
306                //$data_doc['codestat_libelle'] = $info_995[$nb_expl]['q']." -Pub visé importé (".$book_lender_id.")";
307                $data_doc['codestat_libelle'] = $codstatdoc_995[$info_995[$nb_expl]['q']];
308                $data_doc['statisdoc_codage_import'] = $info_995[$nb_expl]['q'] ;
309                if ($statisdoc_codage) $data_doc['statisdoc_owner'] = $book_lender_id ;
310                        else $data_doc['statisdoc_owner'] = 0 ;
311                $expl['codestat'] = docs_codestat::import($data_doc);
312               
313                // $expl['creation']   = $info_995[$nb_expl]['']; à préciser
314                // $expl['modif']      = $info_995[$nb_expl]['']; à préciser
315                       
316                $expl['note']       = $info_995[$nb_expl]['u'];
317                $expl['prix']       = $price;
318                $expl['expl_owner'] = $book_lender_id ;
319                $expl['cote_mandatory'] = $cote_mandatory ;
320               
321                $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) ;     
322                $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) ;
323               
324                $expl_id = exemplaire::import($expl);
325                if ($expl_id == 0) {
326                        $nb_expl_ignores++;
327                        }
328                       
329                //debug : affichage zone 995
330                /*
331                echo "995\$a =".$info_995[$nb_expl]['a']."<br />";
332                echo "995\$b =".$info_995[$nb_expl]['b']."<br />";
333                echo "995\$c =".$info_995[$nb_expl]['c']."<br />";
334                echo "995\$d =".$info_995[$nb_expl]['d']."<br />";
335                echo "995\$f =".$info_995[$nb_expl]['f']."<br />";
336                echo "995\$k =".$info_995[$nb_expl]['k']."<br />";
337                echo " section $codage_section_lu <br />";
338                echo "995\$m =".$info_995[$nb_expl]['m']."<br />";
339                echo "995\$n =".$info_995[$nb_expl]['n']."<br />";
340                echo "995\$o =".$info_995[$nb_expl]['o']."<br />";
341                echo "995\$q =".$info_995[$nb_expl]['q']."<br />";
342                echo "995\$r =".$info_995[$nb_expl]['r']."<br />";
343                echo "995\$u =".$info_995[$nb_expl]['u']."<br /><br />";
344                */
345                } // fin for
346        } // fin traite_exemplaires     TRAITEMENT DES EXEMPLAIRES JUSQU'ICI
347
348// fonction spécifique d'export de la zone 995
349function export_traite_exemplaires ($ex=array()) {
350        global $msg, $dbh, $opac_biblio_name ;
351       
352        $subfields["a"] = $opac_biblio_name;
353        //$subfields["a"] = $ex -> lender_libelle;
354        //$subfields["c"] = $ex -> lender_libelle;
355        $subfields["f"] = $ex -> expl_cb;
356        $subfields["k"] = $ex -> expl_cote;
357
358        if ($ex->statusdoc_codage_import) $subfields["o"] = $ex -> statusdoc_codage_import;
359        if ($ex -> statisdoc_codage_import) $subfields["q"] = $ex -> statisdoc_codage_import;
360                else $subfields["q"] = "u";
361        if ($ex -> tdoc_codage_import) $subfields["r"] = $ex -> tdoc_codage_import;
362                else $subfields["r"] = "uu";
363        $subfields["u"] = $ex -> expl_note;
364       
365        global $export996 ;
366        $export996['f'] = $ex -> expl_cb ;
367        $export996['k'] = $ex -> expl_cote ;
368        $export996['u'] = $ex -> expl_note ;
369
370        $export996['m'] = substr($ex -> expl_date_depot, 0, 4).substr($ex -> expl_date_depot, 5, 2).substr($ex -> expl_date_depot, 8, 2) ;
371        $export996['n'] = substr($ex -> expl_date_retour, 0, 4).substr($ex -> expl_date_retour, 5, 2).substr($ex -> expl_date_retour, 8, 2) ;
372
373        $export996['a'] = $ex -> lender_libelle;
374        $export996['b'] = $ex -> expl_owner;
375
376        $export996['v'] = $ex -> location_libelle;
377        $export996['w'] = $ex -> ldoc_codage_import;
378
379        $export996['x'] = $ex -> section_libelle;
380        $export996['y'] = $ex -> sdoc_codage_import;
381
382        $export996['e'] = $ex -> tdoc_libelle;
383        $export996['r'] = $ex -> tdoc_codage_import;
384
385        $export996['1'] = $ex -> statut_libelle;
386        $export996['2'] = $ex -> statusdoc_codage_import;
387        $export996['3'] = $ex -> pret_flag;
388       
389        global $export_traitement_exemplaires ;
390        $export996['0'] = $export_traitement_exemplaires ;
391       
392        return  $subfields ;
393
394        }       
Note: See TracBrowser for help on using the repository browser.