source: pmb5.0/trunk/fuentes/pmb/admin/import/func_bdp.inc.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: 11.1 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_bdp.inc.php,v 1.23 2015-04-03 11:16:23 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9function recup_noticeunimarc_suite($notice) {
10} // fin recup_noticeunimarc_suite = fin récupération des variables propres BDP : rien de plus
11       
12function import_new_notice_suite() {
13        global $dbh ;
14        global $notice_id ;
15       
16        global $index_sujets ;
17        global $pmb_keyword_sep ;
18       
19        global $info_600_a, $info_600_j, $info_600_x, $info_600_y, $info_600_z ;
20        global $info_601_a, $info_601_j, $info_601_x, $info_601_y, $info_601_z ;
21        global $info_602_a, $info_602_j, $info_602_x, $info_602_y, $info_602_z ;
22        global $info_605_a, $info_605_j, $info_605_x, $info_605_y, $info_605_z ;
23        global $info_606_a, $info_606_j, $info_606_x, $info_606_y, $info_606_z ;
24        global $info_607_a, $info_607_j, $info_607_x, $info_607_y, $info_607_z ;
25
26        if (is_array($index_sujets)) $mots_cles = implode (" $pmb_keyword_sep ",$index_sujets);
27                else $mots_cles = $index_sujets;
28       
29        for ($a=0; $a<sizeof($info_600_a); $a++) {
30                $mots_cles .= " $pmb_keyword_sep ".$info_600_a[$a][0] ;
31                for ($j=0; $j<sizeof($info_600_j[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_600_j[$a][$j] ;
32                for ($j=0; $j<sizeof($info_600_x[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_600_x[$a][$j] ;
33                for ($j=0; $j<sizeof($info_600_y[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_600_y[$a][$j] ;
34                for ($j=0; $j<sizeof($info_600_z[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_600_z[$a][$j] ;
35                }
36        for ($a=0; $a<sizeof($info_601_a); $a++) {
37                $mots_cles .= " $pmb_keyword_sep ".$info_601_a[$a][0] ;
38                for ($j=0; $j<sizeof($info_601_j[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_601_j[$a][$j] ;
39                for ($j=0; $j<sizeof($info_601_x[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_601_x[$a][$j] ;
40                for ($j=0; $j<sizeof($info_601_y[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_601_y[$a][$j] ;
41                for ($j=0; $j<sizeof($info_601_z[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_601_z[$a][$j] ;
42                }
43        for ($a=0; $a<sizeof($info_602_a); $a++) {
44                $mots_cles .= " $pmb_keyword_sep ".$info_602_a[$a][0] ;
45                for ($j=0; $j<sizeof($info_602_j[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_602_j[$a][$j] ;
46                for ($j=0; $j<sizeof($info_602_x[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_602_x[$a][$j] ;
47                for ($j=0; $j<sizeof($info_602_y[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_602_y[$a][$j] ;
48                for ($j=0; $j<sizeof($info_602_z[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_602_z[$a][$j] ;
49                }
50        for ($a=0; $a<sizeof($info_605_a); $a++) {
51                $mots_cles .= " $pmb_keyword_sep ".$info_605_a[$a][0] ;
52                for ($j=0; $j<sizeof($info_605_j[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_605_j[$a][$j] ;
53                for ($j=0; $j<sizeof($info_605_x[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_605_x[$a][$j] ;
54                for ($j=0; $j<sizeof($info_605_y[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_605_y[$a][$j] ;
55                for ($j=0; $j<sizeof($info_605_z[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_605_z[$a][$j] ;
56                }
57        for ($a=0; $a<sizeof($info_606_a); $a++) {
58                $mots_cles .= " $pmb_keyword_sep ".$info_606_a[$a][0] ;
59                for ($j=0; $j<sizeof($info_606_j[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_606_j[$a][$j] ;
60                for ($j=0; $j<sizeof($info_606_x[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_606_x[$a][$j] ;
61                for ($j=0; $j<sizeof($info_606_y[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_606_y[$a][$j] ;
62                for ($j=0; $j<sizeof($info_606_z[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_606_z[$a][$j] ;
63                }
64        for ($a=0; $a<sizeof($info_607_a); $a++) {
65                $mots_cles .= " $pmb_keyword_sep ".$info_607_a[$a][0] ;
66                for ($j=0; $j<sizeof($info_607_j[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_607_j[$a][$j] ;
67                for ($j=0; $j<sizeof($info_607_x[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_607_x[$a][$j] ;
68                for ($j=0; $j<sizeof($info_607_y[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_607_y[$a][$j] ;
69                for ($j=0; $j<sizeof($info_607_z[$a]); $j++) $mots_cles .= " $pmb_keyword_sep ".$info_607_z[$a][$j] ;
70                }
71        $mots_cles ? $index_matieres = strip_empty_words($mots_cles) : $index_matieres = '';
72        $rqt_maj = "update notices set index_l='".addslashes($mots_cles)."', index_matieres=' ".addslashes($index_matieres)." ' where notice_id='$notice_id' " ;
73        pmb_mysql_query($rqt_maj, $dbh);
74} // fin import_new_notice_suite
75                       
76// TRAITEMENT DES EXEMPLAIRES ICI
77function traite_exemplaires () {
78        global $nb_expl_ignores,$bulletin_ex ;
79        global $prix, $notice_id, $info_995, $typdoc_995, $tdoc_codage, $book_lender_id, 
80                $section_995, $sdoc_codage, $book_statut_id, $codstatdoc_995, $statisdoc_codage,
81                $cote_mandatory, $book_location_id ;
82               
83        // lu en 010$d de la notice
84        $price = $prix[0];
85       
86        // la zone 995 est répétable
87        for ($nb_expl = 0; $nb_expl < sizeof ($info_995); $nb_expl++) {
88                /* RAZ expl */
89                $expl = array();
90               
91                /* préparation du tableau à passer à la méthode */
92                $expl['cb']         = $info_995[$nb_expl]['f'];
93               
94                if ($bulletin_ex) {
95                        $expl['bulletin']=$bulletin_ex;
96                        $expl['notice']=0;
97                } else {
98                        $expl['notice']     = $notice_id ;
99                        $expl['bulletin']=0;
100                }
101               
102                // $expl['typdoc']     = $info_995[$nb_expl]['r']; à chercher dans docs_typdoc
103                $data_doc=array();
104                //$data_doc['tdoc_libelle'] = $info_995[$nb_expl]['r']." -Type doc importé (".$book_lender_id.")";
105                $data_doc['tdoc_libelle'] = $typdoc_995[$info_995[$nb_expl]['r']];
106                if (!$data_doc['tdoc_libelle']) $data_doc['tdoc_libelle'] = "\$r non conforme -".$info_995[$nb_expl]['r']."-" ;
107                $data_doc['duree_pret'] = 0 ; /* valeur par défaut */
108                $data_doc['tdoc_codage_import'] = $info_995[$nb_expl]['r'] ;
109                if ($tdoc_codage) $data_doc['tdoc_owner'] = $book_lender_id ;
110                        else $data_doc['tdoc_owner'] = 0 ;
111                $expl['typdoc'] = docs_type::import($data_doc);
112               
113                $expl['cote'] = $info_995[$nb_expl]['k'];
114                       
115                // $expl['section']    = $info_995[$nb_expl]['q']; à chercher dans docs_section
116                $data_doc=array();
117                $info_995[$nb_expl]['q']=trim($info_995[$nb_expl]['q']);
118
119// -------------- LLIUREX 22/02/2018 -----------------------------------------------
120// añadido || !$section_995[$info_995[$nb_expl]['q']] a la condicion de entrada         
121                if (!$info_995[$nb_expl]['q'] || !$section_995[$info_995[$nb_expl]['q']]) 
122                        $info_995[$nb_expl]['q'] = "u";
123// ------------- FIN LLIUREX 22/02/2018 -------------------------------------------             
124                $data_doc['section_libelle'] = $section_995[$info_995[$nb_expl]['q']];
125                $data_doc['sdoc_codage_import'] = $info_995[$nb_expl]['q'] ;
126                if ($sdoc_codage) $data_doc['sdoc_owner'] = $book_lender_id ;
127                        else $data_doc['sdoc_owner'] = 0 ;
128                $expl['section'] = docs_section::import($data_doc);
129               
130                /* $expl['statut']     à chercher dans docs_statut */
131                /* TOUT EST COMMENTE ICI, le statut est maintenant choisi lors de l'import
132                if ($info_995[$nb_expl]['o']=="") $info_995[$nb_expl]['o'] = "e";
133                $data_doc=array();
134                $data_doc['statut_libelle'] = $info_995[$nb_expl]['o']." -Statut importé (".$book_lender_id.")";
135                $data_doc['pret_flag'] = 1 ;
136                $data_doc['statusdoc_codage_import'] = $info_995[$nb_expl]['o'] ;
137                $data_doc['statusdoc_owner'] = $book_lender_id ;
138                $expl['statut'] = docs_statut::import($data_doc);
139                FIN TOUT COMMENTE */
140               
141                $expl['statut'] = $book_statut_id;
142               
143                $expl['location'] = $book_location_id;
144               
145                // $expl['codestat']   = $info_995[$nb_expl]['q']; 'q' utilisé, éventuellement à fixer par combo_box
146                $data_doc=array();
147                //$data_doc['codestat_libelle'] = $info_995[$nb_expl]['q']." -Pub visé importé (".$book_lender_id.")";
148                $data_doc['codestat_libelle'] = $codstatdoc_995[$info_995[$nb_expl]['q']];
149                $data_doc['statisdoc_codage_import'] = $info_995[$nb_expl]['q'] ;
150                if ($statisdoc_codage) $data_doc['statisdoc_owner'] = $book_lender_id ;
151                        else $data_doc['statisdoc_owner'] = 0 ;
152                $expl['codestat'] = docs_codestat::import($data_doc);
153               
154               
155                // $expl['creation']   = $info_995[$nb_expl]['']; à préciser
156                // $expl['modif']      = $info_995[$nb_expl]['']; à préciser
157                       
158                $expl['note']       = $info_995[$nb_expl]['u'];
159                $expl['prix']       = $price;
160                $expl['expl_owner'] = $book_lender_id ;
161                $expl['cote_mandatory'] = $cote_mandatory ;
162               
163                $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) ;     
164                $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) ;
165               
166                // quoi_faire
167                if ($info_995[$nb_expl]['0']) $expl['quoi_faire'] = $info_995[$nb_expl]['0']  ;
168                        else $expl['quoi_faire'] = 2 ;
169               
170                $expl_id = exemplaire::import($expl);
171                if ($expl_id == 0) {
172                        $nb_expl_ignores++;
173                }
174                       
175                //debug : affichage zone 995
176                /*
177                echo "995\$a =".$info_995[$nb_expl]['a']."<br />";
178                echo "995\$b =".$info_995[$nb_expl]['b']."<br />";
179                echo "995\$c =".$info_995[$nb_expl]['c']."<br />";
180                echo "995\$d =".$info_995[$nb_expl]['d']."<br />";
181                echo "995\$f =".$info_995[$nb_expl]['f']."<br />";
182                echo "995\$k =".$info_995[$nb_expl]['k']."<br />";
183                echo "995\$m =".$info_995[$nb_expl]['m']."<br />";
184                echo "995\$n =".$info_995[$nb_expl]['n']."<br />";
185                echo "995\$o =".$info_995[$nb_expl]['o']."<br />";
186                echo "995\$q =".$info_995[$nb_expl]['q']."<br />";
187                echo "995\$r =".$info_995[$nb_expl]['r']."<br />";
188                echo "995\$u =".$info_995[$nb_expl]['u']."<br /><br />";
189                */
190                } // fin for
191        } // fin traite_exemplaires     TRAITEMENT DES EXEMPLAIRES JUSQU'ICI
192
193// fonction spécifique d'export de la zone 995
194function export_traite_exemplaires ($ex=array()) {
195       
196        $subfields["a"] = $ex -> lender_libelle;
197        $subfields["c"] = $ex -> lender_libelle;
198        $subfields["f"] = $ex -> expl_cb;
199        $subfields["k"] = $ex -> expl_cote;
200        $subfields["u"] = $ex -> expl_note;
201
202        if ($ex->statusdoc_codage_import) $subfields["o"] = $ex -> statusdoc_codage_import;
203        if ($ex -> tdoc_codage_import) $subfields["r"] = $ex -> tdoc_codage_import;
204                else $subfields["r"] = "uu";
205        if ($ex -> sdoc_codage_import) $subfields["q"] = $ex -> sdoc_codage_import;
206                else $subfields["q"] = "u";
207       
208        global $export996 ;
209        $export996['f'] = $ex -> expl_cb ;
210        $export996['k'] = $ex -> expl_cote ;
211        $export996['u'] = $ex -> expl_note ;
212
213        $export996['m'] = substr($ex -> expl_date_depot, 0, 4).substr($ex -> expl_date_depot, 5, 2).substr($ex -> expl_date_depot, 8, 2) ;
214        $export996['n'] = substr($ex -> expl_date_retour, 0, 4).substr($ex -> expl_date_retour, 5, 2).substr($ex -> expl_date_retour, 8, 2) ;
215
216        $export996['a'] = $ex -> lender_libelle;
217        $export996['b'] = $ex -> expl_owner;
218
219        $export996['v'] = $ex -> location_libelle;
220        $export996['w'] = $ex -> ldoc_codage_import;
221
222        $export996['x'] = $ex -> section_libelle;
223        $export996['y'] = $ex -> sdoc_codage_import;
224
225        $export996['e'] = $ex -> tdoc_libelle;
226        $export996['r'] = $ex -> tdoc_codage_import;
227
228        $export996['1'] = $ex -> statut_libelle;
229        $export996['2'] = $ex -> statusdoc_codage_import;
230        $export996['3'] = $ex -> pret_flag;
231       
232        global $export_traitement_exemplaires ;
233        $export996['0'] = $export_traitement_exemplaires ;
234       
235        return  $subfields ;
236
237        }       
Note: See TracBrowser for help on using the repository browser.