source: pmb4.1/trunk/fuentes/pmb/admin/convert/imports/atalanteuni2pmbxml/atalante2xmluni.inc.php @ 478

Last change on this file since 478 was 478, checked in by mabarracus, 4 years ago

copy trusty code 4.1

  • Property svn:executable set to *
File size: 1.7 KB
RevLine 
[478]1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: atalante2xmluni.inc.php,v 1.4 2007-03-10 08:32:25 touraine37 Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9function convert_atalante($notice, $s, $islast, $isfirst, $param_path) {
10        global $typ_doc_atalante;
11        global $charset;
12       
13        if (!$typ_doc_atalante) {
14                $typ_doc_atalante=array("DOC"=>"a","VID"=>"g","PMU"=>"c","URL"=>"l","SON"=>"j");
15        }
16       
17        $fields=explode(chr(0x01).chr(0x0A),$notice);
18        $data="<notice>\n";
19       
20        $typ_doc=$typ_doc_atalante[substr($fields[0],0,3)];
21       
22        if ($typ_doc) {
23                $data.="  <dt>".$typ_doc."</dt>\n";
24        }
25       
26        for ($i=0; $i<count($fields)-1; $i++) {
27                $field=explode("@",$fields[$i]);
28                $cf=substr($field[2],0,3);
29                $csf=substr($field[2],3,1);
30                switch ($cf) {
31                        case '990':
32                                switch ($csf) {
33                                        case 'a':
34                                                $cf1='995';
35                                                $csf1='k';
36                                                break;
37                                        case 'b':
38                                                $cf1='995';
39                                                $csf1='4';
40                                                break;
41                                        case 'x':
42                                                $cf1='995';
43                                                $csf1='5';
44                                                break;
45                                        case 'z':
46                                                $cf1='995';
47                                                $csf1='6';
48                                                break; 
49                                }
50                                break;
51                        default:
52                                $cf1=$cf;
53                                $csf1=$csf;
54                                break;
55                }
56                $zs[$cf1][$csf1]=$field[3];
57        }
58        while (list($key,$val)=each($zs)) {
59                $data.="  <f c='".$key."' ind='  '>\n";
60                while (list($keys,$vals)=each($val)) {
61                        if ((substr($key,0,1)=="7") && ($keys=="4") && ($vals=="Auteur")) $vals = "070" ; 
62                        $data.="    <s c='".$keys."'>".htmlspecialchars($vals,ENT_QUOTES,$charset)."</s>\n";
63                }
64                $data.="  </f>\n";
65        }
66        $data.="</notice>\n";
67        $r['VALID'] = true;
68        $r['ERROR'] = "";
69        $r['DATA'] = $data;
70        return $r;
71}
72?>
Note: See TracBrowser for help on using the repository browser.