Beispiel #1
0
                         $placeFromArchive = $placeFromWeb;
                         $countWebDownloads++;
                     }
                 }
             } elseif ($place->getty) {
                 $placeFromArchive = $archiveGetty->getByGetty($place->getty);
                 if ($placeFromArchive == NULL) {
                     $placeFromWeb = $archiveGetty->makeEntryFromGetty($place->getty);
                     if ($placeFromWeb) {
                         $archiveGetty->insertEntryIfNew('getty', $place->getty, $placeFromWeb);
                         $placeFromArchive = $placeFromWeb;
                         $countWebDownloads++;
                     }
                 }
             } else {
                 $placeFromArchive = $archiveGeoNames->getByName($searchName);
             }
             if ($placeFromArchive) {
                 $place->geoData['lat'] = $placeFromArchive->lat;
                 $place->geoData['long'] = $placeFromArchive->long;
             } elseif ($testUnidentified == 0) {
                 $unidentifiedPlaces[] = $searchName;
             }
         }
     }
 }
 $archiveGeoNames->saveToFile('geoNames');
 $archiveGetty->saveToFile('getty');
 $archiveGND->saveToFile('gnd');
 $serialize = serialize($data);
 file_put_contents($_SESSION['folderName'] . '/dataPHP', $serialize);
Beispiel #2
0
function load_data_liddel($server, $user, $password, $database, $table)
{
    $db = new mysqli($server, $user, $password, $database);
    $db->set_charset("utf8");
    if (mysqli_connect_errno()) {
        die('Konnte keine Verbindung zur Datenbank aufbauen: ' . mysqli_connect_error() . '(' . mysqli_connect_errno() . ')');
    }
    $archive = new GeoDataArchive();
    $archive->loadFromFile();
    $translatePlaces = array('Görlitz (Dresden)' => 'Görlitz', 'Middleburg' => 'Middelburg', 'Neustadt an der Haardt' => 'Neustadt an der Weinstraße');
    if ($result = $db->query('SELECT * FROM ' . $table)) {
        $dataArray = array();
        while ($rowBooks = $result->fetch_assoc()) {
            $rowBooks = array_map('trim', $rowBooks);
            $thisBook = new item();
            $thisBook->id = $rowBooks['system_no'];
            //$thisBook->itemInVolume = getItemInVolume($rowBooks['nr']);
            $thisBook->bibliographicalLevel = 'copy';
            $thisBook->titleBib = htmlspecialchars($rowBooks['title']);
            $thisBook->publisher = htmlspecialchars($rowBooks['printer']);
            $thisBook->year = $rowBooks['date'];
            $thisBook->subject = $rowBooks['subject'];
            $thisBook->mediaType = 'Book';
            $thisBook->originalItem['institutionOriginal'] = 'Aberdeen, Sir Duncan Rice Library';
            $thisBook->originalItem['shelfmarkOriginal'] = $rowBooks['shelfmark'];
            $thisBook->originalItem['targetOPAC'] = 'https://aulib.abdn.ac.uk/F?func=direct&local_base=ABN01&doc_number={ID}';
            $thisBook->originalItem['searchID'] = $rowBooks['system_no'];
            $thisBook->language = explode(';', $rowBooks['language']);
            $placeName = $rowBooks['place_ger'];
            if ($placeName == '') {
                $placeName = $rowBooks['place'];
            }
            $placeName = strtr($placeName, $translatePlaces);
            $placeNameSearch = $placeName;
            if ($placeNameSearch == 'Frankfurt' or $placeNameSearch == 'Frankfurt am Main') {
                $placeNameSearch = 'Frankfurt/M.';
                $placeName = 'Frankfurt am Main';
            } elseif ($placeNameSearch == 'Frankfurt an der Oder' or $placeNameSearch == 'Frankfurt (Oder)') {
                $placeNameSearch = 'Frankfurt/O.';
            }
            $place = new place();
            $place->placeName = $placeName;
            $placeFromArchive = $archive->getByName($placeNameSearch);
            if ($placeFromArchive) {
                $place->geoData['lat'] = $placeFromArchive->lat;
                $place->geoData['long'] = $placeFromArchive->long;
            }
            $thisBook->places[] = $place;
            if (preg_match('~VD[ ]?(1[67]) (.+)~', $rowBooks['vd'], $matches)) {
                $thisBook->manifestation['systemManifestation'] = 'VD' . $matches[1];
                $thisBook->manifestation['idManifestation'] = $matches[2];
            } elseif ($rowBooks['retrieve_from'] == 'GBV') {
                $thisBook->manifestation['systemManifestation'] = 'GBV';
                $thisBook->manifestation['idManifestation'] = $rowBooks['ppn'];
            }
            if ($rowBooks['author'] != '') {
                $person = new person();
                $person->persName = $rowBooks['author'];
                if ($rowBooks['gnd']) {
                    if ($resultAuthor = $db->query('SELECT * FROM liddel_authority WHERE gnd_aut LIKE "' . $rowBooks['gnd'] . '"')) {
                        $rowPerson = $resultAuthor->fetch_assoc();
                        $person->persName = $rowPerson['name_de'];
                        if ($person->persName == '') {
                            $person->persName = $rowPerson['name_en'];
                        }
                        $person->gnd = $rowPerson['gnd_aut'];
                    }
                }
                $thisBook->persons[] = $person;
            }
            if ($resultDigi = $db->query('SELECT * FROM liddel_library_digi WHERE id_print LIKE ' . $rowBooks['id'])) {
                while ($rowDigi = $resultDigi->fetch_assoc()) {
                    $thisBook->digitalCopy = $rowDigi['value'];
                }
            }
            $dataArray[] = $thisBook;
        }
    }
    foreach ($dataArray as $item) {
        foreach ($item->persons as $person) {
            $person->perName = replaceArrowBrackets($person->persName);
        }
    }
    return $dataArray;
}