diff --git a/.gitignore b/.gitignore index 5c34759..1c4d276 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,6 @@ /values/langfiles *.swp *.swo -commonservices /vendor/ /xml .phpunit.result.cache diff --git a/classes/CsvxmlAvailableFields.php b/classes/CsvxmlAvailableFields.php index 4691635..221a9da 100644 --- a/classes/CsvxmlAvailableFields.php +++ b/classes/CsvxmlAvailableFields.php @@ -92,8 +92,8 @@ final class CsvxmlAvailableFields { include __DIR__ . "/../l10n/musdb/{$lang}/{$fileName}"; } - include __DIR__ . "/../values/commonservices/$lang/search_all_fields.php"; - include __DIR__ . "/../values/commonservices/units.php"; + include __DIR__ . "/../commonservices/$lang/search_all_fields.php"; + include __DIR__ . "/../commonservices/units.php"; include __DIR__ . "/../classes/MDAllowedValueSets/l18n/$lang/eventtype_name.php"; $currencies = MDCurrenciesSet::getSortedList($tlLoader); @@ -1649,5 +1649,4 @@ final class CsvxmlAvailableFields { $this->_availableFields = $availableFields; } - } diff --git a/commonservices/ar/search_all_fields.php b/commonservices/ar/search_all_fields.php new file mode 100644 index 0000000..35bba81 --- /dev/null +++ b/commonservices/ar/search_all_fields.php @@ -0,0 +1,57 @@ +, 1: array} + */ +function proveAuswahlArray(MDTlLoader $tlLoader) :array { + + include __DIR__ . "/" . $tlLoader->getLang() . "/search_all_fields.php"; + + $auswahl = []; $auswahl_feld = []; + + $auswahl[] = '[' . $tlLoader->tl("object_addendum", "object_add", "ignore") . ']'; + $auswahl_feld[] = 'ignore'; + + $auswahl[] = $tlLoader->tl("basis", "basis", "image"); + $auswahl_feld[] = 'image'; + + $auswahl[] = $tlLoader->tl("object_basis", "object_basis", "inventory_number"); + $auswahl_feld[] = 'objekt_inventarnr'; + + $auswahl[] = 'md:number'; + $auswahl_feld[] = 'objekt_id'; + + $auswahl[] = $tlLoader->tl("object_basis", "object_basis", "object_type"); + $auswahl_feld[] = 'objektart'; + + $auswahl[] = $tlLoader->tl("object_basis", "object_basis", "object_name"); + $auswahl_feld[] = 'objekt_name'; + + $auswahl[] = $tlLoader->tl("object_basis", "object_basis", "description"); + $auswahl_feld[] = 'objekt_beschreibung'; + + $auswahl[] = $tlLoader->tl("object_basis", "object_basis", "mattech"); + $auswahl_feld[] = 'objekt_material_technik'; + + $auswahl[] = $tlLoader->tl("object_basis", "object_basis", "measurements"); + $auswahl_feld[] = 'objekt_masse'; + + $auswahl[] = $tlLoader->tl("object", "object", "updated") . " / " . $tlLoader->tl("object_addendum", "object_add", "by"); + $auswahl_feld[] = 'objekt_erfasst_von'; + + $auswahl[] = $tlLoader->tl("object", "object", "updated") . " / " . $tlLoader->tl("basis", "basis", "time"); + $auswahl_feld[] = 'objekt_erfasst_am'; + + $auswahl[] = $tlLoader->tl("object", "object", "added") . " / " . $tlLoader->tl("object_addendum", "object_add", "by"); + $auswahl_feld[] = 'objekt_ersterfasst_von'; + + $auswahl[] = $tlLoader->tl("object", "object", "added") . " / " . $tlLoader->tl("basis", "basis", "time"); + $auswahl_feld[] = 'objekt_ersterfasst_am'; + + $auswahl[] = $searchvar[0][0]; + $auswahl_feld[] = 'titel2_name'; + + $auswahl[] = $searchvar[46][0]; + $auswahl_feld[] = 'detaileddescription2'; + + $auswahl[] = $searchvar[2][0]; + $auswahl_feld[] = 'beschriftung2'; + + $auswahl[] = $searchvar[1][0]; + $auswahl_feld[] = 'ort2_name'; + + $auswahl[] = $searchvar[3][0]; + $auswahl_feld[] = 'mass2_laenge_wert'; + + $auswahl[] = $searchvar[4][0]; + $auswahl_feld[] = 'mass2_hoehe_wert'; + + $auswahl[] = $searchvar[5][0]; + $auswahl_feld[] = 'mass2_breite_wert'; + + $auswahl[] = $searchvar[6][0]; + $auswahl_feld[] = 'mass2_gewicht_wert'; + + $auswahl[] = $searchvar[7][0]; + $auswahl_feld[] = 'mass2_durchmesser_wert'; + + $auswahl[] = $searchvar[8][0]; + $auswahl_feld[] = 'wandungsstaerke_wert'; + + $auswahl[] = $searchvar[9][0]; + $auswahl_feld[] = 'mass2_seitenzahl'; + + $auswahl[] = $searchvar[10][0]; + $auswahl_feld[] = 'stueckzahl'; + + $auswahl[] = $searchvar[11][0]; + $auswahl_feld[] = 'vergleichsobjekte2'; + + $auswahl[] = $searchvar[31][0]; + $auswahl_feld[] = 'standort_aktuell'; + + $auswahl[] = $searchvar[32][0]; + $auswahl_feld[] = 'standort_eigentlich'; + + $auswahl[] = $searchvar[33][0]; + $auswahl_feld[] = 'ausstellung'; + + $auswahl[] = $searchvar[34][0];$auswahl_feld[] = 'verliehen_an'; + + $auswahl[] = $searchvar[12][0];$auswahl_feld[] = 'eingangsnummer'; + + $auswahl[] = $searchvar[13][0];$auswahl_feld[] = 'invnr2'; + + $auswahl[] = $searchvar[14][0];$auswahl_feld[] = 'konvolut'; + + $auswahl[] = $searchvar[15][0];$auswahl_feld[] = 'teilvon'; + + $auswahl[] = $searchvar[16][0];$auswahl_feld[] = 'sachgruppe'; + + $auswahl[] = $searchvar[17][0];$auswahl_feld[] = 'systematik'; + + $auswahl[] = $searchvar[18][0];$auswahl_feld[] = 'vorbesitzer'; + + $auswahl[] = $searchvar[19][0];$auswahl_feld[] = 'zeitpunkt_zugang'; + $auswahl[] = $searchvar[20][0];$auswahl_feld[] = 'zugang_art'; + $auswahl[] = $searchvar[22][0];$auswahl_feld[] = 'objektgeschichte'; + $auswahl[] = $searchvar[25][0];$auswahl_feld[] = 'wert_zahl'; + $auswahl[] = $searchvar[28][0];$auswahl_feld[] = 'wert2_zahl'; + $auswahl[] = $searchvar[29][0];$auswahl_feld[] = 'zustand'; + $auswahl[] = $searchvar[30][0];$auswahl_feld[] = 'restaurierung'; + $auswahl[] = $searchvar[39][0];$auswahl_feld[] = 'urheberrechte'; + $auswahl[] = $searchvar[40][0];$auswahl_feld[] = 'nutzungsrechte'; + $auswahl[] = $searchvar[41][0];$auswahl_feld[] = 'rechte_anmerkungen'; + $auswahl[] = $searchvar[42][0];$auswahl_feld[] = 'notizen_text2'; + $auswahl[] = $searchvar[43][0];$auswahl_feld[] = 'notizen_text1'; + $auswahl[] = $searchvar[44][0];$auswahl_feld[] = 'bilder_lokal'; + $auswahl[] = $searchvar[45][0];$auswahl_feld[] = 'dokumente_lokal'; + + $auswahl[] = $tlLoader->tl("basis", "basis", "actor");$auswahl_feld[] = 'actor'; + $auswahl[] = $tlLoader->tl("basis", "basis", "place");$auswahl_feld[] = 'place'; + $auswahl[] = $tlLoader->tl("basis", "basis", "time");$auswahl_feld[] = 'time'; + + $auswahl[] = $tlLoader->tl("basis", "basis", "collection"); + $auswahl_feld[] = 'collection'; + + $auswahl[] = $tlLoader->tl("basis", "basis", "literature"); + $auswahl_feld[] = 'literature'; + + $auswahl[] = $tlLoader->tl("basis", "basis", "tag"); + $auswahl_feld[] = 'tag'; + + return [$auswahl, $auswahl_feld]; + +} diff --git a/commonservices/checkCompareNodac.php b/commonservices/checkCompareNodac.php new file mode 100644 index 0000000..ec19adb --- /dev/null +++ b/commonservices/checkCompareNodac.php @@ -0,0 +1,145 @@ + + */ + +if (!file_exists(__DIR__ . '/../conf/dbsToCompare.php')) return; + +/** + * Function to connect to all versions to compare the current one with. + * Returns an array of database connections. + * + * @return array + */ +function connectToCompareDBs():array { + + include __DIR__ . '/../conf/dbsToCompare.php'; + if (empty($dbsToCompare)) return []; + + $connections = []; + foreach ($dbsToCompare as $key => $db) { + $connections[$key] = md_mysqli_connect($db['hostname'], $db['username'], $db['password'], $db['databasename']); + if (mysqli_connect_error()) { + throw new Exception("Error connecting to database " . $db['hostname']); + } + } + return $connections; + +} + +/** + * Checks the number a given set of times appeared in eveents in a given version. + * + * @param array $connections Array of DB connections from which to query. + * @param integer $timeID ID of the time entry to check. + * @param string $currentSubset Name of the current version. + * + * @return array{0: integer, 1: integer} + */ +function checkTimes(array $connections, int $timeID, string $currentSubset):array { + + list($numberofusage, $currentAmount) = [[], 0]; // Set defaults + foreach ($connections as $dbName => $connection) { + + $eergebnis = $connection->do_read_query("SELECT 1 + FROM `ereignis` + WHERE `zeiten_id` = " . $connection->escape_string((string)$timeID) . " + LIMIT 2"); + + $numberofusage[$dbName] = $anzahl_ergebnis = $eergebnis->num_rows; + if (strtolower($dbName) == strtolower($currentSubset)) $currentAmount = $anzahl_ergebnis; + + $eergebnis->close(); unset($eergebnis); + } + return [(int)array_sum($numberofusage), $currentAmount]; + +} + +/** + * Checks the number a given person / institution appeared in events across versions. + * + * @param array $connections Array of DB connections from which to query. + * @param integer $timeID ID of the time entry to check. + * @param string $currentSubset Name of the current version. + * + * @return array{0: integer, 1: integer} + */ +function checkPersinst(array $connections, int $timeID, string $currentSubset):array { + + list($numberofusage, $currentAmount) = [[], 0]; // Set defaults + foreach ($connections as $dbName => $connection) { + + $eergebnis = $connection->do_read_query("SELECT 1 + FROM `ereignis` + WHERE `persinst_id` = " . $connection->escape_string((string)$timeID) . " + LIMIT 2"); + + $numberofusage[$dbName] = $anzahl_ergebnis = $eergebnis->num_rows; + if (strtolower($dbName) == strtolower($currentSubset)) $currentAmount = $anzahl_ergebnis; + + $eergebnis->close(); unset($eergebnis); + } + return [(int)array_sum($numberofusage), $currentAmount]; + +} + +/** + * Checks the number a given place appeared in events across versions. + * + * @param array $connections Array of DB connections from which to query. + * @param integer $timeID ID of the time entry to check. + * @param string $currentSubset Name of the current version. + * + * @return array{0: integer, 1: integer} + */ +function checkPlace(array $connections, int $timeID, string $currentSubset):array { + + list($numberofusage, $currentAmount) = [[], 0]; // Set defaults + foreach ($connections as $dbName => $connection) { + + $eergebnis = $connection->do_read_query("SELECT 1 + FROM `ereignis` + WHERE `orte_id` = " . $connection->escape_string((string)$timeID) . " + LIMIT 2"); + + $numberofusage[$dbName] = $anzahl_ergebnis = $eergebnis->num_rows; + if (strtolower($dbName) == strtolower($currentSubset)) $currentAmount = $anzahl_ergebnis; + + $eergebnis->close(); unset($eergebnis); + } + return [(int)array_sum($numberofusage), $currentAmount]; + +} + +/** + * Checks the number a given tag appeared in events across versions. + * + * @param array $connections Array of DB connections from which to query. + * @param integer $tagID ID of the tag entry to check. + * @param string $currentSubset Name of the current version. + * + * @return array{0: integer, 1: integer} + */ +function checkTag(array $connections, int $tagID, string $currentSubset):array { + + list($numberofusage, $currentAmount) = [[], 0]; // Set defaults + foreach ($connections as $dbName => $connection) { + + $eergebnis = $connection->do_read_query("SELECT 1 + FROM `v_objekt_tag2` + WHERE `tag_id` = " . $connection->escape_string((string)$tagID) . " + LIMIT 2"); + + $numberofusage[$dbName] = $anzahl_ergebnis = $eergebnis->num_rows; + if (strtolower($dbName) == strtolower($currentSubset)) $currentAmount = $anzahl_ergebnis; + + $eergebnis->close(); unset($eergebnis); + } + return [(int)array_sum($numberofusage), $currentAmount]; + +} + diff --git a/commonservices/de/search_all_fields.php b/commonservices/de/search_all_fields.php new file mode 100644 index 0000000..64a27c5 --- /dev/null +++ b/commonservices/de/search_all_fields.php @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + local + + + + + + + + + + + + + + + + + + + + + + gnd + uri + + + + + + grobsystematik + uri + + + + + + oberbegriffsdatei + uri + + + + + + aat + uri + + + + + + lcsh + uri + + + + + + md:term + uri + + + + + + + de + + + + + + + + + + + + + + + + + + + + + + Sammlung + + + local + collection_id + + + + + + de + no + + + + + + + + + + + + + + + + + + + + + + + local + series_id + + + + + + no + + + + + + + + + + + + + + + + + + preferred + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + current + + + + isil + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + inventory number + + + + + + + OSM + uri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + length + + + + + + + + + + + width + + + + + + + + + + + height + + + + + + + + + + + weight + + + + + + + + + + + diameter + + + + + + + + + + + width of wall + + + + + + + + + + + number of pages + Pages + + + + + + + + Stempelstellung + Clock + + + + + + + + + + + + + + + + + + + + + + + + + + + + length + + + + + + + + + + + width + + + + + + + + + + + height + + + + + + + + + + + weight + + + + + + + + + + + diameter + + + + + + + + + + + width of wall + + + + + + + + + + + number of pages + Pages + + + + + + + + + + + + + + + + + + + + + + + + + local + + + + + + https://event-types.museum-digital.org/ + + no + + + + + + + + + + + + + + + + + + + (wahrscheinlich) + + + + + + + + + + + + + + + + + + + + + uri + + + + + + + + + + + + + + + uri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (wahrscheinlich) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (wahrscheinlich) + + + + + + + + + + + + + + + + + + + + geonames + uri + + + + + + TGN + uri + + + + + + gnd + uri + + + + + + wikidata + uri + + + + + + md:term + uri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + local + + + + + + + + + + + + + + + + + + http://terminology.lido-schema.org/lido00003 + Event (non-specified) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event (non-specified) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + geonames + uri + + + + + + TGN + uri + + + + + + gnd + uri + + + + + + wikidata + uri + + + + + + md:term + uri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + geonames + uri + + + + + + TGN + uri + + + + + + gnd + uri + + + + + + wikidata + uri + + + + + + md:term + uri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uri + + + + + + + no + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + : + + + + , + + + + , + + + + + + + + + + + + + + + ISBN + + + + + + dnb + uri + + + + + + uri + + + + + + + + + + + + + + de + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + museum-digital + + + + + + noitem + + + dataProvider + + museum-digital + + + + + + + + + + isil + + + + + + + + + + + + + + + + + + + + + + + + + + + urihttps://creativecommons.org/licenses/by-nc-sa/4.0/ + + noCC BY-NC-SA + + + + + + urihttps://creativecommons.org/licenses/by-nc-nd/4.0/ + + noCC BY-NC-ND + + + + + + urihttps://creativecommons.org/licenses/by-nc/4.0/ + + noCC BY-NC + + + + + + urihttps://creativecommons.org/licenses/by-nd/4.0/ + + noCC BY-ND + + + + + + urihttps://creativecommons.org/licenses/by-sa/4.0/ + + noCC BY-SA + + + + + + urihttps://creativecommons.org/licenses/by/4.0/ + + noCC BY + + + + + + urihttps://creativecommons.org/publicdomain/zero/1.0/ + + noCC 0 + + + + + + urihttps://www.europeana.eu/portal/de/rights/rr-f.html + + noRR-F + + + + + + urihttps://www.europeana.eu/portal/de/rights/rr-p.html + + noRR-P + + + + + + urihttps://www.europeana.eu/portal/de/rights/rr-r.html + + noRR-R + + + + + + urihttps://www.europeana.eu/portal/de/rights/orphan-work-eu.html + + noOrphan Work + + + + + + urihttps://creativecommons.org/publicdomain/mark/1.0/ + + noPublic Domain Mark + + + + + + + + + + + + + + + + + + isil + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + local + + + + + + + + + + + masterfile + + + + image/tiff + + + + + + + + + image_thumb + + + + image/jpeg + + + + + + + image_preview + + + + image/jpeg + + + + + + + image_master + + + + + + + + + + + + + + + + + + + + + + + image_master + + + + image/jpeg + + + + + + + audio + + + + + + + + + + + + + + + + + + + + + + + image_master + + + + image/jpeg + + + + + + + video + + + + + + + + + + + + + + + + + + + + + + + image_master + + + + image/jpeg + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + Hauptansicht + + + + + + + + + owner + + + + + + + + + + + creator + + + + + + + + + + + + + uri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/commonservices/pl/search_all_fields.php b/commonservices/pl/search_all_fields.php new file mode 100644 index 0000000..5f89876 --- /dev/null +++ b/commonservices/pl/search_all_fields.php @@ -0,0 +1,57 @@ + 'Euro', "FOR" => 'Forint', "USD" => "US Dollar", "IDR" => "Rupiah (Indonesia)", 'DM' => "Deutsche Mark"]; diff --git a/commonservices/zh/search_all_fields.php b/commonservices/zh/search_all_fields.php new file mode 100644 index 0000000..35bba81 --- /dev/null +++ b/commonservices/zh/search_all_fields.php @@ -0,0 +1,57 @@ +