source: pmb4.2/trunk/fuentes/pmb/admin/convert/imports/webepires2uni/webepires2xmluni.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: 3.8 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: webepires2xmluni.inc.php,v 1.8 2013-04-17 08:37:34 mbertin Exp $
6
7require_once("$class_path/marc_table.class.php");
8
9function make_index($descr,$tete) {
10        global $charset;
11        $data="";
12        if ($descr) {
13                $d=explode(",",$descr);
14                for ($i=0; $i<count($d); $i++) {
15                        if ($d[$i]) {
16                                $data.="  <f c='606' ind='  '>\n";
17                                $data.="    <s c='a'>".htmlspecialchars($tete,ENT_QUOTES,$charset)."</s>\n";
18                                $data.="    <s c='x'>".htmlspecialchars($d[$i],ENT_QUOTES,$charset)."</s>\n";
19                                $data.="  </f>\n";
20                        }
21                }
22        }
23        return $data;
24}
25
26function convert_webepires($notice, $s, $islast, $isfirst, $param_path) {
27        global $cols,$charset;
28        global $intitules;
29        global $base_path,$origine;
30        global $tab_functions;
31       
32        if (!$tab_functions) $tab_functions=new marc_list('function');
33       
34        if (!$cols) {
35                //On lit les intitulés dans le fichier temporaire
36                $fcols=fopen("$base_path/temp/".$origine."_cols.txt","r");
37                if ($fcols) {
38                        $cols=fread($fcols,filesize("$base_path/temp/".$origine."_cols.txt"));
39                        fclose($fcols);
40                        $cols=unserialize($cols);
41                }
42        }
43       
44        $fields=explode(";;",$notice);
45        for ($i=0; $i<count($fields); $i++) {
46                $ntable[$cols[$i]]=$fields[$i];
47        }
48        if ((!$ntable["NOM"])||(!$ntable["SITE"])) {
49                $data=""; 
50                $error="Titre vide<br />".$notice;
51        } else {
52                $error="";
53                $data="<notice>\n";
54               
55                //Entête
56                if ($s["LOCALBASE"][0]["value"]==DATA_BASE) $rs="c"; else $rs="n";
57                $data.="  <rs>".$rs."</rs>\n";
58                $dt="w";
59                $bl="s";
60                $data.="  <dt>".$dt."</dt>\n";
61                $data.="<bl>".$bl."</bl>\n";
62                $data.="<hl>*</hl>\n<el>1</el>\n<ru>i</ru>\n";
63                //Numéro d'enregistrement
64                //$data.="  <f c='001' ind='  '>".$ntable["REF"]."</f>\n";
65               
66                //Titre
67                $data.="  <f c='200' ind='  '>\n";
68                $data.="    <s c='a'>".htmlspecialchars($ntable["NOM"],ENT_QUOTES,$charset)."</s>\n";
69                $data.="  </f>\n";
70               
71                //Site web
72                $data.="  <f c='856'>\n";
73                $data.="    <s c='u'>".htmlspecialchars($ntable["SITE"],ENT_QUOTES,$charset)."</s>\n";
74                $data.="  </f>\n";
75       
76                //Adresse mail : note générale
77                if ($ntable["MEL"]) {
78                        $data.="  <f c='300'>\n";
79                        $data.="    <s c='a'>".htmlspecialchars($ntable["MEL"],ENT_QUOTES,$charset)."</s>\n";
80                        $data.="  </f>\n";     
81                }
82       
83                //LI : Note de contenu
84                if ($ntable["LI"]) {
85                        $data.="  <f c='327'>\n";
86                        $data.="    <s c='a'>".htmlspecialchars($ntable["LI"],ENT_QUOTES,$charset)."</s>\n";
87                        $data.="  </f>\n";
88                } 
89               
90                //COMMENT : Résumé
91                if ($ntable["COMMENT"]) {
92                        $data.="  <f c='330'>\n";
93                        $data.="    <s c='a'>".htmlspecialchars($ntable["COMMENT"],ENT_QUOTES,$charset)."</s>\n";
94                        $data.="  </f>\n";
95                } 
96               
97                //DOC : Indexation Web
98                 if ($ntable["DOC"]) {
99                        $data.=make_index($ntable["DOC"],"DOC");
100                } 
101               
102                //Indexations
103                if ($ntable["DE"]) {
104                        $data.=make_index($ntable["DE"],"DE");
105                }
106               
107                if ($ntable["DO"]) {
108                        $data.="  <f c='676'>\n";
109                        $data.="    <s c='a'>".htmlspecialchars($ntable["DO"],ENT_QUOTES,$charset)."</s>\n";
110                        $data.="  </f>\n";
111                }
112               
113                //Champs spéciaux
114                if (trim($ntable["OP"])) {
115                        $data.="  <f c='900'>\n";
116                        $data.="    <s c='a'>".htmlspecialchars($ntable["OP"],ENT_QUOTES,$charset)."</s>\n";
117                        $data.="  </f>\n";
118                }else{
119                        $data.="  <f c='900'>\n";
120                        $data.="    <s c='a'>".htmlspecialchars("PRISME",ENT_QUOTES,$charset)."</s>\n";
121                        $data.="  </f>\n";
122                }
123                $data.="  <f c='902'>\n";
124                $data.="    <s c='a'>".htmlspecialchars(date("Y")."-".date("m")."-".date("d"),ENT_QUOTES,$charset)."</s>\n";
125                $data.="  </f>\n";
126                $data.="</notice>\n";
127        }
128       
129        if (!$error) $r['VALID'] = true; else $r['VALID']=false;
130        $r['ERROR'] = $error;
131        $r['DATA'] = $data;
132        return $r;
133}
134?>
Note: See TracBrowser for help on using the repository browser.