Пример #1
0
 static function get_informations_from_unimarc($fields, $from_subcollection = false, $import_subcoll = false)
 {
     $data = array();
     if (!$from_subcollection) {
         $data['name'] = $fields['200'][0]['a'][0];
         if (count($fields['200'][0]['i'])) {
             foreach ($fields['200'][0]['i'] as $value) {
                 $data['name'] .= ". " . $value;
             }
         }
         if (count($fields['200'][0]['e'])) {
             foreach ($fields['200'][0]['e'] as $value) {
                 $data['name'] .= " : " . $value;
             }
         }
         $data['issn'] = $fields['011'][0]['a'][0];
         if ($fields['312']) {
             for ($i = 0; $i < count($fields['312']); $i++) {
                 for ($j = 0; $j < count($fields['312'][$i]['a']); $j++) {
                     if ($data['comment'] != "") {
                         $data['comment'] .= "\n";
                     }
                     $data['comment'] .= $fields['312'][$i]['a'][$j];
                 }
             }
         }
         $data['publisher'] = editeur::get_informations_from_unimarc($fields);
         if ($import_subcoll) {
             $data['subcollections'] = subcollection::get_informations_from_unimarc($fields, true);
         }
     } else {
         $data['name'] = $fields['410'][0]['t'][0];
         $data['issn'] = $fields['410'][0]['x'][0];
         $data['authority_number'] = $fields['410'][0]['3'][0];
         $data['publisher'] = editeur::get_informations_from_unimarc($fields);
     }
     return $data;
 }
 public function get_specifics_informations()
 {
     $this->specifics_data = array();
     switch ($this->type) {
         case "collection":
             $this->specifics_data = collection::get_informations_from_unimarc($this->fields, false, $this->import_subcoll);
             break;
         case "subcollection":
             $this->specifics_data = subcollection::get_informations_from_unimarc($this->fields);
             break;
         case "serie":
             //$this->specifics_data = serie::get_informations_from_unimarc($this->fields);
             break;
         default:
             break;
     }
 }