From d5b593c334785c47e03b2255d05a3a18b343e514 Mon Sep 17 00:00:00 2001 From: Joshua Ramon Enslin Date: Mon, 18 Apr 2022 13:19:00 +0200 Subject: [PATCH] Expect usage of function setRetrivalMode instead of a GET param for setting retrieval modes in NodaWikidataFetcher --- src/NodaWikidataFetcher.php | 115 +++++++++++++++++++++--------------- 1 file changed, 68 insertions(+), 47 deletions(-) diff --git a/src/NodaWikidataFetcher.php b/src/NodaWikidataFetcher.php index 98d9bc7..11e6aa6 100644 --- a/src/NodaWikidataFetcher.php +++ b/src/NodaWikidataFetcher.php @@ -83,9 +83,38 @@ final class NodaWikidataFetcher { '

_retrievalMode = $retrievalMode; + + } + /** * Validates a Wikidata ID. A Wikidata ID must start with a capital Q and be * numeric otherwise. @@ -549,25 +578,24 @@ final class NodaWikidataFetcher { $cinfo = $cergebnis->fetch_assoc(); if (!empty($cinfo['persinst_kurzinfo']) and substr($cinfo['persinst_kurzinfo'], 0, 3) !== 'GND') { - if (isset($_GET['keep'])) { - if (!$_GET['keep'] || $_GET['keep'] === 'replace') { + switch ($this->_retrievalMode) { + case "add": - $updatePersinstStmt->bind_param("si", $datafromwiki, $persinst_id); - $updatePersinstStmt->execute(); - - } - else if ($_GET['keep'] === 'add') { - - $newDesc = $cinfo['persinst_kurzinfo'] . PHP_EOL . PHP_EOL . $datafromwiki; - - $updatePersinstStmt->bind_param("si", $newDesc, $persinst_id); - $updatePersinstStmt->execute(); - - } + $newDesc = $cinfo['persinst_kurzinfo'] . PHP_EOL . PHP_EOL . $datafromwiki; + $updatePersinstStmt->bind_param("si", $newDesc, $persinst_id); + $updatePersinstStmt->execute(); $output = true; - } - else { + break; + + case "replace": + + $updatePersinstStmt->bind_param("si", $datafromwiki, $persinst_id); + $updatePersinstStmt->execute(); + $output = true; + break; + + default: $tlLoader = new MDTlLoader("wiki_getter_persinst", $preflang); echo self::generateHTMLHeadForWikidataFetcher($lang); @@ -585,7 +613,7 @@ final class NodaWikidataFetcher { echo '
Replace with new entry'; echo '
Keep old and add new entry


'; - exit; + exit; } @@ -939,20 +967,14 @@ final class NodaWikidataFetcher { if (!empty(trim($curPlaceInfo['ort_anmerkung'])) and substr($curPlaceInfo['ort_anmerkung'], 0, 3) !== 'GND') { - if (isset($_GET['keep'])) { - - if ($_GET['keep'] === 'add') { - - $datafromwiki = $curPlaceInfo['ort_anmerkung'] . PHP_EOL . PHP_EOL . $datafromwiki; - - } - else if ($_GET['keep'] === 'keep') { - $datafromwiki = $curPlaceInfo['ort_anmerkung']; - } - - } - else { - + switch ($this->_retrievalMode) { + case "add": + $datafromwiki = $curPlaceInfo['ort_anmerkung'] . PHP_EOL . PHP_EOL . $datafromwiki; + break; + case "keep": + $datafromwiki = $curPlaceInfo['ort_anmerkung']; + break; + default: $tlLoader = new MDTlLoader("wiki_getter_place", $preflang); echo self::generateHTMLHeadForWikidataFetcher($lang); echo self::generateWikidataFetcherHeader($tlLoader); @@ -1349,25 +1371,24 @@ final class NodaWikidataFetcher { if (!empty($cinfo['tag_anmerkung']) and substr($cinfo['tag_anmerkung'], 0, 3) !== 'GND') { - if (isset($_GET['keep'])) { - if (!$_GET['keep'] || $_GET['keep'] === 'replace') { + switch ($this->_retrievalMode) { + case "add": - $updateTagDescStmt->bind_param("si", $datafromwiki, $tag_id); - $updateTagDescStmt->execute(); - - } - else if ($_GET['keep'] === 'add') { - - $newDesc = $cinfo['tag_anmerkung'] . PHP_EOL . PHP_EOL . $datafromwiki; - - $updateTagDescStmt->bind_param("si", $newDesc, $tag_id); - $updateTagDescStmt->execute(); - - } + $newDesc = $cinfo['tag_anmerkung'] . PHP_EOL . PHP_EOL . $datafromwiki; + $updateTagDescStmt->bind_param("si", $newDesc, $tag_id); + $updateTagDescStmt->execute(); $output = true; - } - else { + break; + + case "replace": + + $updateTagDescStmt->bind_param("si", $datafromwiki, $tag_id); + $updateTagDescStmt->execute(); + $output = true; + break; + + default: $tlLoader = new MDTlLoader("wiki_getter_tag", $preflang); echo self::generateHTMLHeadForWikidataFetcher($lang);