예제 #1
0
function recup_noticeunimarc_suite($notice)
{
    global $info_606_a, $info_900;
    $info_900 = array();
    $record = new iso2709_record($notice, AUTO_UPDATE);
    $info_606_a = $record->get_subfield_array_array("606", "a");
    $info_900 = $record->get_subfield("900", "a", "l", "n");
}
예제 #2
0
function recup_noticeunimarc_suite($notice)
{
    global $info_464, $index_sujets, $info_610;
    global $info_900, $info_901, $info_902, $info_903, $info_904, $info_905, $info_906, $info_606_a;
    $info_464 = "";
    $info_900 = "";
    $info_901 = "";
    $info_902 = "";
    $info_903 = "";
    $info_904 = "";
    $info_905 = "";
    $info_906 = "";
    $info_610 = $index_sujets;
    $index_sujets = array();
    $record = new iso2709_record($notice, AUTO_UPDATE);
    for ($i = 0; $i < count($record->inner_directory); $i++) {
        $cle = $record->inner_directory[$i]['label'];
        switch ($cle) {
            case "464":
                //C'est un périodique donc un dépouillement ou une notice objet
                $info_464 = $record->get_subfield($cle, "t", "v", "p", "d", "z", "e");
                break;
            default:
                break;
        }
        /* end of switch */
    }
    /* end of for */
    $info_606_a = $record->get_subfield_array_array("606", "a");
    $info_900 = $record->get_subfield_array_array("900", "a");
    $info_901 = $record->get_subfield_array_array("901", "a");
    $info_902 = $record->get_subfield_array_array("902", "a");
    $info_903 = $record->get_subfield("903", "a");
    $info_904 = $record->get_subfield("904", "a");
    $info_905 = $record->get_subfield("905", "a");
    $info_906 = $record->get_subfield_array_array("906", "a");
}
예제 #3
0
function recup_noticeunimarc_suite($notice)
{
    global $info_464, $info_200, $info_676;
    global $info_900, $info_901, $info_902, $info_903, $info_904, $info_910;
    global $rs, $bl, $dt;
    $info_464 = "";
    $info_900 = "";
    $info_901 = "";
    $info_902 = "";
    $info_903 = "";
    $info_904 = "";
    $info_910 = "";
    $info_200 = "";
    $info_676 = "";
    $record = new iso2709_record($notice, AUTO_UPDATE);
    $rs = $record->inner_guide["rs"];
    $bl = $record->inner_guide["bl"];
    $dt = $record->inner_guide["dt"];
    for ($i = 0; $i < count($record->inner_directory); $i++) {
        $cle = $record->inner_directory[$i]['label'];
        switch ($cle) {
            case "464":
                //C'est un périodique donc un dépouillement ou une notice objet
                $info_464 = $record->get_subfield($cle, "t", "v", "p", "d", "z", "e", "u");
                break;
            case "200":
                $info_200 = $record->get_subfield($cle, "a");
            default:
                break;
        }
        /* end of switch */
    }
    /* end of for */
    $info_900 = $record->get_subfield("900", "a");
    $info_901 = $record->get_subfield("901", "a");
    $info_902 = $record->get_subfield("902", "a");
    $info_903 = $record->get_subfield("903", "a");
    $info_910 = $record->get_subfield("910", "a");
    $info_904 = $record->get_subfield_array_array("904", "a");
    $info_676 = $record->get_subfield("676", "a");
}
예제 #4
0
function recup_noticeunimarc_suite($notice)
{
    global $info_461, $info_463;
    global $info_900, $info_901, $info_902, $info_903, $info_904, $info_905, $info_906;
    global $info_907, $info_908, $info_909, $info_910;
    global $info_606_a;
    global $bl, $hl;
    $info_461 = "";
    $info_463 = "";
    $info_900 = "";
    $info_901 = "";
    $info_902 = "";
    $info_903 = "";
    $info_904 = "";
    $info_905 = "";
    $info_906 = "";
    $info_907 = "";
    $info_908 = "";
    $info_909 = "";
    $info_910 = "";
    $record = new iso2709_record($notice, AUTO_UPDATE);
    $bl = $record->inner_guide['bl'];
    $hl = $record->inner_guide['hl'];
    $info_461 = $record->get_subfield("461", "t", "v");
    $info_463 = $record->get_subfield("463", "t", "v");
    $info_606_a = $record->get_subfield_array_array("606", "a");
    $info_900 = $record->get_subfield_array_array("900", "a");
    $info_901 = $record->get_subfield_array_array("901", "a");
    $info_902 = $record->get_subfield_array_array("902", "a");
    $info_903 = $record->get_subfield_array_array("903", "a");
    $info_904 = $record->get_subfield("904", "a");
    $info_905 = $record->get_subfield_array_array("905", "a");
    $info_906 = $record->get_subfield_array_array("906", "a");
    $info_907 = $record->get_subfield_array_array("907", "a");
    $info_908 = $record->get_subfield("908", "a");
    $info_909 = $record->get_subfield("909", "a");
    $info_910 = $record->get_subfield("910", "a");
}
예제 #5
0
function recup_noticeunimarc_suite($notice)
{
    global $info_461, $info_463, $info_464;
    global $info_606_a;
    global $info_900, $info_901, $info_902, $info_903, $info_904, $info_905, $info_906;
    $info_461 = "";
    $info_463 = "";
    $info_464 = "";
    //Compatibilite import memonotices
    $info_900 = "";
    $info_901 = "";
    $info_902 = "";
    $info_903 = "";
    $info_904 = "";
    $info_905 = "";
    $info_906 = "";
    $record = new iso2709_record($notice, AUTO_UPDATE);
    for ($i = 0; $i < count($record->inner_directory); $i++) {
        $cle = $record->inner_directory[$i]['label'];
        switch ($cle) {
            case "461":
                //Lien vers perio
                $info_461 = $record->get_subfield($cle, "t", "v", "e", "9");
                break;
            case "463":
                //Lien vers bulletin
                $info_463 = $record->get_subfield($cle, "t", "v", "e", "9");
                break;
            case "464":
                //Compatibilite import memonotices
                $info_464 = $record->get_subfield($cle, "t", "v", "d", "p", "z", "e");
                break;
            default:
                break;
        }
        /* end of switch */
    }
    /* end of for */
    $info_606_a = $record->get_subfield_array_array("606", "a");
    $info_900 = $record->get_subfield_array_array("900", "a");
    $info_901 = $record->get_subfield_array_array("901", "a");
    $info_902 = $record->get_subfield_array_array("902", "a");
    $info_903 = $record->get_subfield("903", "a");
    $info_904 = $record->get_subfield("904", "a");
    $info_905 = $record->get_subfield_array_array("905", "a");
    $info_906 = $record->get_subfield_array_array("906", "a");
}
function recup_noticeunimarc_suite($notice)
{
    global $info_001, $info_464, $info_464_a, $info_464_e, $info_464_f, $info_461_3, $info_461_t, $info_200_a, $info_200_e, $info_210_d, $info_902_a, $info_686_a, $info_462_3, $info_462_t;
    global $aut_700, $aut_701, $aut_702, $aut_710, $aut_711, $aut_712;
    global $accomp_345_c;
    global $info_675_a;
    global $info_600_b, $info_601_b, $info_602_b, $info_605_b, $info_606_b, $info_607_b, $info_610_b;
    global $info_610_a, $info_610_b, $info_610_e, $info_610_j, $info_610_x, $info_610_y, $info_610_z, $info_610_3, $info_610;
    global $info_345_d, $info_071_a, $info_071_b;
    global $info_901;
    $record = new iso2709_record($notice, AUTO_UPDATE);
    $info_001 = $record->get_subfield("001");
    $info_464 = $record->get_subfield_array_array("464");
    $info_464_a = $record->get_subfield_array("464", "a");
    $info_464_e = $record->get_subfield_array("464", "e");
    $info_464_f = $record->get_subfield_array("464", "f");
    $info_461_3 = $record->get_subfield("461", "3");
    $info_461_t = $record->get_subfield("461", "t");
    $info_200_a = $record->get_subfield("200", "a");
    $info_200_e = $record->get_subfield_array("200", "e");
    $info_210_d = $record->get_subfield("210", "d");
    $info_902_a = $record->get_subfield_array_array("902", "a");
    $info_686_a = $record->get_subfield("686", "a");
    $info_462_3 = $record->get_subfield("462", "3");
    $info_462_t = $record->get_subfield("462", "t");
    $info_600_b = $record->get_subfield_array_array("600", "b");
    $info_601_b = $record->get_subfield_array_array("601", "b");
    $info_602_b = $record->get_subfield_array_array("602", "b");
    $info_605_b = $record->get_subfield_array_array("605", "b");
    $info_606_b = $record->get_subfield_array_array("606", "b");
    $info_607_b = $record->get_subfield_array_array("607", "b");
    $info_610_b = $record->get_subfield_array_array("610", "b");
    $info_610_a = $record->get_subfield_array_array("610", "a");
    $info_610_b = $record->get_subfield_array_array("610", "b");
    $info_610_e = $record->get_subfield_array_array("610", "e");
    $info_610_j = $record->get_subfield_array_array("610", "j");
    $info_610_x = $record->get_subfield_array_array("610", "x");
    $info_610_y = $record->get_subfield_array_array("610", "y");
    $info_610_z = $record->get_subfield_array_array("610", "z");
    $info_610_3 = $record->get_subfield_array_array("610", "3");
    $info_610 = $record->get_subfield_array_array("610");
    //$info_610=$record->get_subfield_array_array("610","a","b","3","e");
    $aut_700 = $record->get_subfield("700", "a", "b", "3", "p", "4");
    $aut_701 = $record->get_subfield("701", "a", "b", "3", "p", "4");
    $aut_702 = $record->get_subfield("702", "a", "b", "3", "p", "4");
    $aut_710 = $record->get_subfield("710", "a", "b", "3", "p", "4");
    $aut_711 = $record->get_subfield("711", "a", "b", "3", "p", "4");
    $aut_712 = $record->get_subfield("712", "a", "b", "3", "p", "4");
    $accomp_345_c = $record->get_subfield("345", "c");
    //CDU : classification décimale universelle
    $info_675_a = $record->get_subfield("675", "a");
    // Prix pour disque et video
    $info_345_d = $record->get_subfield("345", "d");
    // Code commercial
    $info_071_a = $record->get_subfield("071", "a");
    // Producteur -> editeur
    $info_071_b = $record->get_subfield("071", "b");
    // Centre d'intérêt
    //$info_901_a=$record->get_subfield_array_array("901","a");
    $info_901 = $record->get_subfield("901", "a", "3");
}
예제 #7
0
function recup_noticeunimarc_suite($notice)
{
    global $info_999, $info_001, $doc_type, $info_901, $info_905, $info_906, $info_994_x, $info_994_y;
    global $info_503, $info_503_j, $info_503_d, $info_305;
    global $info_600_f, $info_600_b, $info_600_3;
    global $info_601_3;
    global $info_606_3;
    global $info_607_3;
    global $info_608_a, $info_608_j, $info_608_x, $info_608_y, $info_608_z, $info_608_3, $serie_200, $tit_200a;
    global $aut_700, $aut_701, $aut_702;
    $info_901 = array();
    $info_905 = array();
    $info_906 = array();
    $info_999 = array();
    $info_305 = array();
    $info_503 = array();
    $info_503_j = array();
    $info_503_d = array();
    $info_001 = array();
    $info_200 = array();
    $info_994_x = array();
    $info_994_y = array();
    $record = new iso2709_record($notice, AUTO_UPDATE);
    $info_001 = $record->get_subfield("001");
    $info_200 = $record->get_subfield("200", "b");
    if (preg_match("#article#i", $info_200[0])) {
        $doc_type = "x";
    }
    $info_901 = $record->get_subfield("901", "a");
    $info_901 = $record->get_subfield("905", "a");
    $info_901 = $record->get_subfield("906", "a");
    $info_999 = $record->get_subfield("999", "a");
    $info_503 = $record->get_subfield("503", "a", "e", "f", "h", "m", "n");
    $info_503_j = $record->get_subfield_array_array("503", "j");
    $info_503_d = $record->get_subfield_array_array("503", "d");
    $info_305 = array();
    $info_305 = $record->get_subfield("305", "a");
    $info_600_3 = array();
    $info_600_3 = $record->get_subfield_array_array("600", "3");
    $info_600_b = array();
    $info_600_b = $record->get_subfield_array_array("600", "b");
    $info_600_f = array();
    $info_600_f = $record->get_subfield_array_array("600", "f");
    $info_601_3 = array();
    $info_601_3 = $record->get_subfield_array_array("601", "3");
    $info_606_3 = array();
    $info_606_3 = $record->get_subfield_array_array("606", "3");
    $info_607_3 = array();
    $info_607_3 = $record->get_subfield_array_array("607", "3");
    $info_608_3 = array();
    $info_608_3 = $record->get_subfield_array_array("608", "3");
    $info_608_a = array();
    $info_608_a = $record->get_subfield_array_array("608", "a");
    $info_608_j = array();
    $info_608_j = $record->get_subfield_array_array("608", "j");
    $info_608_x = array();
    $info_608_x = $record->get_subfield_array_array("608", "x");
    $info_608_y = array();
    $info_608_y = $record->get_subfield_array_array("608", "y");
    $info_608_z = array();
    $info_608_z = $record->get_subfield_array_array("608", "z");
    $aut_700 = array();
    $aut_700 = $record->get_subfield("700", "a", "b", "c", "d", "4", "N");
    $aut_701 = array();
    $aut_701 = $record->get_subfield("701", "a", "b", "c", "d", "4", "N");
    $aut_702 = array();
    $aut_702 = $record->get_subfield("702", "a", "b", "c", "d", "4", "N");
    $info_994_x = $record->get_subfield("994", "x");
    $info_994_y = $record->get_subfield("994", "y");
    if (count($serie_200)) {
        $titre = implode(" ; ", $tit_200a);
        if (trim($serie_200[0]['i'])) {
            $titre .= ". " . trim($serie_200[0]['i']);
        }
        if (trim($serie_200[0]['h'])) {
            $titre .= ", " . trim($serie_200[0]['h']);
        }
        $tit_200a = array();
        $serie_200 = array();
        $tit_200a[] = $titre;
    }
}
예제 #8
0
 function getEnrichment($notice_id, $source_id, $type = "", $enrich_params = array())
 {
     global $charset;
     $enrichment = array();
     $this->noticeToEnrich = $notice_id;
     // récupération du code sudoc (PPN) de la notice stocké dans le champ perso de type "resolve" avec pour label "SUDOC"
     $mes_pp = new parametres_perso("notices");
     $mes_pp->get_values($notice_id);
     $values = $mes_pp->values;
     foreach ($values as $field_id => $vals) {
         if ($mes_pp->t_fields[$field_id]['TYPE'] == "resolve") {
             $field_options = _parser_text_no_function_("<?xml version='1.0' encoding='" . $charset . "'?>\n" . $mes_pp->t_fields[$field_id]['OPTIONS'], "OPTIONS");
             foreach ($field_options['RESOLVE'] as $resolve) {
                 if (strtoupper($resolve['LABEL']) == "SUDOC") {
                     $infos = explode('|', $vals[0]);
                     $ppn = $infos[0];
                 }
             }
         }
     }
     if ($ppn == "") {
         return $this->build_error();
     }
     $url = "carmin.sudoc.abes.fr";
     $port = "210";
     $base = "abes-z39-public";
     $format = "unimarc";
     $term = "@attr 1=12 @attr 2=3 \"{$ppn}\" ";
     $id = yaz_connect("{$url}:{$port}/{$base}", array("piggyback" => false));
     yaz_range($id, 1, 1);
     yaz_syntax($id, strtolower($format));
     yaz_search($id, "rpn", $term);
     $options = array("timeout" => 45);
     //Override le timeout du serveur mysql, pour être sûr que le socket dure assez longtemps pour aller jusqu'aux ajouts des résultats dans la base.
     $sql = "set wait_timeout = 120";
     mysql_query($sql);
     yaz_wait($options);
     $error = yaz_error($id);
     $error_info = yaz_addinfo($id);
     if (!empty($error)) {
         yaz_close($id);
         return $this->build_error();
     } else {
         $hits = yaz_hits($id);
         $hits += 0;
         if ($hits) {
             $rec = yaz_record($id, 1, "raw");
             $record = new iso2709_record($rec);
             if (!$record->valid()) {
                 yaz_close($id);
                 return $this->build_error();
             }
             $lines = "";
             $document->document_type = $record->inner_guide[dt];
             $document->bibliographic_level = $record->inner_guide[bl];
             $document->hierarchic_level = $record->inner_guide[hl];
             if ($document->hierarchic_level == "") {
                 if ($document->bibliographic_level == "s") {
                     $document->hierarchic_level = "1";
                 }
                 if ($document->bibliographic_level == "m") {
                     $document->hierarchic_level = "0";
                 }
             }
             $indicateur = array();
             $cle_list = array();
             for ($i = 0; $i < count($record->inner_directory); $i++) {
                 $cle = $record->inner_directory[$i]['label'];
                 $indicateur[$cle][] = substr($record->inner_data[$i]['content'], 0, 2);
                 $field_array = $record->get_subfield_array_array($cle);
                 $line = "";
                 if (!$cle_list[$cle]) {
                     foreach ($field_array as $field) {
                         $line .= $cle . "  ";
                         foreach ($field as $ss_field) {
                             $line .= "\$" . $ss_field["label"] . $ss_field["content"];
                         }
                         $line .= "<br>";
                     }
                 }
                 $cle_list[$cle] = 1;
                 $lines .= $line;
             }
             if ($lines == "") {
                 yaz_close($id);
                 return $this->build_error();
             }
         } else {
             yaz_close($id);
             return $this->build_error();
         }
     }
     yaz_close($id);
     $enrichment['sudoc']['content'] = $lines;
     $enrichment['source_label'] = $this->msg['sudoc_enrichment_source'];
     return $enrichment;
 }
예제 #9
0
function recup_noticeunimarc($notice)
{
    global $id_unimarc;
    global $doc_type;
    global $hierarchic_level;
    global $bibliographic_level;
    global $bibliographic_level_origine;
    global $hierarchic_level_origine;
    global $isbn;
    global $issn_011;
    global $prix;
    global $prix_cd;
    global $cb;
    global $lang_code;
    global $org_lang_code;
    global $tit_200a;
    global $tit_200c;
    global $tit_200d;
    global $tit_200e;
    global $tit_200v;
    global $serie_200;
    global $editeur_lieu;
    global $editeur_adr;
    global $editeur_nom;
    global $editeur_date;
    global $editeur_pays;
    global $editeur_pmbfields;
    global $no_edition;
    global $npages;
    global $ill;
    global $size;
    global $accomp;
    global $collection_225;
    global $n_contenu;
    global $n_resume;
    global $n_gen;
    global $EAN;
    global $collection_410;
    global $collection_411;
    global $serie;
    global $index_sujets;
    global $dewey;
    global $dewey_l;
    global $tu_500;
    global $tu_500_r;
    global $tu_500_s;
    global $tu_500_j;
    global $aut_700;
    global $aut_701;
    global $aut_702;
    global $aut_710;
    global $aut_711;
    global $aut_712;
    global $origine_notice;
    global $lien, $eformat;
    global $info_995;
    global $info_996;
    global $info_852;
    global $analytique;
    global $info_600_a, $info_600_j, $info_600_x, $info_600_y, $info_600_z;
    global $info_601_a, $info_601_j, $info_601_x, $info_601_y, $info_601_z;
    global $info_602_a, $info_602_j, $info_602_x, $info_602_y, $info_602_z;
    global $info_605_a, $info_605_j, $info_605_x, $info_605_y, $info_605_z;
    global $info_606_a, $info_606_j, $info_606_x, $info_606_y, $info_606_z;
    global $info_607_a, $info_607_j, $info_607_x, $info_607_y, $info_607_z;
    global $info_686;
    global $indicateur;
    global $link_generate;
    $id_import = array();
    $id_unimarc = 0;
    $indicateur = array();
    $doc_type = "";
    $hierarchic_level = '0';
    $bibliographic_level = 'm';
    $isbn = array();
    $issn_011 = array();
    $prix = array();
    $prix_cd = array();
    $cb = "";
    $lang_code = array();
    $org_lang_code = array();
    $tit_200a = array();
    $tit_200c = array();
    $tit_200d = array();
    $tit_200e = array();
    $tit_200v = array();
    $serie_200 = array();
    $editeur_lieu = array();
    $editeur_adr = array();
    $editeur_nom = array();
    $editeur_date = array();
    $editeur_pays = array();
    $editeur_pmbfields = array();
    $npages = array();
    $no_edition = array();
    $ill = array();
    $size = array();
    $accomp = array();
    $collection_225 = array();
    $collection_410 = array();
    $collection_411 = array();
    $n_contenu = array();
    $n_resume = array();
    $n_gen = array();
    $EAN = array();
    $serie = array();
    $index_sujets = array();
    $dewey = array();
    $dewey_l = array();
    $tu_500 = array();
    $tu_500_r = array();
    $tu_500_s = array();
    $tu_500_j = array();
    $aut_700 = array();
    $aut_701 = array();
    $aut_702 = array();
    $aut_710 = array();
    $aut_711 = array();
    $aut_712 = array();
    $origine_notice = array();
    $lien = array();
    $eformat = array();
    $info_995 = array();
    $info_852 = array();
    $analytique = array();
    $info_600_a = array();
    $info_600_j = array();
    $info_600_x = array();
    $info_600_y = array();
    $info_600_z = array();
    $info_601_a = array();
    $info_601_j = array();
    $info_601_x = array();
    $info_601_y = array();
    $info_601_z = array();
    $info_602_a = array();
    $info_602_j = array();
    $info_602_x = array();
    $info_602_y = array();
    $info_602_z = array();
    $info_605_a = array();
    $info_605_j = array();
    $info_605_x = array();
    $info_605_y = array();
    $info_605_z = array();
    $info_606_a = array();
    $info_606_j = array();
    $info_606_x = array();
    $info_606_y = array();
    $info_606_z = array();
    $info_607_a = array();
    $info_607_j = array();
    $info_607_x = array();
    $info_607_y = array();
    $info_607_z = array();
    $info_686 = array();
    $info_996 = array();
    $record = new iso2709_record($notice, AUTO_UPDATE);
    if (!$record->valid("import_notice")) {
        // On ne traite pas les notices invalides
        /*echo "<pre>";
        		print_r($record->inner_data);
        		echo "</pre>";
        		die();*/
        $num_notice = $record->get_subfield("001");
        $titr = $record->get_subfield_array("200", 'a');
        $requete = "insert into error_log(error_origin,error_text) values('import_func_" . addslashes(SESSid) . ".inc.php','" . addslashes("La notice (numéro : " . $num_notice[0] . ", titre : " . $titr[0] . ") n'a pas été reprise. <BR/><span style='color:#FF0000'>Erreur(s):" . implode("<BR/>", $record->errors) . "</span>") . "')";
        mysql_query($requete);
        return false;
    }
    $doc_type = $record->inner_guide['dt'];
    $bibliographic_level_origine = $record->inner_guide['bl'];
    $hierarchic_level_origine = $record->inner_guide['hl'];
    // traitements particuliers, solution d'urgence pour les pério et autres.
    if ($link_generate) {
        //Si on choisit d'importer les liens on reprend le niveau
        switch ($bibliographic_level_origine) {
            case 'a':
                $hierarchic_level = '2';
                $bibliographic_level = 'a';
                break;
            case 's':
                if ($hierarchic_level_origine <= '1') {
                    $hierarchic_level = '1';
                    $bibliographic_level = 's';
                } else {
                    $hierarchic_level = '2';
                    $bibliographic_level = 'b';
                }
                break;
            case 'm':
            case 'c':
            default:
                // suite à pb d'export Orphée : si inconnu, non conforme, on force à 0 et m
                $hierarchic_level = '0';
                $bibliographic_level = 'm';
                break;
        }
    } else {
        //Sinon on reprend tous en temps que monographie
        $hierarchic_level = '0';
        $bibliographic_level = 'm';
    }
    for ($i = 0; $i < count($record->inner_directory); $i++) {
        $cle = $record->inner_directory[$i]['label'];
        //$length=$record->inner_directory[$i]['length'];
        //$adress=$record->inner_directory[$i]['adress'];
        $flag_cle = 0;
        if (!array_key_exists($cle, $indicateur)) {
            $flag_cle = 1;
        }
        // memo indicateur de champ
        $indicateur[$cle][] = substr($record->inner_data[$i]['content'], 0, 2);
        if ($flag_cle) {
            switch ($cle) {
                case "001":
                    $id_import = $record->get_subfield($cle);
                    $id_unimarc = $id_import[0];
                    break;
                case "010":
                    /* isbn */
                    $isbn = $record->get_subfield($cle, 'a');
                    $prix = $record->get_subfield($cle, 'd');
                    break;
                case "011":
                    /* issn_011 */
                    $issn_011 = $record->get_subfield($cle, 'a');
                    break;
                case "071":
                    /* barcode */
                    $cb = $record->get_subfield($cle, "a");
                    break;
                case "101":
                    /* language */
                    $lang_code = $record->get_subfield_array($cle, "a");
                    $org_lang_code = $record->get_subfield_array($cle, "c");
                    break;
                case "200":
                    /* titles */
                    $tit_200a = $record->get_subfield_array($cle, 'a');
                    $tit_200c = $record->get_subfield_array($cle, 'c');
                    $tit_200d = $record->get_subfield_array($cle, 'd');
                    $tit_200e = $record->get_subfield_array($cle, 'e');
                    $tit_200v = $record->get_subfield_array($cle, 'v');
                    $serie_200 = $record->get_subfield($cle, "h", "i");
                    break;
                case "205":
                    /* no_edition */
                    $no_edition = $record->get_subfield_array($cle, "a");
                    break;
                case "210":
                    /* publisher */
                    // b: adr
                    $editeur_lieu = $record->get_subfield_array_array($cle, "a");
                    $editeur_adr = $record->get_subfield_array_array($cle, "b");
                    $editeur_nom = $record->get_subfield_array_array($cle, "c");
                    $editeur_date = $record->get_subfield_array($cle, "d");
                    $editeur_pays = $record->get_subfield_array_array($cle, "z");
                    $editeur_pmbfields = $record->get_subfield_array_array($cle, "9");
                    break;
                case "215":
                    /* description */
                    $npages = $record->get_subfield_array($cle, "a");
                    $ill = $record->get_subfield_array($cle, "c");
                    $size = $record->get_subfield_array($cle, "d");
                    $accomp = $record->get_subfield_array($cle, "e");
                    break;
                case "225":
                    /* collection */
                    $collection_225 = $record->get_subfield($cle, "a", "i", "v", "x");
                    break;
                case "300":
                    /* inside */
                    $n_gen = $record->get_subfield_array($cle, "a");
                    break;
                case "327":
                    /* inside */
                    $n_contenu = $record->get_subfield_array($cle, "a");
                    break;
                case "330":
                    /* abstract */
                    $n_resume = $record->get_subfield_array($cle, "a");
                    break;
                case "345":
                    /* EAN */
                    $EAN = $record->get_subfield($cle, "b");
                    $prix_cd = $record->get_subfield($cle, "d");
                    break;
                case "410":
                    /* collection */
                    $collection_410 = $record->get_subfield($cle, "v", "t", "x", "3");
                    break;
                case "411":
                    /* sub-collection */
                    $collection_411 = $record->get_subfield($cle, "v", "t", "x", "3");
                    break;
                case "461":
                    /* series */
                    $serie = $record->get_subfield($cle, "t", "v");
                    break;
                case "464":
                    /* analytique */
                    // $a pour le tout-venant le reste pour les périodiques bretons ! C'est un periodique donc un depouillement ou une notice objet
                    $analytique = $record->get_subfield_array_array($cle);
                    $info_464 = $record->get_subfield($cle, "t", "v", "p", "d", "z", "e");
                    break;
                case "500":
                    // titres uniformes
                    $tu_500 = $record->get_subfield($cle, "a", "i", "k", "l", "m", "n", "q", "u", "w", "3");
                    $tu_500_r = $record->get_subfield_array_array($cle, "r");
                    $tu_500_s = $record->get_subfield_array_array($cle, "s");
                    $tu_500_j = $record->get_subfield_array_array($cle, "j");
                    break;
                case "600":
                    // 600 PERSONAL NAME USED AS SUBJECT
                    $info_600_a = $record->get_subfield_array_array($cle, "a");
                    $info_600_j = $record->get_subfield_array_array($cle, "j");
                    $info_600_x = $record->get_subfield_array_array($cle, "x");
                    $info_600_y = $record->get_subfield_array_array($cle, "y");
                    $info_600_z = $record->get_subfield_array_array($cle, "z");
                    break;
                case "601":
                    // 601 CORPORATE BODY NAME USED AS SUBJECT
                    $info_601_a = $record->get_subfield_array_array($cle, "a");
                    $info_601_j = $record->get_subfield_array_array($cle, "j");
                    $info_601_x = $record->get_subfield_array_array($cle, "x");
                    $info_601_y = $record->get_subfield_array_array($cle, "y");
                    $info_601_z = $record->get_subfield_array_array($cle, "z");
                    break;
                case "602":
                    // 602 FAMILY NAME USED AS SUBJECT
                    $info_602_a = $record->get_subfield_array_array($cle, "a");
                    $info_602_j = $record->get_subfield_array_array($cle, "j");
                    $info_602_x = $record->get_subfield_array_array($cle, "x");
                    $info_602_y = $record->get_subfield_array_array($cle, "y");
                    $info_602_z = $record->get_subfield_array_array($cle, "z");
                    break;
                case "605":
                    // 605 TITLE USED AS SUBJECT
                    $info_605_a = $record->get_subfield_array_array($cle, "a");
                    $info_605_j = $record->get_subfield_array_array($cle, "j");
                    $info_605_x = $record->get_subfield_array_array($cle, "x");
                    $info_605_y = $record->get_subfield_array_array($cle, "y");
                    $info_605_z = $record->get_subfield_array_array($cle, "z");
                    break;
                case "606":
                    // RAMEAU / TOPICAL NAME USED AS SUBJECT
                    $info_606_a = $record->get_subfield_array_array($cle, "a");
                    $info_606_j = $record->get_subfield_array_array($cle, "j");
                    $info_606_x = $record->get_subfield_array_array($cle, "x");
                    $info_606_y = $record->get_subfield_array_array($cle, "y");
                    $info_606_z = $record->get_subfield_array_array($cle, "z");
                    break;
                case "607":
                    // 607 GEOGRAPHICAL NAME USED AS SUBJECT
                    $info_607_a = $record->get_subfield_array_array($cle, "a");
                    $info_607_j = $record->get_subfield_array_array($cle, "j");
                    $info_607_x = $record->get_subfield_array_array($cle, "x");
                    $info_607_y = $record->get_subfield_array_array($cle, "y");
                    $info_607_z = $record->get_subfield_array_array($cle, "z");
                    break;
                case "610":
                    /* mots clé */
                    $index_sujets = $record->get_subfield_array($cle, "a");
                    break;
                case "676":
                    /* Dewey */
                    $dewey = $record->get_subfield_array($cle, "a");
                    $dewey_l = $record->get_subfield_array($cle, "l");
                    $dewey_num = $record->get_subfield_array($cle, "l", "3");
                    break;
                case "686":
                    /* pcdm3 */
                    $info_686 = $record->get_subfield($cle, "a", "l", "3");
                    break;
                case "700":
                    $aut_700 = $record->get_subfield($cle, "a", "b", "c", "d", "4", "f", "N", "3");
                    break;
                case "701":
                    $aut_701 = $record->get_subfield($cle, "a", "b", "c", "d", "4", "f", "N", "3");
                    break;
                case "702":
                    $aut_702 = $record->get_subfield($cle, "a", "b", "c", "d", "4", "f", "N", "3");
                    break;
                case "710":
                    $aut_710 = $record->get_subfield($cle, "a", "b", "c", "g", "d", "4", "f", "e", "k", "l", "m", "n", "3");
                    break;
                case "711":
                    $aut_711 = $record->get_subfield($cle, "a", "b", "c", "g", "d", "4", "f", "e", "k", "l", "m", "n", "3");
                    break;
                case "712":
                    $aut_712 = $record->get_subfield($cle, "a", "b", "c", "g", "d", "4", "f", "e", "k", "l", "m", "n", "3");
                    break;
                case "801":
                    /* origine du catalogage */
                    $origine_notice = $record->get_subfield($cle, "a", "b");
                    break;
                case "852":
                    /* infos du SCD de Lyon 3 */
                    $info_852 = $record->get_subfield($cle, "b", "h", "p", "y");
                    break;
                case "856":
                    /* url */
                    $lien = $record->get_subfield($cle, "u");
                    $eformat = $record->get_subfield($cle, "q");
                    break;
                case "995":
                    /* infos de la BDP */
                    $info_995 = $record->get_subfield($cle, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "M", "N", "O", "P", "R", "S", "T", "U", "V", "W", "Z");
                    break;
                case "996":
                    /* infos supplémentaires... ? */
                    $info_996 = $record->get_subfield($cle, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "M", "N", "O", "P", "R", "S", "T", "U", "V", "W", "Z");
                    break;
                default:
                    break;
            }
            /* end of switch */
        }
    }
    /* end of for */
    //Récupération des catégories en lien avec le fichier xml
    category_auto::get_info_categ($record);
    return true;
}
예제 #10
0
function recup_noticeunimarc_suite($notice)
{
    global $info_100, $info_606_a, $info_606_9, $info_900, $info_999, $info_950, $info_951, $info_996_9;
    $info_100 = array();
    $info_606_a = array();
    $info_606_9 = array();
    $info_900 = array();
    $info_950 = array();
    $info_951 = array();
    $info_999 = array();
    $info_996_9 = array();
    $record = new iso2709_record($notice, AUTO_UPDATE);
    $info_100 = $record->get_subfield("100", "a");
    $info_606_a = $record->get_subfield_array_array("606", "a");
    $info_606_9 = $record->get_subfield_array_array("606", "9");
    $info_900 = $record->get_subfield("900", "a", "b", "c", "l", "n", "t");
    $info_950 = $record->get_subfield("950", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k");
    $info_951 = $record->get_subfield("951", "a", "b", "c", "l", "n", "f", "t");
    $info_996_9 = $record->get_subfield_array_array("996", "9");
    $info_999 = $record->get_subfield("999", "a", "b", "c", "l", "n", "f", "t");
}