source: pmb4.2/trunk/fuentes/pmb/classes/marc_table.class.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: 5.9 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2005 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: marc_table.class.php,v 1.23 2015-03-05 16:26:33 arenou Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");
8
9// classe de gestion des tables MARC en XML
10
11if ( ! defined( 'MARC_TABLE_CLASS' ) ) {
12  define( 'MARC_TABLE_CLASS', 1 );
13
14// pas bon, à remonter dans les fichiers appelants
15require_once("$class_path/XMLlist.class.php");
16
17class marc_list {
18
19// propriétés
20        var $table;
21        var $tablefav;
22        var $parser;
23
24// méthodes
25
26        // constructeur
27        function marc_list($type) {
28                global $lang;
29                global $charset;
30                global $include_path;
31                switch($type) {
32                        case 'country':
33                                $parser = new XMLlist("$include_path/marc_tables/$lang/country.xml");
34                                $parser->analyser();
35                                $this->table = $parser->table;
36                                break;
37                        case 'icondoc':
38                                $parser = new XMLlist("$include_path/marc_tables/icondoc.xml");
39                                $parser->analyser();
40                                $this->table = $parser->table;
41                                break;
42                        case 'icondoc_big':
43                                $parser = new XMLlist("$include_path/marc_tables/icondoc_big.xml");
44                                $parser->analyser();
45                                $this->table = $parser->table;
46                                break;
47                        case 'lang':
48                                $parser = new XMLlist("$include_path/marc_tables/$lang/lang.xml");
49                                $parser->analyser();
50                                $this->table = $parser->table;
51                                $this->tablefav = $parser->tablefav;
52                                break;
53                        case 'doctype':
54                                $parser = new XMLlist("$include_path/marc_tables/$lang/doctype.xml", 0);
55                                $parser->analyser();
56                                $this->table = $parser->table;
57                                break;
58                        case 'recordtype':
59                                $parser = new XMLlist("$include_path/marc_tables/$lang/recordtype.xml");
60                                $parser->analyser();
61                                $this->table = $parser->table;
62                                break;
63                        case 'function':
64                                $parser = new XMLlist("$include_path/marc_tables/$lang/function.xml");
65                                $parser->analyser();
66                                $this->table = $parser->table;
67                                $this->tablefav = $parser->tablefav;
68                                break;
69                        case 'section_995':
70                                $parser = new XMLlist("$include_path/marc_tables/$lang/section_995.xml");
71                                $parser->analyser();
72                                $this->table = $parser->table;
73                                break;
74                        case 'typdoc_995':
75                                $parser = new XMLlist("$include_path/marc_tables/$lang/typdoc_995.xml");
76                                $parser->analyser();
77                                $this->table = $parser->table;
78                                break;                 
79                        case 'codstatdoc_995':
80                                $parser = new XMLlist("$include_path/marc_tables/$lang/codstat_995.xml");
81                                $parser->analyser();
82                                $this->table = $parser->table;
83                                break;                 
84                        case 'diacritique':
85                        // Armelle : a priori plus utile.
86                                $parser = new XMLlist("$include_path/marc_tables/diacritique.xml");
87                                $parser->analyser();
88                                $this->table = $parser->table;
89                                break;
90                        case 'nivbiblio':
91                                $parser = new XMLlist("$include_path/marc_tables/$lang/nivbiblio.xml");
92                                $parser->analyser();
93                                $this->table = $parser->table;
94                                break; 
95                        case 'relationtypeup':
96                                $parser = new XMLlist("$include_path/marc_tables/$lang/relationtypeup.xml");
97                                $parser->analyser();
98                                $this->table = $parser->table;
99                                break;         
100                        case 'relationtypedown':
101                                $parser = new XMLlist("$include_path/marc_tables/$lang/relationtypedown.xml");
102                                $parser->analyser();
103                                $this->table = $parser->table;
104                                break;
105                        case 'relationtype_aut':
106                                $parser = new XMLlist("$include_path/marc_tables/$lang/relationtype_aut.xml");
107                                $parser->analyser();
108                                $this->table = $parser->table;
109                                break;
110                        case 'relationtype_autup':
111                                $parser = new XMLlist("$include_path/marc_tables/$lang/relationtype_autup.xml");
112                                $parser->analyser();
113                                $this->table = $parser->table;
114                                break;
115                        case 'relationtypedown_unimarc':
116                                $parser = new XMLlist("$include_path/marc_tables/$lang/relationtypedown_unimarc.xml");
117                                $parser->analyser();
118                                $this->table = $parser->table;
119                                break;
120                        case 'relationtypeup_unimarc':
121                                $parser = new XMLlist("$include_path/marc_tables/$lang/relationtypeup_unimarc.xml");
122                                $parser->analyser();
123                                $this->table = $parser->table;
124                                break;
125                        case 'languages':
126                                $parser = new XMLlist("$include_path/messages/languages.xml");
127                                $parser->analyser();
128                                $this->table = $parser->table;
129                                break;
130                        case 'music_key':
131                                $parser = new XMLlist("$include_path/marc_tables/$lang/music_key.xml");
132                                $parser->analyser();
133                                $this->table = $parser->table;
134                                break; 
135                        case 'music_form':
136                                $parser = new XMLlist("$include_path/marc_tables/$lang/music_form.xml");
137                                $parser->analyser();
138                                $this->table = $parser->table;
139                                break;
140                        default:
141                                $this->table=array();
142                                break;
143                }
144        }
145
146}
147
148class marc_select {
149
150// propriétés
151
152        var $display;
153        var $libelle; // libellé du selected
154
155// méthodes
156
157        // constructeur
158
159
160        function marc_select($type, $name='mySelector', $selected='', $onchange='', $option_premier_code='', $option_premier_info='')
161        {
162                global $charset;
163               
164                $source = new marc_list($type);
165                $source_tab = $source->table;
166
167                if($option_premier_code!=='' && $option_premier_info!=='') {
168                        $option_premier_tab = array($option_premier_code=>$option_premier_info);
169                        $source_tab=$option_premier_tab + $source_tab;
170                }
171               
172                if ($onchange) $onchange=" onchange=\"$onchange\" ";
173                $this->display = "<select id='$name' name='$name' $onchange >";
174               
175                if($selected) {
176                        foreach($source_tab as $value=>$libelle) {
177                                if(!($value == $selected))
178                                        $tag = "<option value='$value'>";
179                                else{
180                                        $tag = "<option value='$value' selected='selected'>";
181                                        $this->libelle="$libelle";
182                                }
183                                $this->display .= $tag.htmlentities($libelle,ENT_QUOTES,$charset)."</option>";
184                               
185                        }
186
187                } else {
188
189                        // cirque à cause d'un bug d'IE
190                        reset($source_tab);
191                        $this->display .= "<option value='".key($source_tab)."' selected='selected'>";
192                        $this->display .= htmlentities(pos($source_tab),ENT_QUOTES,$charset).'</option>';
193
194                        while(next($source_tab)) {
195                                $this->display .= "<option value='".key($source_tab)."'>";
196                                $this->display .= htmlentities(pos($source_tab),ENT_QUOTES,$charset).'</option>';
197                        }
198
199                }
200                $this->display .= "</select>";
201
202        }
203}
204
205} # fin de déclaration
Note: See TracBrowser for help on using the repository browser.