2022-04-02 00:55:38 +02:00
|
|
|
|
<?PHP
|
|
|
|
|
/**
|
|
|
|
|
* Constains lists for grouping licenses.
|
|
|
|
|
*
|
|
|
|
|
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
|
|
|
|
|
*/
|
|
|
|
|
declare(strict_types = 1);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Provides lists for categorizing spelled out licenses.
|
|
|
|
|
*/
|
2023-05-14 12:11:23 +02:00
|
|
|
|
final class MDConcLicenses implements MDImporterConcordanceListInterface {
|
2022-04-02 00:55:38 +02:00
|
|
|
|
|
2023-05-14 12:11:23 +02:00
|
|
|
|
private const LICENSES_LIST = [
|
2024-06-05 11:58:54 +02:00
|
|
|
|
"CCO" => "CC0",
|
2022-11-06 21:35:52 +01:00
|
|
|
|
"CC 0" => "CC0",
|
|
|
|
|
"CC_0" => "CC0",
|
2024-06-05 11:58:54 +02:00
|
|
|
|
"CC O" => "CC0",
|
2023-04-20 17:18:25 +02:00
|
|
|
|
"CC0 1.0" => "CC0",
|
|
|
|
|
"CC 0 1.0" => "CC0",
|
|
|
|
|
"CC_0 1.0" => "CC0",
|
2023-10-19 16:15:44 +02:00
|
|
|
|
"CC0 1.0 Universell" => "CC0",
|
|
|
|
|
"CC0 1.0 Universell (CC0 1.0)" => "CC0",
|
2023-10-16 16:46:17 +02:00
|
|
|
|
"kein Copyright / Public domain (CC0 1.0)" => "CC0",
|
2023-10-19 16:15:44 +02:00
|
|
|
|
"http://creativecommons.org/publicdomain/zero/1.0" => "CC0",
|
2023-07-27 01:44:23 +02:00
|
|
|
|
"http://creativecommons.org/publicdomain/zero/1.0/" => "CC0",
|
2023-10-16 16:46:17 +02:00
|
|
|
|
"http://creativecommons.org/publicdomain/zero/1.0/deed.de" => "CC0",
|
2023-10-19 16:15:44 +02:00
|
|
|
|
"https://creativecommons.org/publicdomain/zero/1.0" => "CC0",
|
2023-07-27 01:44:23 +02:00
|
|
|
|
"https://creativecommons.org/publicdomain/zero/1.0/" => "CC0",
|
2022-04-02 00:55:38 +02:00
|
|
|
|
"https://creativecommons.org/publicdomain/zero/1.0/deed.de" => "CC0",
|
|
|
|
|
|
|
|
|
|
"CC_BY" => "CC BY",
|
|
|
|
|
"CC-BY" => "CC BY",
|
|
|
|
|
"CC.BY" => "CC BY",
|
2024-05-23 03:23:10 +02:00
|
|
|
|
"CC BY 4.0" => "CC BY",
|
|
|
|
|
"CC_BY 4.0" => "CC BY",
|
|
|
|
|
"CC-BY 4.0" => "CC BY",
|
|
|
|
|
"CC.BY 4.0" => "CC BY",
|
2023-07-27 01:44:23 +02:00
|
|
|
|
"http://creativecommons.org/licenses/by/4.0" => "CC BY",
|
2023-10-19 16:15:44 +02:00
|
|
|
|
"http://creativecommons.org/licenses/by/4.0/" => "CC BY",
|
|
|
|
|
"http://creativecommons.org/licenses/by/4.0/de" => "CC BY",
|
|
|
|
|
"http://creativecommons.org/licenses/by/4.0/deed.de" => "CC BY",
|
2023-07-25 22:35:10 +02:00
|
|
|
|
"https://creativecommons.org/licenses/by/4.0" => "CC BY",
|
|
|
|
|
"https://creativecommons.org/licenses/by/4.0/" => "CC BY",
|
2023-10-19 16:15:44 +02:00
|
|
|
|
"https://creativecommons.org/licenses/by/4.0/de" => "CC BY",
|
2023-10-18 23:13:58 +02:00
|
|
|
|
"https://creativecommons.org/licenses/by/4.0/deed.de" => "CC BY",
|
2022-04-02 00:55:38 +02:00
|
|
|
|
|
|
|
|
|
"CC BY SA" => "CC BY-SA",
|
|
|
|
|
"CC BY-SA-" => "CC BY-SA",
|
|
|
|
|
"CC BY_SA" => "CC BY-SA",
|
|
|
|
|
"CC_BY_SA" => "CC BY-SA",
|
|
|
|
|
"CC-BY-SA" => "CC BY-SA",
|
|
|
|
|
"CC.BY-SA" => "CC BY-SA",
|
2022-11-26 22:42:42 +01:00
|
|
|
|
"CC BY-SA 4.0" => "CC BY-SA",
|
2024-01-03 01:18:18 +01:00
|
|
|
|
"CC BY SA 4.0" => "CC BY-SA",
|
2023-10-19 16:15:44 +02:00
|
|
|
|
"http://creativecommons.org/licenses/by-sa/3.0/" => "CC BY-SA",
|
|
|
|
|
"http://creativecommons.org/licenses/by-sa/3.0/de" => "CC BY-SA",
|
|
|
|
|
"http://creativecommons.org/licenses/by-sa/3.0/de/" => "CC BY-SA",
|
|
|
|
|
"http://creativecommons.org/licenses/by-sa/3.0/deed.de" => "CC BY-SA",
|
|
|
|
|
"https://creativecommons.org/licenses/by-sa/3.0/" => "CC BY-SA",
|
|
|
|
|
"https://creativecommons.org/licenses/by-sa/3.0/de" => "CC BY-SA",
|
|
|
|
|
"https://creativecommons.org/licenses/by-sa/3.0/de/" => "CC BY-SA",
|
|
|
|
|
"https://creativecommons.org/licenses/by-sa/3.0/deed.de" => "CC BY-SA",
|
2023-07-27 01:44:23 +02:00
|
|
|
|
"http://creativecommons.org/licenses/by-sa/4.0/" => "CC BY-SA",
|
2023-10-19 16:15:44 +02:00
|
|
|
|
"http://creativecommons.org/licenses/by-sa/4.0/de" => "CC BY-SA",
|
|
|
|
|
"http://creativecommons.org/licenses/by-sa/4.0/de/" => "CC BY-SA",
|
|
|
|
|
"http://creativecommons.org/licenses/by-sa/4.0/deed.de" => "CC BY-SA",
|
2023-07-25 22:35:10 +02:00
|
|
|
|
"https://creativecommons.org/licenses/by-sa/4.0/" => "CC BY-SA",
|
2023-10-19 16:15:44 +02:00
|
|
|
|
"https://creativecommons.org/licenses/by-sa/4.0/de" => "CC BY-SA",
|
|
|
|
|
"https://creativecommons.org/licenses/by-sa/4.0/de/" => "CC BY-SA",
|
|
|
|
|
"https://creativecommons.org/licenses/by-sa/4.0/deed.de" => "CC BY-SA",
|
2022-09-12 23:54:15 +02:00
|
|
|
|
"Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International (CC BY-SA 4.0)" => "CC BY-SA",
|
2023-10-16 16:46:17 +02:00
|
|
|
|
"Namensnennung 4.0 International (CC BY 4.0)" => "CC BY-SA",
|
2022-04-02 00:55:38 +02:00
|
|
|
|
|
|
|
|
|
"CC BY_NC" => "CC BY-NC",
|
|
|
|
|
"CC_BY_NC" => "CC BY-NC",
|
|
|
|
|
"CC-BY-NC" => "CC BY-NC",
|
|
|
|
|
"CC.BY-NC" => "CC BY-NC",
|
2023-07-27 01:44:23 +02:00
|
|
|
|
"http://creativecommons.org/licenses/by-nc/4.0/" => "CC BY-NC",
|
2023-05-14 13:04:34 +02:00
|
|
|
|
"https://creativecommons.org/licenses/by-nc/4.0/" => "CC BY-NC",
|
2022-04-02 00:55:38 +02:00
|
|
|
|
|
|
|
|
|
"CC BY_NC_SA" => "CC BY-NC-SA",
|
|
|
|
|
"CC_BY_NC_SA" => "CC BY-NC-SA",
|
2023-07-26 15:25:07 +02:00
|
|
|
|
"CC BY NC SA" => "CC BY-NC-SA",
|
2022-04-02 00:55:38 +02:00
|
|
|
|
"CC-BY-NC-SA" => "CC BY-NC-SA",
|
|
|
|
|
"CC.BY-NC-SA" => "CC BY-NC-SA",
|
2023-11-12 16:14:24 +01:00
|
|
|
|
"CC BY-NC-SA 3.0" => "CC BY-NC-SA",
|
2023-01-31 18:49:15 +01:00
|
|
|
|
"CC BY-NC-SA 3.0 AT" => "CC BY-NC-SA",
|
2023-11-12 16:14:24 +01:00
|
|
|
|
"CC BY-NC-SA 4.0" => "CC BY-NC-SA",
|
2023-04-12 16:53:46 +02:00
|
|
|
|
"http://creativecommons.org/licenses/by-nc-sa/3.0/" => "CC BY-NC-SA",
|
2023-10-19 03:27:31 +02:00
|
|
|
|
"http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de" => "CC BY-NC-SA",
|
2023-05-14 12:11:23 +02:00
|
|
|
|
"http://creativecommons.org/licenses/by-nc-sa/4.0/" => "CC BY-NC-SA",
|
2023-04-12 16:53:46 +02:00
|
|
|
|
"https://creativecommons.org/licenses/by-nc-sa/4.0/" => "CC BY-NC-SA",
|
2022-08-18 17:46:47 +02:00
|
|
|
|
"Namensnennung - Nicht kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International (CC BY-NC-SA 4.0)" => "CC BY-NC-SA",
|
2022-04-02 00:55:38 +02:00
|
|
|
|
|
2022-04-14 17:11:42 +02:00
|
|
|
|
"CC BY_NC_ND" => "CC BY-NC-ND",
|
|
|
|
|
"CC_BY_NC_ND" => "CC BY-NC-ND",
|
|
|
|
|
"CC-BY-NC-ND" => "CC BY-NC-ND",
|
|
|
|
|
"CC.BY-NC-ND" => "CC BY-NC-ND",
|
2024-11-03 16:40:47 +01:00
|
|
|
|
"CC BY-NC-ND 4.0" => "CC BY-NC-ND",
|
2023-07-27 01:44:23 +02:00
|
|
|
|
"http://creativecommons.org/licenses/by-nc-nd/4.0/" => "CC BY-NC-ND",
|
2022-04-14 17:11:42 +02:00
|
|
|
|
"https://creativecommons.org/licenses/by-nc-nd/4.0/" => "CC BY-NC-ND",
|
2023-10-19 03:27:31 +02:00
|
|
|
|
"http://creativecommons.org/licenses/by-nc-nd/3.0/de/" => "CC BY-NC-ND",
|
2024-11-03 16:40:47 +01:00
|
|
|
|
"https://creativecommons.org/licenses/by-nc-nd/4.0/deed.de" => "CC BY-NC-ND",
|
2023-10-19 03:27:31 +02:00
|
|
|
|
"https://creativecommons.org/licenses/by-nc-nd/3.0/de/" => "CC BY-NC-ND",
|
2022-04-14 17:11:42 +02:00
|
|
|
|
|
2022-04-02 00:55:38 +02:00
|
|
|
|
"https://www.deutsche-digitale-bibliothek.de/content/lizenzen/rv-fz" => "RR-F",
|
2023-07-27 19:24:45 +02:00
|
|
|
|
"https://www.deutsche-digitale-bibliothek.de/content/lizenzen/rv-fz/" => "RR-F",
|
2023-07-28 17:35:55 +02:00
|
|
|
|
"https//www.deutsche-digitale-bibliothek.de/content/lizenzen/rv-fz" => "RR-F",
|
2023-07-27 19:24:45 +02:00
|
|
|
|
"http://www.deutsche-digitale-bibliothek.de/lizenzen/rv-fz/" => "RR-F",
|
2023-10-16 16:46:17 +02:00
|
|
|
|
"https://www.deutsche-digitale-bibliothek.de/content/lizenzen/rv-ez" => "RR-F",
|
|
|
|
|
"https://www.deutsche-digitale-bibliothek.de/content/lizenzen/rv-ez/" => "RR-F",
|
|
|
|
|
"https//www.deutsche-digitale-bibliothek.de/content/lizenzen/rv-ez" => "RR-F",
|
|
|
|
|
"http://www.deutsche-digitale-bibliothek.de/lizenzen/rv-ez/" => "RR-F",
|
2023-07-27 19:24:45 +02:00
|
|
|
|
"http://www.europeana.eu/rights/rr-f/" => "RR-F",
|
2022-04-13 02:33:37 +02:00
|
|
|
|
"https://www.europeana.eu/rights/rr-f/" => "RR-F",
|
2022-04-02 00:55:38 +02:00
|
|
|
|
"Rechte vorbehalten - Freier Zugang" => "RR-F",
|
2023-07-28 17:35:55 +02:00
|
|
|
|
"Rechte vorbehalten – Freier Zugang" => "RR-F",
|
2023-04-17 00:44:39 +02:00
|
|
|
|
"http://rightsstatements.org/vocab/InC/1.0/" => "RR-F",
|
|
|
|
|
"http://rightsstatements.org/page/InC/1.0/" => "RR-F",
|
|
|
|
|
"https://rightsstatements.org/page/InC/1.0/" => "RR-F",
|
2022-04-02 00:55:38 +02:00
|
|
|
|
"Alle Rechte vorbehalten" => "RR-F",
|
2024-09-08 21:33:43 +02:00
|
|
|
|
"Alle Rechte vorbehalten." => "RR-F",
|
2022-08-11 01:02:47 +02:00
|
|
|
|
"Alle Rechte vorbehalten - Urhebererechtlich geschütztes Werk" => "RR-F",
|
2022-04-02 00:55:38 +02:00
|
|
|
|
"IN COPYRIGHT" => "RR-P",
|
2022-11-06 21:35:52 +01:00
|
|
|
|
"Rechtsstatus unbekannt" => "RR-P",
|
2022-11-26 22:42:42 +01:00
|
|
|
|
"none" => "RR-F",
|
|
|
|
|
|
2023-07-27 19:24:45 +02:00
|
|
|
|
"http://www.europeana.eu/rights/rr-r/" => "RR-R",
|
|
|
|
|
"https://www.europeana.eu/rights/rr-r/" => "RR-R",
|
|
|
|
|
|
|
|
|
|
'PDM' => 'Public Domain Mark',
|
2022-11-26 22:42:42 +01:00
|
|
|
|
'PDM 1.0' => 'Public Domain Mark',
|
2023-10-13 11:39:03 +02:00
|
|
|
|
'https://creativecommons.org/public-domain/pdm/' => 'Public Domain Mark',
|
2023-07-27 19:24:45 +02:00
|
|
|
|
'https://creativecommons.org/publicdomain/mark/1.0' => 'Public Domain Mark',
|
|
|
|
|
'https://creativecommons.org/publicdomain/mark/1.0/' => 'Public Domain Mark',
|
2023-10-13 11:39:03 +02:00
|
|
|
|
'https://creativecommons.org/publicdomain/mark/1.0/deed.de' => 'Public Domain Mark',
|
2023-07-27 19:24:45 +02:00
|
|
|
|
'https://creativecommons.org/publicdomain/mark/1.0/deed.de/' => 'Public Domain Mark',
|
2024-11-07 10:48:09 +01:00
|
|
|
|
'Public Domain Mark 1.0 - Weltweit frei von bekannten urheberrechtlichen Einschränkungen' => 'Public Domain Mark',
|
2023-07-27 19:24:45 +02:00
|
|
|
|
|
2022-04-02 00:55:38 +02:00
|
|
|
|
];
|
|
|
|
|
|
2023-05-14 12:11:23 +02:00
|
|
|
|
/**
|
|
|
|
|
* Require a function for getting the concordance target.
|
|
|
|
|
*
|
|
|
|
|
* @param string $input Input string.
|
|
|
|
|
*
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
|
|
|
|
public static function getConcordanceTarget(string $input):string {
|
|
|
|
|
|
|
|
|
|
if (!isset(self::LICENSES_LIST[$input])) {
|
|
|
|
|
throw new MDImporterMissingConcordance("Unknown licence type: " . $input);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return self::LICENSES_LIST[$input];
|
|
|
|
|
|
|
|
|
|
}
|
2022-04-02 00:55:38 +02:00
|
|
|
|
}
|