source: pmb4.2/trunk/fuentes/pmb/admin/import/lib_func_customfields.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.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: lib_func_customfields.inc.php,v 1.1.2.1 2015-09-25 15:20:19 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9
10function func_customfields_recup_noticeunimarc_suite($notice) {
11        global $info_900;
12
13        $info_900=array();
14
15        $record = new iso2709_record($notice, AUTO_UPDATE); 
16       
17        $info_900=$record->get_subfield("900","a","l","n");
18       
19} // fin recup_noticeunimarc_suite
20       
21function func_customfields_import_new_notice_suite() {
22        global $dbh ;
23        global $notice_id ;
24       
25        global $info_900;
26       
27        for($i=0;$i<count($info_900);$i++){             
28               
29                $req = " select idchamp, type, datatype from notices_custom where name='".$info_900[$i]['n']."'";
30                $res = pmb_mysql_query($req,$dbh);
31                if(pmb_mysql_num_rows($res)){
32                        $perso = pmb_mysql_fetch_object($res);
33                        if($perso->idchamp){                                           
34                                if($perso->type == 'list'){
35                                        $requete="select notices_custom_list_value from notices_custom_lists where notices_custom_list_lib='".addslashes($info_900[$i]['a'])."' and notices_custom_champ=$perso->idchamp";
36                                        $resultat=pmb_mysql_query($requete);
37                                        if (pmb_mysql_num_rows($resultat)) {
38                                                $value=pmb_mysql_result($resultat,0,0);
39                                        } else {
40                                                $requete="select max(notices_custom_list_value*1) from notices_custom_lists where notices_custom_champ=$perso->idchamp";
41                                                $resultat=pmb_mysql_query($requete);
42                                                $max=@pmb_mysql_result($resultat,0,0);
43                                                $n=$max+1;
44                                                $requete="insert into notices_custom_lists (notices_custom_champ,notices_custom_list_value,notices_custom_list_lib) values($perso->idchamp,$n,'".addslashes($info_900[$i]['a'])."')";
45                                                pmb_mysql_query($requete);
46                                                $value=$n;
47                                        }
48                                        $req="SELECT 1 FROM notices_custom_values WHERE notices_custom_champ='".$perso->idchamp."' AND notices_custom_origine='".$notice_id."' AND notices_custom_".$perso->datatype."='".$value."'";
49                                        if(($res=pmb_mysql_query($req)) && !pmb_mysql_num_rows($res)){//Pour éviter d'importer deux fois la même chose (c'était le cas en z39.50 ou connecteur lorsque l'on importe les notices une à une
50                                                $requete="insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_".$perso->datatype.") values($perso->idchamp,$notice_id,'".$value."')";
51                                                pmb_mysql_query($requete);
52                                        }
53                                } else {
54                                        $req="SELECT 1 FROM notices_custom_values WHERE notices_custom_champ='".$perso->idchamp."' AND notices_custom_origine='".$notice_id."' AND notices_custom_".$perso->datatype."='".addslashes($info_900[$i]['a'])."'";
55                                        if(($res=pmb_mysql_query($req)) && !pmb_mysql_num_rows($res)){//Pour éviter d'importer deux fois la même chose (c'était le cas en z39.50 ou connecteur lorsque l'on importe les notices une à une
56                                                $requete="insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_".$perso->datatype.") values($perso->idchamp,$notice_id,'".addslashes($info_900[$i]['a'])."')";
57                                                pmb_mysql_query($requete);
58                                        }
59                                }
60                        }       
61                }
62        }       
63} 
Note: See TracBrowser for help on using the repository browser.