/** * Update a list of Orden entities */ public function updateListAction() { if ($this->request->hasArgument('data')) { $ordenlist = $this->request->getArgument('data'); } if (empty($ordenlist)) { $this->throwStatus(400, 'Required data arguemnts not provided', null); } foreach ($ordenlist as $uuid => $orden) { if (isset($uuid) && !empty($uuid)) { $ordenObj = $this->ordenRepository->findByIdentifier($uuid); $ordenObj->setOrden($orden['orden']); $ordenObj->setOrdo($orden['ordo']); $ordenObj->setSymbol($orden['symbol']); $ordenObj->setGraphik($orden['graphik']); $ordenstypUUID = $orden['ordenstyp']; $ordenstyp = $this->ordenstypRepository->findByIdentifier($ordenstypUUID); $ordenObj->setOrdenstyp($ordenstyp); } else { $this->throwStatus(400, 'Required uUID not provided', null); } $this->ordenRepository->update($ordenObj); } $this->persistenceManager->persistAll(); $this->throwStatus(200, null, null); }
/** * Delete an Ordenstyp entity */ public function deleteAction() { if ($this->request->hasArgument('uUID')) { $uuid = $this->request->getArgument('uUID'); } if (empty($uuid)) { $this->throwStatus(400, 'Required uUID not provided', null); } $ordens = count($this->ordenRepository->findByOrdenstyp($uuid)); if ($ordens == 0) { $ordenstypObj = $this->ordenstypRepository->findByIdentifier($uuid); if (!is_object($ordenstypObj)) { $this->throwStatus(400, 'Entity Ordenstyp not available', null); } $this->ordenstypRepository->remove($ordenstypObj); $this->throwStatus(200, null, null); } else { $this->throwStatus(400, 'Due to dependencies Ordenstyp entity could not be deleted', null); } }
/** * @return array $reponse The list of all Kloster in json format */ public function klosterListAllAction() { if ($this->personen === null) { $this->logger->log('Personendatenbank ist nicht verfügbar.'); exit; } $this->klosterRepository->setDefaultOrderings(['uid' => \TYPO3\Flow\Persistence\QueryInterface::ORDER_ASCENDING]); $klosters = $this->klosterRepository->findAll(); if (!empty($klosters)) { $klosterArr = []; $klosterstandorte = []; $klosterorden = []; $standort_ordenArr = []; foreach ($klosters as $k => $kloster) { $sql_uid = $kloster->getUid(); $klosterArr[$k]['sql_uid'] = $sql_uid; $kloster_id = $kloster->getKloster_id(); $klosterArr[$k]['kloster_id'] = $kloster_id; $klosterName = $kloster->getKloster(); $klosterArr[$k]['kloster'] = $klosterName; $patrozinium = $kloster->getPatrozinium(); $klosterArr[$k]['patrozinium'] = $patrozinium; $bemerkung_kloster = $kloster->getBemerkung(); $klosterArr[$k]['bemerkung_kloster'] = $bemerkung_kloster; $text_gs_band = $kloster->getText_gs_band(); $klosterArr[$k]['text_gs_band'] = $text_gs_band; $band_seite = $kloster->getBand_seite(); $klosterArr[$k]['band_seite'] = $band_seite; /** @var \Subugoe\GermaniaSacra\Domain\Model\Bearbeitungsstatus $bearbeitungsstatusObj */ $bearbeitungsstatusObj = $kloster->getBearbeitungsstatus(); $bearbeitungsstatus = $bearbeitungsstatusObj->getName(); $klosterArr[$k]['bearbeitungsstatus'] = $bearbeitungsstatus; /** @var \Subugoe\GermaniaSacra\Domain\Model\Personallistenstatus $personallistenstatusObj */ $personallistenstatusObj = $kloster->getPersonallistenstatus(); $personallistenstatus = $personallistenstatusObj->getName(); $klosterArr[$k]['personallistenstatus'] = $personallistenstatus; $klosterArr[$k]['typ'] = 'kloster'; $klosterArr[$k]['id'] = (string) $kloster->getKloster_id(); /** @var \Subugoe\GermaniaSacra\Domain\Model\Band $band */ $band = $kloster->getBand(); if (is_object($band) && $band->getNummer() !== 'keine Angabe') { $klosterArr[$k]['band_id'] = $band->getUid(); $klosterArr[$k]['band_nummer'] = $band->getNummer(); $klosterArr[$k]['band_titel'] = $band->getTitel(); $klosterArr[$k]['band_kurztitel'] = $band->getKurztitel(); $klosterArr[$k]['band_sortierung'] = $band->getSortierung(); $bandSortName = str_pad($band->getSortierung(), 4, "0", STR_PAD_LEFT) . '####' . $band->getNummer() . ' ' . $band->getKurztitel(); $klosterArr[$k]['band_facet'][] = $bandSortName; $klosterArr[$k]['band_facet'][] = 'hat_band'; $band_facet = $klosterArr[$k]['band_facet']; $bandHasUrls = $band->getBandHasUrls(); foreach ($bandHasUrls as $bandHasUrl) { /** @var \Subugoe\GermaniaSacra\Domain\Model\Url $urlObj */ $urlObj = $bandHasUrl->getUrl(); $bandUrl = $urlObj->getUrl(); $urlTypObj = $urlObj->getUrltyp(); $urlTyp = trim($urlTypObj->getName()); if ($urlTyp == "Handle") { $klosterArr[$k]['band_url'] = $bandUrl; } if ($urlTyp == "Findpage") { $klosterArr[$k]['band_url_seitengenau'] = $bandUrl; } } } $klosterHasUrls = $kloster->getKlosterHasUrls(); if (isset($klosterHasUrls) && !empty($klosterHasUrls)) { foreach ($klosterHasUrls as $klosterHasUrl) { /** @var \Subugoe\GermaniaSacra\Domain\Model\Url $urlObj */ $urlObj = $klosterHasUrl->getUrl(); $klosterUrl = $urlObj->getUrl(); if ($klosterUrl !== 'keine Angabe') { $urlTypObj = $urlObj->getUrltyp(); $urlTyp = $urlTypObj->getName(); if ($urlTyp == "Wikipedia") { $url_wikipedia = rawurldecode($klosterUrl); $klosterArr[$k]['url_wikipedia'] = $url_wikipedia; } elseif ($urlTyp == "Quelle") { $url_quelle = rawurldecode($klosterUrl); $klosterArr[$k]['url_quelle'] = $url_quelle; $url_quelle_titel = $urlObj->getBemerkung(); $klosterArr[$k]['url_quelle_titel'] = $url_quelle_titel; } else { $url = rawurldecode($klosterUrl); $klosterArr[$k]['url'] = $url; $url_bemerkung = $urlObj->getBemerkung(); $klosterArr[$k]['url_bemerkung'] = $url_bemerkung; $klosterArr[$k]['url_typ'] = $urlTyp; $url_relation = 'kloster'; $klosterArr[$k]['url_relation'] = $url_relation; } if ($urlTyp == "GND") { $components = explode("/gnd/", $klosterUrl); if (count($components) > 1) { $gnd = $components[1]; $klosterArr[$k]['gnd'] = $gnd; } } } } } $klosterHasLiteraturs = $kloster->getKlosterHasLiteraturs(); $citekey = []; $beschreibung = []; foreach ($klosterHasLiteraturs as $l => $klosterHasLiteratur) { $literaturObj = $klosterHasLiteratur->getLiteratur(); $ck = $literaturObj->getCitekey(); if (!empty($ck)) { $citekey[] = $ck; $klosterArr[$k]['literatur_citekey'][$l] = $ck; } else { $klosterArr[$k]['literatur_citekey'][$l] = ''; } $be = $literaturObj->getBeschreibung(); if (!empty($be)) { $beschreibung[] = $be; $klosterArr[$k]['literatur_beschreibung'][$l] = $be; } else { $klosterArr[$k]['literatur_beschreibung'][$l] = ''; } } $standortuidArr = []; $koordinatenArr = []; $koordinaten_institutionengenauArr = []; $gruenderArr = []; $von_vonArr = []; $von_bisArr = []; $von_verbalArr = []; $vonArr = []; $bis_vonArr = []; $bis_bisArr = []; $bis_verbalArr = []; $bisArr = []; $ortArr = []; $ortuidArr = []; $wuestungArr = []; $landArr = []; $ist_in_deutschlandArr = []; $bistumuidArr = []; $bistumArr = []; $kirchenprovinzArr = []; $ist_erzbistumArr = []; $bemerkung_standortArr = []; $kloster_standort_jahr50 = []; $start = self::MIN_YEAR; $klosterstandorts = $kloster->getKlosterstandorts(); foreach ($klosterstandorts as $i => $klosterstandort) { /** @var /** @var \Subugoe\GermaniaSacra\Domain\Model\Ort $ortObj */ $ortObj = $klosterstandort->getOrt(); if (is_object($ortObj)) { $standortuid = $klosterstandort->getUid(); if (!empty($standortuid)) { $standortuidArr[] = $standortuid; $klosterstandorte[$k][$i]['id'] = 'kloster-standort-' . $standortuid; } $klosterstandorte[$k][$i]['sql_uid'] = $kloster_id; $klosterstandorte[$k][$i]['kloster_id'] = $kloster_id; $klosterstandorte[$k][$i]['typ'] = 'kloster-standort'; $breite = $klosterstandort->getBreite(); $laenge = $klosterstandort->getLaenge(); if (!empty($breite) && !empty($laenge)) { $koordinatenArr[] = $breite . "," . $laenge; $koordinaten_institutionengenauArr[] = true; $klosterstandorte[$k][$i]['koordinaten_institutionengenau'] = true; } else { $ortObj = $klosterstandort->getOrt(); $breite = $ortObj->getBreite(); $laenge = $ortObj->getLaenge(); $koordinatenArr[] = $breite . "," . $laenge; $koordinaten_institutionengenauArr[] = false; $klosterstandorte[$k][$i]['koordinaten_institutionengenau'] = false; } $klosterstandorte[$k][$i]['koordinaten'] = $breite . "," . $laenge; $bemerkung_standort = $klosterstandort->getBemerkung_standort(); if (!empty($bemerkung_standort)) { $bemerkung_standortArr[] = $bemerkung_standort; $klosterstandorte[$k][$i]['bemerkung_standort'] = $bemerkung_standort; } else { $bemerkung_standortArr[] = ''; $klosterstandorte[$k][$i]['bemerkung_standort'] = ''; } unset($bemerkung_standort); $gruender = $klosterstandort->getGruender(); if (!empty($gruender)) { $gruenderArr[] = $gruender; $klosterstandorte[$k][$i]['gruender'] = $gruender; } else { $klosterstandorte[$k][$i]['gruender'] = ''; } $von_von = $klosterstandort->getVon_von(); if (!empty($von_von)) { $von_vonArr[] = $von_von; } $von_bis = $klosterstandort->getVon_bis(); if (!empty($von_bis)) { $von_bisArr[] = $von_bis; } else { if (!empty($von_von)) { $von_bisArr[] = $von_von; $von_bis = $von_von; } else { $von_vonArr[] = self::DISTANT_PAST; $von_von = self::DISTANT_PAST; $von_bisArr[] = self::DISTANT_PAST; $von_bis = self::DISTANT_PAST; } } $von_verbal = $klosterstandort->getVon_verbal(); if (!empty($von_verbal)) { $von_verbalArr[] = $von_verbal; } else { if (!empty($von_von)) { if ($von_von != self::DISTANT_PAST && $von_von != self::DISTANT_FUTURE) { $von_verbalArr[] = (string) $von_von; $von_verbal = (string) $von_von; } else { $von_verbalArr[] = ''; $von_verbal = ''; } } else { $von_verbalArr[] = ''; $von_verbal = ''; } } $vonArr[] = intval($von_von); $klosterstandorte[$k][$i]['standort_von_von'] = $von_von; $klosterstandorte[$k][$i]['standort_von_bis'] = $von_bis; if (!empty($von_verbal)) { $klosterstandorte[$k][$i]['standort_von_verbal'] = $von_verbal; } else { $klosterstandorte[$k][$i]['standort_von_verbal'] = ''; } $bis_von = $klosterstandort->getBis_von(); $bis_bis = $klosterstandort->getBis_bis(); if (!empty($bis_von)) { $bis_vonArr[] = $bis_von; if (empty($bis_bis)) { $bis_bis = $bis_von; $bis_bisArr[] = $bis_von; } else { $bis_bisArr[] = $bis_bis; } } else { if (!empty($bis_bis)) { $bis_vonArr[] = $von_von; $bis_von = $von_von; } else { $bis_vonArr[] = self::DISTANT_PAST; $bis_bisArr[] = self::DISTANT_FUTURE; $bis_von = self::DISTANT_PAST; $bis_bis = self::DISTANT_FUTURE; } } $bis_verbal = $klosterstandort->getBis_verbal(); if (!empty($bis_verbal)) { $bis_verbalArr[] = $bis_verbal; } else { if (!empty($bis_von)) { if ($bis_von != self::DISTANT_PAST && $bis_von != self::DISTANT_FUTURE) { if ($von_von != $bis_von) { $bis_verbalArr[] = (string) $bis_von; $bis_verbal = (string) $bis_von; } } else { $bis_verbalArr[] = ''; $bis_verbal = ''; } } else { $bis_verbalArr[] = ''; $bis_verbal = ''; } } $bisArr[] = intval($bis_bis); $klosterstandorte[$k][$i]['standort_bis_von'] = $bis_von; $klosterstandorte[$k][$i]['standort_bis_bis'] = $bis_bis; if (!empty($bis_verbal)) { $klosterstandorte[$k][$i]['standort_bis_verbal'] = $bis_verbal; } else { $klosterstandorte[$k][$i]['standort_bis_verbal'] = ''; } $ortObj = $klosterstandort->getOrt(); if (is_object($ortObj)) { $klosterstandorte[$k][$i]['ort'] = $ortObj->getOrt(); $klosterstandorte[$k][$i]['wuestung'] = $ortObj->getWuestung(); $ort = $ortObj->getOrt(); if (!empty($ort)) { $ortArr[] = $ort; $klosterstandorte[$k][$i]['ort'] = $ort; } $ortuid = $ortObj->getUid(); if (!empty($ortuid)) { $ortuidArr[] = $ortuid; $klosterstandorte[$k][$i]['ort_uid'] = $ortuid; } $wuestung = $ortObj->getWuestung(); if ($wuestung) { $wuestungArr[] = $wuestung; $klosterstandorte[$k][$i]['wuestung'] = $wuestung; } else { $wuestungArr[] = ''; $klosterstandorte[$k][$i]['wuestung'] = ''; } $landObj = $ortObj->getLand(); if (is_object($landObj)) { $land = $landObj->getLand(); if (!empty($land)) { $landArr[] = $land; $klosterstandorte[$k][$i]['land'] = $land; } $ist_in_deutschland = $landObj->getIst_in_deutschland(); if (!empty($ist_in_deutschland)) { $ist_in_deutschlandArr[] = $ist_in_deutschland; $klosterstandorte[$k][$i]['ist_in_deutschland'] = $ist_in_deutschland; } $ortGeonameArr = []; $ortUrls = $ortObj->getOrtHasUrls(); foreach ($ortUrls as $ortUrl) { $ortUrlObj = $ortUrl->getUrl(); $ortUrl = $ortUrlObj->getUrl(); $ortUrlTypObj = $ortUrlObj->getUrltyp(); $ortUrlTyp = $ortUrlTypObj->getName(); if ($ortUrlTyp == "Geonames") { $geoname = explode('geonames.org/', $ortUrl)[1]; $ortGeonameArr[] = $geoname; $klosterstandorte[$k][$i]['geonames'] = $geoname; } } } $bistumObj = $ortObj->getBistum(); if (is_object($bistumObj) && $bistumObj->getBistum() !== 'keine Angabe') { $bistumuid = $bistumObj->getUid(); $bistumuidArr[] = $bistumuid; $klosterstandorte[$k][$i]['bistum_uid'] = $bistumuid; $bistum = $bistumObj->getBistum(); if (!empty($bistum)) { $bistumArr[] = $bistum; $klosterstandorte[$k][$i]['bistum'] = $bistum; } else { $bistumArr[] = ''; $klosterstandorte[$k][$i]['bistum'] = ''; } $kirchenprovinz = $bistumObj->getKirchenprovinz(); $kirchenprovinzArr[] = $kirchenprovinz; $klosterstandorte[$k][$i]['kirchenprovinz'] = $kirchenprovinz; $ist_erzbistum = $bistumObj->getIst_erzbistum(); if ($ist_erzbistum) { $ist_erzbistumArr[] = $ist_erzbistum; $klosterstandorte[$k][$i]['ist_erzbistum'] = $ist_erzbistum; } else { $ist_erzbistumArr[] = ''; $klosterstandorte[$k][$i]['ist_erzbistum'] = ''; } $bistumHasUrls = $bistumObj->getBistumHasUrls(); foreach ($bistumHasUrls as $bistumHasUrl) { $urlObj = $bistumHasUrl->getUrl(); $bistumUrl = $urlObj->getUrl(); $urlTypObj = $urlObj->getUrltyp(); $urlTyp = $urlTypObj->getName(); if ($urlTyp == "Wikipedia") { $klosterArr[$k]['bistum_wikipedia'] = rawurldecode($bistumUrl); $klosterstandorte[$k][$i]['bistum_wikipedia'] = rawurldecode($bistumUrl); } elseif ($urlTyp == "GND") { $components = explode("/gnd/", $bistumUrl); if (count($components) > 1) { $klosterArr[$k]['bistum_gnd'] = $components[1]; $klosterstandorte[$k][$i]['bistum_gnd'] = $components[1]; } } } } else { $bistumArr[] = ''; $klosterstandorte[$k][$i]['bistum'] = ''; $ist_erzbistumArr[] = ''; $klosterstandorte[$k][$i]['ist_erzbistum'] = ''; } } $klosterstandort_von = intval($klosterstandorte[$k][$i]['standort_von_von']); $klosterstandort_bis = intval($klosterstandorte[$k][$i]['standort_bis_bis']); $standort_jahr50 = []; $start = self::MIN_YEAR; while ($start < self::MAX_YEAR) { if ($klosterstandort_von < $start + self::YEAR_STEP && $start <= $klosterstandort_bis) { $standort_jahr50[$start] = true; $kloster_standort_jahr50[] = $start; } $start += self::YEAR_STEP; } if (is_array($standort_jahr50) && !empty($standort_jahr50)) { $klosterstandorte[$k][$i]['standort_jahr50'] = array_keys($standort_jahr50); $klosterstandorte[$k][$i]['jahr50'] = array_keys($standort_jahr50); } unset($standort_jahr50); } } $ordenuidArr = []; $ordenArr = []; $ordenbemerkungArr = []; $ordoArr = []; $klosterstatusArr = []; $ordenstypArr = []; $ordengraphikArr = []; $ordensymbolArr = []; $ko_von_vonArr = []; $ko_von_bisArr = []; $ko_von_verbalArr = []; $ko_bis_vonArr = []; $ko_bis_bisArr = []; $ko_bis_verbalArr = []; $ordenFacetArr = []; $kloster_orden_jahr50 = []; $start = self::MIN_YEAR; $klosterordens = $kloster->getKlosterordens(); foreach ($klosterordens as $i => $ko) { $ordenuid = $ko->getUid(); $orden = $ko->getOrden(); $bemerkung = $ko->getBemerkung(); $ordenUUID = $orden->getUUID(); $ordenObj = $this->ordenRepository->findByIdentifier($ordenUUID); $ordo = $ordenObj->getOrdo(); $ordenstyp = $ordenObj->getOrdenstyp(); $graphikdatei = explode('.png', $ordenObj->getGraphik()); $graphik = $graphikdatei[0]; $symbol = $ordenObj->getSymbol(); $klosterstatus = $ko->getKlosterstatus(); if (!empty($ordenuid)) { $ordenuidArr[] = $ordenuid; $klosterorden[$k][$i]['id'] = 'kloster-orden-' . $ordenuid; } if (!empty($orden)) { $ordenArr[] = $orden; $klosterorden[$k][$i]['orden'] = $orden; } if (!empty($bemerkung)) { $ordenbemerkungArr[] = $bemerkung; $klosterorden[$k][$i]['bemerkung_orden'] = $bemerkung; } if (!empty($ordo)) { $ordoArr[] = $ordo; $klosterorden[$k][$i]['orden_ordo'] = $ordo; } if (!empty($klosterstatus)) { $klosterstatusArr[] = $klosterstatus; $klosterorden[$k][$i]['kloster_status'] = $klosterstatus; } if (!empty($ordenstyp)) { $ordenstypArr[] = $ordenstyp; $klosterorden[$k][$i]['orden_typ'] = $ordenstyp; } if (!empty($graphik)) { $ordengraphikArr[] = $graphik; $klosterorden[$k][$i]['orden_graphik'] = $graphik; } if (!empty($symbol)) { $ordensymbolArr[] = $symbol; $klosterorden[$k][$i]['orden_symbol'] = $symbol; } $klosterorden[$k][$i]['kloster_id'] = $kloster_id; $klosterorden[$k][$i]['typ'] = 'kloster-orden'; $klosterorden[$k][$i]['sql_uid'] = $ordenuid; if (isset($orden) && $orden != 'evangelisches Kloster/Stift' && $orden != 'Reformiertes Stift (calvinistisch)') { $klosterorden[$k][$i]['orden_facet'] = $orden; $ordenFacetArr[] = $orden; } $ko_von_von = $ko->getVon_von(); if (!empty($ko_von_von)) { $ko_von_vonArr[] = $ko_von_von; } $ko_von_bis = $ko->getVon_bis(); if (!empty($ko_von_bis)) { $ko_von_bisArr[] = $ko_von_bis; } else { if (!empty($ko_von_von)) { $ko_von_bisArr[] = $ko_von_von; $ko_von_bis = $ko_von_von; } else { $ko_von_vonArr[] = self::DISTANT_PAST; $ko_von_von = self::DISTANT_PAST; $ko_von_bisArr[] = self::DISTANT_PAST; $ko_von_bis = self::DISTANT_PAST; } } $ko_von_verbal = $ko->getVon_verbal(); if (!empty($ko_von_verbal)) { $ko_von_verbalArr[] = $ko_von_verbal; } else { if (!empty($ko_von_von)) { if ($ko_von_von != self::DISTANT_PAST && $ko_von_von != self::DISTANT_FUTURE) { $ko_von_verbalArr[] = (string) $ko_von_von; $ko_von_verbal = (string) $ko_von_von; } else { $ko_von_verbalArr[] = ''; $ko_von_verbal = ''; } } else { $ko_von_verbalArr[] = ''; $ko_von_verbal = ''; } } $klosterorden[$k][$i]['orden_von_von'] = $ko_von_von; $klosterorden[$k][$i]['orden_von_bis'] = $ko_von_bis; if (!empty($ko_von_verbal)) { $klosterorden[$k][$i]['orden_von_verbal'] = $ko_von_verbal; } else { $klosterorden[$k][$i]['orden_von_verbal'] = ''; } $ko_bis_von = $ko->getBis_von(); $ko_bis_bis = $ko->getBis_bis(); if (!empty($ko_bis_von)) { $ko_bis_vonArr[] = $ko_bis_von; if (empty($ko_bis_bis)) { $ko_bis_bis = $ko_bis_von; $ko_bis_bisArr[] = $ko_bis_von; } else { $ko_bis_bisArr[] = $ko_bis_bis; } } else { if (!empty($ko_bis_bis)) { $ko_bis_vonArr[] = $ko_von_von; $ko_bis_von = $ko_von_von; } else { $ko_bis_vonArr[] = self::DISTANT_PAST; $ko_bis_bisArr[] = self::DISTANT_FUTURE; $ko_bis_von = self::DISTANT_PAST; $ko_bis_bis = self::DISTANT_FUTURE; } } $ko_bis_verbal = $ko->getBis_verbal(); if (!empty($ko_bis_verbal)) { $ko_bis_verbalArr[] = $ko_bis_verbal; } else { if (!empty($ko_bis_von)) { if ($ko_bis_von != self::DISTANT_PAST && $ko_bis_von != self::DISTANT_FUTURE) { $ko_bis_verbalArr[] = (string) $ko_bis_von; $ko_bis_verbal = (string) $ko_bis_von; } else { $ko_bis_verbalArr[] = ''; $ko_bis_verbal = ''; } } else { $ko_bis_verbalArr[] = ''; $ko_bis_verbal = ''; } } $klosterorden[$k][$i]['orden_bis_von'] = $ko_bis_von; $klosterorden[$k][$i]['orden_bis_bis'] = $ko_bis_bis; if (!empty($ko_bis_verbal)) { $klosterorden[$k][$i]['orden_bis_verbal'] = $ko_bis_verbal; } else { $klosterorden[$k][$i]['orden_bis_verbal'] = ''; } $ordengndArr = []; $ordenwikipediaArr = []; $ordenHasUrls = $ordenObj->getOrdenHasUrls(); foreach ($ordenHasUrls as $ordenHasUrl) { $urlObj = $ordenHasUrl->getUrl(); $ordenUrl = $urlObj->getUrl(); $urlTypObj = $urlObj->getUrltyp(); $urlTyp = $urlTypObj->getName(); if ($urlTyp == "Wikipedia") { $ordenwikipediaArr[] = rawurldecode($ordenUrl); $klosterorden[$k][$i]['orden_wikipedia'] = rawurldecode($ordenUrl); } elseif ($urlTyp == "GND") { $components = explode("/gnd/", $ordenUrl); if (count($components) > 1) { $ordengndArr[] = $components[1]; $klosterorden[$k][$i]['orden_gnd'] = $components[1]; } } } $klosterorden_von = intval($klosterorden[$k][$i]['orden_von_von']); $klosterorden_bis = intval($klosterorden[$k][$i]['orden_bis_bis']); $orden_jahr50 = []; $start = self::MIN_YEAR; while ($start < self::MAX_YEAR) { if ($klosterorden_von < $start + self::YEAR_STEP && $start <= $klosterorden_bis) { $orden_jahr50[$start] = true; $kloster_orden_jahr50[] = $start; } $start += self::YEAR_STEP; } if (is_array($orden_jahr50) && !empty($orden_jahr50)) { $klosterorden[$k][$i]['orden_jahr50'] = array_keys($orden_jahr50); $klosterorden[$k][$i]['jahr50'] = array_keys($orden_jahr50); } unset($orden_jahr50); } if (array_key_exists($sql_uid, $this->personen)) { $personenArr = $this->personen[$sql_uid]; $person_nameArr = []; $person_namensalternativenArr = []; $person_gsoArr = []; $person_gndArr = []; $person_bezeichnungArr = []; $person_bezeichnung_pluralArr = []; $person_anmerkungArr = []; $person_von_verbalArr = []; $person_vonArr = []; $person_bis_verbalArr = []; $person_bisArr = []; $person_office_idArr = []; foreach ($personenArr as $value) { $person_nameArr[] = (string) $value['person_name']; $person_namensalternativenArr[] = (string) $value['person_namensalternativen']; $person_gsoArr[] = (string) $value['person_gso']; $person_gndArr[] = (string) $value['person_gnd']; $person_bezeichnungArr[] = (string) $value['person_bezeichnung']; $person_bezeichnung_pluralArr[] = (string) $value['person_bezeichnung_plural']; $person_anmerkungArr[] = (string) $value['person_anmerkung']; $person_von_verbalArr[] = (string) $value['person_von_verbal']; $person_vonArr[] = intval($value['person_von']); $person_bis_verbalArr[] = (string) $value['person_bis_verbal']; $person_bisArr[] = intval($value['person_bis']); $person_office_idArr[] = (string) $value['person_office_id']; } } $standortOrdenCount = 1; if (isset($klosterorden[$k])) { foreach ($klosterorden[$k] as $m => $myorden) { if (isset($klosterstandorte[$k])) { foreach ($klosterstandorte[$k] as $n => $mystandort) { if ($myorden['orden_von_von'] <= $mystandort['standort_bis_bis'] && $mystandort['standort_von_von'] <= $myorden['orden_bis_bis']) { $standort_ordenArr[$k][$m][$n]['kloster_id'] = (string) $sql_uid; $standort_ordenArr[$k][$m][$n]['id'] = 'standort-orden-' . (string) $sql_uid . '-' . (string) $standortOrdenCount; $standort_ordenArr[$k][$m][$n]['sql_uid'] = (string) $sql_uid; $standort_ordenArr[$k][$m][$n]['typ'] = 'standort-orden'; $standort_ordenArr[$k][$m][$n]['patrozinium'] = $patrozinium; $standort_ordenArr[$k][$m][$n]['kloster'] = $kloster; $standort_ordenArr[$k][$m][$n]['bemerkung_kloster'] = $bemerkung_kloster; $standort_ordenArr[$k][$m][$n]['text_gs_band'] = $text_gs_band; $standort_ordenArr[$k][$m][$n]['band_seite'] = $band_seite; if (isset($band_facet) && !empty($band_facet)) { $standort_ordenArr[$k][$m][$n]['band_facet'] = $band_facet; } $standort_ordenArr[$k][$m][$n]['bearbeitungsstatus'] = $bearbeitungsstatus; $standort_ordenArr[$k][$m][$n]['personallistenstatus'] = $personallistenstatus; $standort_ordenArr[$k][$m][$n]['koordinaten'] = $mystandort['koordinaten']; $standort_ordenArr[$k][$m][$n]['koordinaten_institutionengenau'] = $mystandort['koordinaten_institutionengenau']; $standort_ordenArr[$k][$m][$n]['standort_von_von'] = $mystandort['standort_von_von']; $standort_ordenArr[$k][$m][$n]['standort_von_bis'] = $mystandort['standort_von_bis']; if (!empty($mystandort['standort_von_verbal'])) { $standort_ordenArr[$k][$m][$n]['standort_von_verbal'] = $mystandort['standort_von_verbal']; } else { $standort_ordenArr[$k][$m][$n]['standort_von_verbal'] = ''; } $standort_ordenArr[$k][$m][$n]['standort_bis_von'] = $mystandort['standort_bis_von']; $standort_ordenArr[$k][$m][$n]['standort_bis_bis'] = $mystandort['standort_bis_bis']; if (!empty($mystandort['standort_bis_verbal'])) { $standort_ordenArr[$k][$m][$n]['standort_bis_verbal'] = $mystandort['standort_bis_verbal']; } else { $standort_ordenArr[$k][$m][$n]['standort_bis_verbal'] = ''; } $standort_ordenArr[$k][$m][$n]['standort_uid'] = explode('-', $mystandort['id'])[2]; if (!empty($mystandort['gruender'])) { $standort_ordenArr[$k][$m][$n]['gruender'] = $mystandort['gruender']; } else { $standort_ordenArr[$k][$m][$n]['gruender'] = ''; } if (!empty($mystandort['bemerkung_standort'])) { $standort_ordenArr[$k][$m][$n]['bemerkung_standort'] = $mystandort['bemerkung_standort']; } else { $standort_ordenArr[$k][$m][$n]['bemerkung_standort'] = ''; } if (!empty($mystandort['ort'])) { $standort_ordenArr[$k][$m][$n]['ort'] = $mystandort['ort']; } if (!empty($mystandort['land'])) { $standort_ordenArr[$k][$m][$n]['land'] = $mystandort['land']; } if (!empty($mystandort['ort_uid'])) { $standort_ordenArr[$k][$m][$n]['ort_uid'] = $mystandort['ort_uid']; } if (!empty($mystandort['ist_in_deutschland'])) { $standort_ordenArr[$k][$m][$n]['ist_in_deutschland'] = $mystandort['ist_in_deutschland']; } if (!empty($mystandort['geonames'])) { $standort_ordenArr[$k][$m][$n]['geonames'] = $mystandort['geonames']; } if (!empty($mystandort['wuestung'])) { $standort_ordenArr[$k][$m][$n]['wuestung'] = $mystandort['wuestung']; } if (!empty($mystandort['bistum'])) { $standort_ordenArr[$k][$m][$n]['bistum'] = $mystandort['bistum']; } if (!empty($mystandort['ist_erzbistum'])) { $standort_ordenArr[$k][$m][$n]['ist_erzbistum'] = $mystandort['ist_erzbistum']; } else { $standort_ordenArr[$k][$m][$n]['ist_erzbistum'] = ''; } if (!empty($mystandort['bistum_gnd'])) { $standort_ordenArr[$k][$m][$n]['bistum_gnd'] = $mystandort['bistum_gnd']; } if (!empty($mystandort['bistum_wikipedia'])) { $standort_ordenArr[$k][$m][$n]['bistum_wikipedia'] = $mystandort['bistum_wikipedia']; } if (!empty($mystandort['bistum_uid'])) { $standort_ordenArr[$k][$m][$n]['bistum_uid'] = $mystandort['bistum_uid']; } if (!empty($mystandort['kirchenprovinz'])) { $standort_ordenArr[$k][$m][$n]['kirchenprovinz'] = $mystandort['kirchenprovinz']; } $standort_ordenArr[$k][$m][$n]['orden'] = $myorden['orden']; if (!empty($myorden['orden_ordo'])) { $standort_ordenArr[$k][$m][$n]['orden_ordo'] = $myorden['orden_ordo']; } $standort_ordenArr[$k][$m][$n]['orden_typ'] = $myorden['orden_typ']; if (isset($myorden['orden_facet']) && !empty($myorden['orden_facet'])) { $standort_ordenArr[$k][$m][$n]['orden_facet'] = $myorden['orden_facet']; } $standort_ordenArr[$k][$m][$n]['orden_von_von'] = $myorden['orden_von_von']; $standort_ordenArr[$k][$m][$n]['orden_von_bis'] = $myorden['orden_von_bis']; if (!empty($myorden['orden_von_verbal'])) { $standort_ordenArr[$k][$m][$n]['orden_von_verbal'] = $myorden['orden_von_verbal']; } else { $standort_ordenArr[$k][$m][$n]['orden_von_verbal'] = ''; } $standort_ordenArr[$k][$m][$n]['orden_bis_von'] = $myorden['orden_bis_von']; $standort_ordenArr[$k][$m][$n]['orden_bis_bis'] = $myorden['orden_bis_bis']; if (!empty($myorden['orden_bis_verbal'])) { $standort_ordenArr[$k][$m][$n]['orden_bis_verbal'] = $myorden['orden_bis_verbal']; } else { $standort_ordenArr[$k][$m][$n]['orden_bis_verbal'] = ''; } $standort_ordenArr[$k][$m][$n]['kloster_orden_uid'] = explode('-', $myorden['id'])[2]; if (!empty($myorden['orden_gnd'])) { $standort_ordenArr[$k][$m][$n]['orden_gnd'] = $myorden['orden_gnd']; } if (!empty($myorden['orden_wikipedia'])) { $standort_ordenArr[$k][$m][$n]['orden_wikipedia'] = $myorden['orden_wikipedia']; } if (!empty($myorden['orden_graphik'])) { $standort_ordenArr[$k][$m][$n]['orden_graphik'] = $myorden['orden_graphik']; } if (!empty($myorden['orden_symbol'])) { $standort_ordenArr[$k][$m][$n]['orden_symbol'] = $myorden['orden_symbol']; } if (!empty($myorden['kloster_status'])) { $standort_ordenArr[$k][$m][$n]['kloster_status'] = $myorden['kloster_status']; } if (!empty($myorden['bemerkung_orden'])) { $standort_ordenArr[$k][$m][$n]['bemerkung_orden'] = $myorden['bemerkung_orden']; } if (!empty($klosterArr[$k]['literatur_citekey'])) { $standort_ordenArr[$k][$m][$n]['literatur_citekey'] = $klosterArr[$k]['literatur_citekey']; } else { $standort_ordenArr[$k][$m][$n]['literatur_citekey'] = ''; } if (!empty($klosterArr[$k]['literatur_beschreibung'])) { $standort_ordenArr[$k][$m][$n]['literatur_beschreibung'] = $klosterArr[$k]['literatur_beschreibung']; } else { $standort_ordenArr[$k][$m][$n]['literatur_beschreibung'] = ''; } if (!empty($url_wikipedia)) { $standort_ordenArr[$k][$m][$n]['url_wikipedia'] = $url_wikipedia; } if (!empty($url)) { $standort_ordenArr[$k][$m][$n]['url'] = $url; $standort_ordenArr[$k][$m][$n]['url_typ'] = $urlTyp; $standort_ordenArr[$k][$m][$n]['url_bemerkung'] = $url_bemerkung; $standort_ordenArr[$k][$m][$n]['url_relation'] = $url_relation; } if (!empty($url_quelle)) { $standort_ordenArr[$k][$m][$n]['url_quelle'] = $url_quelle; $standort_ordenArr[$k][$m][$n]['url_quelle_titel'] = $url_quelle_titel; } if (!empty($gnd)) { $standort_ordenArr[$k][$m][$n]['gnd'] = $gnd; } $standort_ordenArr[$k][$m][$n]['orden_standort_von'] = max($myorden['orden_von_von'], $mystandort['standort_von_von']); $standort_ordenArr[$k][$m][$n]['orden_standort_bis'] = min($myorden['orden_bis_bis'], $mystandort['standort_bis_bis']); $orden_standort_jahr50 = []; $start = self::MIN_YEAR; while ($start < self::MAX_YEAR) { if ($standort_ordenArr[$k][$m][$n]['orden_standort_von'] < $start + self::YEAR_STEP && $start <= $standort_ordenArr[$k][$m][$n]['orden_standort_bis']) { $orden_standort_jahr50[$start] = true; } $start += self::YEAR_STEP; } if (is_array($orden_standort_jahr50) && !empty($orden_standort_jahr50)) { $standort_ordenArr[$k][$m][$n]['orden_standort_jahr50'] = array_keys($orden_standort_jahr50); } unset($orden_standort_jahr50); $orden_jahr50 = []; $start = self::MIN_YEAR; while ($start < self::MAX_YEAR) { if ($myorden['orden_von_von'] < $start + self::YEAR_STEP && $start <= $myorden['orden_bis_bis']) { $orden_jahr50[$start] = true; } $start += self::YEAR_STEP; } $standort_ordenArr[$k][$m][$n]['orden_jahr50'] = array_keys($orden_jahr50); $standort_jahr50 = []; $start = self::MIN_YEAR; while ($start < self::MAX_YEAR) { if ($mystandort['standort_von_von'] < $start + self::YEAR_STEP && $start <= $mystandort['standort_bis_bis']) { $standort_jahr50[$start] = true; } $start += self::YEAR_STEP; } if (is_array($standort_jahr50) && !empty($standort_jahr50)) { $standort_ordenArr[$k][$m][$n]['standort_jahr50'] = array_keys($standort_jahr50); } $standort_ordenArr[$k][$m][$n]['jahr50'] = array_merge(array_keys($orden_jahr50), array_keys($standort_jahr50)); unset($orden_jahr50); unset($standort_jahr50); $standortOrdenCount++; if (isset($band_facet)) { unset($band_facet); } } } } } } if (isset($person_nameArr) && !empty($person_nameArr)) { $klosterArr[$k]['person_name'] = $person_nameArr; } unset($person_nameArr); if (isset($person_namensalternativenArr) && !empty($person_namensalternativenArr)) { $klosterArr[$k]['person_namensalternativen'] = $person_namensalternativenArr; } unset($person_namensalternativenArr); if (isset($person_gsoArr) && !empty($person_gsoArr)) { $klosterArr[$k]['person_gso'] = $person_gsoArr; } unset($person_gsoArr); if (isset($person_gndArr) && !empty($person_gndArr)) { $klosterArr[$k]['person_gnd'] = $person_gndArr; } unset($person_gndArr); if (isset($person_bezeichnungArr) && !empty($person_bezeichnungArr)) { $klosterArr[$k]['person_bezeichnung'] = $person_bezeichnungArr; } unset($person_bezeichnungArr); if (isset($person_bezeichnung_pluralArr) && !empty($person_bezeichnung_pluralArr)) { $klosterArr[$k]['person_bezeichnung_plural'] = $person_bezeichnung_pluralArr; } unset($person_bezeichnung_pluralArr); if (isset($person_anmerkungArr) && !empty($person_anmerkungArr)) { $klosterArr[$k]['person_anmerkung'] = $person_anmerkungArr; } unset($person_anmerkungArr); if (isset($person_von_verbalArr) && !empty($person_von_verbalArr)) { $klosterArr[$k]['person_von_verbal'] = $person_von_verbalArr; } unset($person_von_verbalArr); if (isset($person_vonArr) && !empty($person_vonArr)) { $klosterArr[$k]['person_von'] = $person_vonArr; } unset($person_vonArr); if (isset($person_bis_verbalArr) && !empty($person_bis_verbalArr)) { $klosterArr[$k]['person_bis_verbal'] = $person_bis_verbalArr; } unset($person_bis_verbalArr); if (isset($person_bisArr) && !empty($person_bisArr)) { $klosterArr[$k]['person_bis'] = $person_bisArr; } unset($person_bisArr); if (isset($person_office_idArr) && !empty($person_office_idArr)) { $klosterArr[$k]['person_office_id'] = $person_office_idArr; } unset($person_office_idArr); if (isset($standortuidArr) && !empty($standortuidArr)) { $klosterArr[$k]['standort_uid'] = $standortuidArr; } if (isset($koordinatenArr) && !empty($koordinatenArr)) { $klosterArr[$k]['koordinaten'] = $koordinatenArr; } if (isset($koordinaten_institutionengenauArr) && !empty($koordinaten_institutionengenauArr)) { $klosterArr[$k]['koordinaten_institutionengenau'] = $koordinaten_institutionengenauArr; } if (isset($gruenderArr) && !empty($gruenderArr)) { $klosterArr[$k]['gruender'] = $gruenderArr; } else { $klosterArr[$k]['gruender'] = ''; } if (isset($von_vonArr) && !empty($von_vonArr)) { $klosterArr[$k]['standort_von_von'] = $von_vonArr; } if (isset($von_bisArr) && !empty($von_bisArr)) { $klosterArr[$k]['standort_von_bis'] = $von_bisArr; } if (isset($von_verbalArr) && !empty($von_verbalArr)) { $klosterArr[$k]['standort_von_verbal'] = $von_verbalArr; } else { $klosterArr[$k]['standort_von_verbal'] = ''; } if (isset($vonArr) && !empty($vonArr)) { $klosterArr[$k]['von'] = min($vonArr); } if (isset($bis_vonArr) && !empty($bis_vonArr)) { $klosterArr[$k]['standort_bis_von'] = $bis_vonArr; } if (isset($bis_bisArr) && !empty($bis_bisArr)) { $klosterArr[$k]['standort_bis_bis'] = $bis_bisArr; } if (isset($bis_verbalArr) && !empty($bis_verbalArr)) { $klosterArr[$k]['standort_bis_verbal'] = $bis_verbalArr; } else { $klosterArr[$k]['standort_bis_verbal'] = ''; } if (isset($bemerkung_standortArr) && !empty($bemerkung_standortArr)) { $klosterArr[$k]['bemerkung_standort'] = $bemerkung_standortArr; } else { $klosterArr[$k]['bemerkung_standort'] = ''; } if (isset($bisArr) && !empty($bisArr)) { $klosterArr[$k]['bis'] = min($bisArr); } if (isset($ortArr) && !empty($ortArr)) { $klosterArr[$k]['ort'] = $ortArr; if (count($ortArr > 0)) { $klosterArr[$k]['ort_sort'] = $ortArr[0]; } } if (isset($ortuidArr) && !empty($ortuidArr)) { $klosterArr[$k]['ort_uid'] = $ortuidArr; } if (isset($wuestungArr) && !empty($wuestungArr)) { $klosterArr[$k]['wuestung'] = $wuestungArr; } else { $klosterArr[$k]['wuestung'] = ''; } if (isset($landArr) && !empty($landArr)) { $klosterArr[$k]['land'] = $landArr; } if (isset($ist_in_deutschlandArr) && !empty($ist_in_deutschlandArr)) { $klosterArr[$k]['ist_in_deutschland'] = $ist_in_deutschlandArr; } if (isset($ortGeonameArr) && !empty($ortGeonameArr)) { $klosterArr[$k]['geonames'] = $ortGeonameArr; } if (isset($bistumuidArr) && !empty($bistumuidArr)) { $klosterArr[$k]['bistum_uid'] = $bistumuidArr; } if (isset($bistumArr) && !empty($bistumArr)) { $klosterArr[$k]['bistum'] = $bistumArr; } else { $klosterArr[$k]['bistum'] = ''; } if (isset($kirchenprovinzArr) && !empty($kirchenprovinzArr)) { $klosterArr[$k]['kirchenprovinz'] = $kirchenprovinzArr; } if (isset($ist_erzbistumArr) && !empty($ist_erzbistumArr)) { $klosterArr[$k]['ist_erzbistum'] = $ist_erzbistumArr; } else { $klosterArr[$k]['ist_erzbistum'] = ''; } if (isset($ordenuidArr) && !empty($ordenuidArr)) { $klosterArr[$k]['kloster_orden_uid'] = $ordenuidArr; } if (isset($ordenArr) && !empty($ordenArr)) { $klosterArr[$k]['orden'] = $ordenArr; } if (isset($ordenbemerkungArr) && !empty($ordenbemerkungArr)) { $klosterArr[$k]['bemerkung_orden'] = $ordenbemerkungArr; } if (isset($ordoArr) && !empty($ordoArr)) { $klosterArr[$k]['orden_ordo'] = $ordoArr; } if (isset($klosterstatusArr) && !empty($klosterstatusArr)) { $klosterArr[$k]['kloster_status'] = $klosterstatusArr; } if (isset($ordenstypArr) && !empty($ordenstypArr)) { $klosterArr[$k]['orden_typ'] = $ordenstypArr; } if (isset($ordenstypArr) && !empty($ordenstypArr)) { $klosterArr[$k]['orden_facet'] = $ordenFacetArr; } if (isset($ko_von_vonArr) && !empty($ko_von_vonArr)) { $klosterArr[$k]['orden_von_von'] = $ko_von_vonArr; } if (isset($ko_von_bisArr) && !empty($ko_von_bisArr)) { $klosterArr[$k]['orden_von_bis'] = $ko_von_bisArr; } if (isset($ko_von_verbalArr) && !empty($ko_von_verbalArr)) { $klosterArr[$k]['orden_von_verbal'] = $ko_von_verbalArr; } else { $klosterArr[$k]['orden_von_verbal'] = ''; } if (isset($ko_bis_vonArr) && !empty($ko_bis_vonArr)) { $klosterArr[$k]['orden_bis_von'] = $ko_bis_vonArr; } if (isset($ko_bis_bisArr) && !empty($ko_bis_bisArr)) { $klosterArr[$k]['orden_bis_bis'] = $ko_bis_bisArr; } if (isset($ko_bis_verbalArr) && !empty($ko_bis_verbalArr)) { $klosterArr[$k]['orden_bis_verbal'] = $ko_bis_verbalArr; } else { $klosterArr[$k]['orden_bis_verbal'] = ''; } if (isset($ordengraphikArr) && !empty($ordengraphikArr)) { $klosterArr[$k]['orden_graphik'] = $ordengraphikArr; } if (isset($ordensymbolArr) && !empty($ordensymbolArr)) { $klosterArr[$k]['orden_symbol'] = $ordensymbolArr; } if (isset($ordengndArr) && !empty($ordengndArr)) { $klosterArr[$k]['orden_gnd'] = $ordengndArr; } if (isset($ordenwikipediaArr) && !empty($ordenwikipediaArr)) { $klosterArr[$k]['orden_wikipedia'] = $ordenwikipediaArr; } $klosterArr[$k]['standort_jahr50'] = $kloster_standort_jahr50; $klosterArr[$k]['orden_jahr50'] = $kloster_orden_jahr50; $kloster_jahr50 = array_merge($kloster_standort_jahr50, $kloster_orden_jahr50); $klosterArr[$k]['jahr50'] = $kloster_jahr50; } return [$klosterArr, $klosterstandorte, $klosterorden, $standort_ordenArr]; } else { $this->logger->log('Database seems to be empty.'); exit; } }
/** * Import Klosterorden table into the FLOW domain_model tabel subugoe_germaniasacra_domain_klosterorden_band * @return int */ public function importKlosterordenAction() { if ($this->logger) { $start = microtime(true); } /** @var \Doctrine\DBAL\Connection $sqlConnection */ $sqlConnection = $this->entityManager->getConnection(); $sql = 'SELECT * FROM Klosterorden ORDER BY ID_KlosterOrden ASC'; $klosterordens = $sqlConnection->fetchAll($sql); $klosterstatusArr = []; if (isset($klosterordens) and is_array($klosterordens)) { $nKlosterorden = 0; foreach ($klosterordens as $klosterorden) { $uid = $klosterorden['ID_KlosterOrden']; $kloster = $klosterorden['Klosternummer']; $orden = $klosterorden['Orden']; if (isset($kloster) && !empty($kloster) && (isset($orden) && !empty($orden))) { $klosterObject = $this->klosterRepository->findOneByUid($kloster); $ordenObject = $this->ordenRepository->findOneByUid($orden); if (is_object($klosterObject) && $klosterObject !== null && (is_object($ordenObject) && $ordenObject !== null)) { if (!isset($klosterorden['Klosterstatus']) || empty($klosterorden['Klosterstatus'])) { $klosterorden['Klosterstatus'] = "keine Angabe"; } $klosterstatus = $klosterorden['Klosterstatus']; if (!in_array($klosterstatus, $klosterstatusArr)) { array_push($klosterstatusArr, $klosterstatus); $klosterstatusObject = new Klosterstatus(); $klosterstatusObject->setStatus($klosterstatus); $this->klosterstatusRepository->add($klosterstatusObject); $this->persistenceManager->persistAll(); $klosterstatusUUID = $klosterstatusObject->getUUID(); $klosterstatusObject = $this->klosterstatusRepository->findByIdentifier($klosterstatusUUID); } else { $klosterstatusObject = $this->klosterstatusRepository->findOneByStatus($klosterstatus); } $von_von = $klosterorden['von_von']; $von_bis = $klosterorden['von_bis']; $von_verbal = $klosterorden['verbal_von']; $bis_von = $klosterorden['bis_von']; $bis_bis = $klosterorden['bis_bis']; $bis_verbal = $klosterorden['verbal_bis']; $bemerkung = $klosterorden['interne_Anmerkungen']; $klosterordenObject = new Klosterorden(); $klosterordenObject->setUid($uid); $klosterordenObject->setKloster($klosterObject); $klosterordenObject->setOrden($ordenObject); $klosterordenObject->setKlosterstatus($klosterstatusObject); $klosterordenObject->setVon_von($von_von); $klosterordenObject->setVon_bis($von_bis); $klosterordenObject->setVon_verbal($von_verbal); $klosterordenObject->setBis_von($bis_von); $klosterordenObject->setBis_bis($bis_bis); $klosterordenObject->setBis_verbal($bis_verbal); $klosterordenObject->setBemerkung($bemerkung); $this->klosterordenRepository->add($klosterordenObject); $this->persistenceManager->persistAll(); } $nKlosterorden++; } else { if ($klosterObject === null) { $this->importExportLogger->log('Entweder ist das Feld Klosternummer in Klosterordentabelle leer oder das Klosterobject in der Klostertabelle für das Kloster mit der Id = ' . $kloster . ' wurde nicht gefunden.', LOG_ERR); } if ($ordenObject === null) { $this->importExportLogger->log('Entweder ist das Feld Orden in Klosterordentabelle leer oder das Ordenobject in der Ordentabelle für den Orden mit der Id = ' . $orden . ' wurde nicht gefunden.', LOG_ERR); } } } if ($this->logger) { $end = microtime(true); $time = number_format($end - $start, 2); $this->logger->log('Klosterorden import completed in ' . round($time / 60, 2) . ' minutes.'); } return $nKlosterorden; } }
/** Update a Kloster entity **/ public function updateAction() { // Update Kloster if ($this->request->hasArgument('uUID')) { $uuid = $this->request->getArgument('uUID'); } if (empty($uuid)) { $this->throwStatus(400, 'Required uUID not provided', null); } $kloster = $this->klosterRepository->findByIdentifier($uuid); if (!is_object($kloster)) { $this->throwStatus(400, 'Entity Kloster not available', null); } $bearbeitungsstatus_uuid = $this->request->getArgument('bearbeitungsstatus'); $bearbeitungsstatus = $this->bearbeitungsstatusRepository->findByIdentifier($bearbeitungsstatus_uuid); $role = array_keys($this->securityContext->getAccount()->getRoles())[0]; if (trim($role) == 'Flow.Login:Hiwi') { if (is_object($bearbeitungsstatus)) { $bearbeitungsstatusName = $bearbeitungsstatus->getName(); } if (isset($bearbeitungsstatusName) && !empty($bearbeitungsstatusName)) { if (trim($bearbeitungsstatusName) == 'Online') { $this->throwStatus(400, 'You are not allowed to set a Kloster entry online', null); } } } $kloster->setKloster($this->request->getArgument('kloster_name')); $kloster->setPatrozinium($this->request->getArgument('patrozinium')); $kloster->setBemerkung($this->request->getArgument('bemerkung')); $kloster->setBand_seite($this->request->getArgument('band_seite')); $kloster->setText_gs_band($this->request->getArgument('text_gs_band')); $kloster->setBearbeitungsstand($this->request->getArgument('bearbeitungsstand')); $kloster->setBearbeitungsstatus($bearbeitungsstatus); $bearbeiter = $this->bearbeiterObj; $kloster->setBearbeiter($bearbeiter); if ($this->request->hasArgument('band')) { $band_uuid = $this->request->getArgument('band'); $band = $this->bandRepository->findByIdentifier($band_uuid); $kloster->setBand($band); } $this->klosterRepository->update($kloster); // Update Klosterstandort if ($this->request->hasArgument('ort')) { $ortArr = $this->request->getArgument('ort'); } if ($this->request->hasArgument('bistum')) { $bistumArr = $this->request->getArgument('bistum'); } $gruenderArr = $this->request->getArgument('gruender'); $breiteArr = $this->request->getArgument('breite'); $laengeArr = $this->request->getArgument('laenge'); $bemerkung_standortArr = $this->request->getArgument('bemerkung_standort'); $bemerkungArr = $this->request->getArgument('standort_interne_bemerkung'); $von_vonArr = $this->request->getArgument('von_von'); $von_bisArr = $this->request->getArgument('von_bis'); $von_verbalArr = $this->request->getArgument('von_verbal'); $bis_vonArr = $this->request->getArgument('bis_von'); $bis_bisArr = $this->request->getArgument('bis_bis'); $bis_verbalArr = $this->request->getArgument('bis_verbal'); if ($this->request->hasArgument('wuestung')) { $wuestungArr = $this->request->getArgument('wuestung'); } $klosterstandortNumber = count($ortArr); $klosterstandortArr = []; for ($i = 0; $i < $klosterstandortNumber; $i++) { $klosterstandortArr[$i]['kloster'] = $uuid; if (!empty($ortArr[$i])) { $klosterstandortArr[$i]['ort'] = $ortArr[$i]; } if (!empty($bistumArr[$i])) { $klosterstandortArr[$i]['bistum'] = $bistumArr[$i]; } $klosterstandortArr[$i]['gruender'] = $gruenderArr[$i]; $klosterstandortArr[$i]['breite'] = $breiteArr[$i]; $klosterstandortArr[$i]['laenge'] = $laengeArr[$i]; $klosterstandortArr[$i]['bemerkung_standort'] = $bemerkung_standortArr[$i]; $klosterstandortArr[$i]['bemerkung'] = $bemerkungArr[$i]; $klosterstandortArr[$i]['von_von'] = $von_vonArr[$i]; $klosterstandortArr[$i]['von_bis'] = $von_bisArr[$i]; $klosterstandortArr[$i]['von_verbal'] = $von_verbalArr[$i]; $klosterstandortArr[$i]['bis_von'] = $bis_vonArr[$i]; $klosterstandortArr[$i]['bis_bis'] = $bis_bisArr[$i]; $klosterstandortArr[$i]['bis_verbal'] = $bis_verbalArr[$i]; if (isset($wuestungArr[$i]) && !empty($wuestungArr[$i])) { $klosterstandortArr[$i]['wuestung'] = 1; } else { $klosterstandortArr[$i]['wuestung'] = 0; } } if (isset($klosterstandortArr) && !empty($klosterstandortArr) && is_array($klosterstandortArr)) { $klosterstandorts = $kloster->getKlosterstandorts(); foreach ($klosterstandorts as $i => $klosterstandort) { $this->klosterstandortRepository->remove($klosterstandort); } $lastKlosterstandortId = $this->getLastKlosterstandortIdAction(); foreach ($klosterstandortArr as $ko) { $klosterstandort = new Klosterstandort(); $kloster_uuid = $ko['kloster']; $kloster = $this->klosterRepository->findByIdentifier($kloster_uuid); $klosterstandort->setUid(++$lastKlosterstandortId); $klosterstandort->setKloster($kloster); if (!empty($ko['ort'])) { $ort_uuid = $ko['ort']; $ort = $this->ortRepository->findByIdentifier($ort_uuid); $klosterstandort->setOrt($ort); } $klosterstandort->setGruender($ko['gruender']); $klosterstandort->setBreite($ko['breite']); $klosterstandort->setLaenge($ko['laenge']); $klosterstandort->setVon_von($ko['von_von']); $klosterstandort->setVon_bis($ko['von_bis']); $klosterstandort->setVon_verbal($ko['von_verbal']); $klosterstandort->setBis_von($ko['bis_von']); $klosterstandort->setBis_bis($ko['bis_bis']); $klosterstandort->setBis_verbal($ko['bis_verbal']); $klosterstandort->setBemerkung_standort($ko['bemerkung_standort']); $klosterstandort->setBemerkung($ko['bemerkung']); $this->klosterstandortRepository->add($klosterstandort); if (isset($ort) && is_object($ort)) { $ort->setWuestung($ko['wuestung']); } if (!empty($ko['bistum'])) { $bistumObject = $this->bistumRepository->findByIdentifier($ko['bistum']); if (is_object($bistumObject) && isset($ort) && is_object($ort)) { $ort->setBistum($bistumObject); } } if (isset($ort) && is_object($ort)) { $this->ortRepository->update($ort); } } } // Update Orden $ordenArr = $this->request->getArgument('orden'); $klosterstatusArr = $this->request->getArgument('klosterstatus'); $bemerkung_ordenArr = $this->request->getArgument('bemerkung_orden'); $orden_von_vonArr = $this->request->getArgument('orden_von_von'); $orden_von_bisArr = $this->request->getArgument('orden_von_bis'); $orden_von_verbalArr = $this->request->getArgument('orden_von_verbal'); $orden_bis_vonArr = $this->request->getArgument('orden_bis_von'); $orden_bis_bisArr = $this->request->getArgument('orden_bis_bis'); $orden_bis_verbalArr = $this->request->getArgument('orden_bis_verbal'); $klosterordenNumber = count($ordenArr); $klosterordenArr = []; for ($i = 0; $i < $klosterordenNumber; $i++) { $klosterordenArr[$i]['kloster'] = $uuid; $klosterordenArr[$i]['orden'] = $ordenArr[$i]; $klosterordenArr[$i]['klosterstatus'] = $klosterstatusArr[$i]; $klosterordenArr[$i]['bemerkung_orden'] = $bemerkung_ordenArr[$i]; $klosterordenArr[$i]['orden_von_von'] = $orden_von_vonArr[$i]; $klosterordenArr[$i]['orden_von_bis'] = $orden_von_bisArr[$i]; $klosterordenArr[$i]['orden_von_verbal'] = $orden_von_verbalArr[$i]; $klosterordenArr[$i]['orden_bis_von'] = $orden_bis_vonArr[$i]; $klosterordenArr[$i]['orden_bis_bis'] = $orden_bis_bisArr[$i]; $klosterordenArr[$i]['orden_bis_verbal'] = $orden_bis_verbalArr[$i]; } if (isset($klosterordenArr) && !empty($klosterordenArr) && is_array($klosterordenArr)) { $klosterordens = $kloster->getKlosterordens(); foreach ($klosterordens as $i => $klosterorden) { $this->klosterordenRepository->remove($klosterorden); } $lastKlosterordentId = $this->getLastKlosterordenIdAction(); foreach ($klosterordenArr as $ko) { $klosterorden = new Klosterorden(); $kloster_uuid = $ko['kloster']; $kloster = $this->klosterRepository->findByIdentifier($kloster_uuid); $klosterorden->setUid(++$lastKlosterordentId); $klosterorden->setKloster($kloster); $klosterorden->setVon_von($ko['orden_von_von']); $klosterorden->setVon_bis($ko['orden_von_bis']); $klosterorden->setVon_verbal($ko['orden_von_verbal']); $klosterorden->setBis_von($ko['orden_bis_von']); $klosterorden->setBis_bis($ko['orden_bis_bis']); $klosterorden->setBis_verbal($ko['orden_bis_verbal']); $orden_uuid = $ko['orden']; $orden = $this->ordenRepository->findByIdentifier($orden_uuid); $klosterorden->setOrden($orden); $klosterstatus_uuid = $ko['klosterstatus']; $klosterstatus = $this->klosterstatusRepository->findByIdentifier($klosterstatus_uuid); $klosterorden->setKlosterstatus($klosterstatus); $klosterorden->setBemerkung($ko['bemerkung_orden']); $this->klosterordenRepository->add($klosterorden); } } // Update literatur $literaturs = $kloster->getKlosterHasLiteraturs(); if (!empty($literaturs)) { foreach ($literaturs as $literatur) { $this->klosterHasLiteraturRepository->remove($literatur); } } if ($this->request->hasArgument('literatur')) { $literaturArr = $this->request->getArgument('literatur'); if ($this->request->hasArgument('fundstelle')) { $fundstelleArr = $this->request->getArgument('fundstelle'); } if (isset($literaturArr) && !empty($literaturArr) && is_array($literaturArr)) { foreach ($literaturArr as $k => $lit) { if (isset($lit) && !empty($lit)) { $lit = trim($lit); $fundstelle = trim($fundstelleArr[$k]); if (!empty($fundstelle)) { $literatur = $this->literaturRepository->findByProperties(['citekey' => $lit, 'beschreibung' => $fundstelle]); if (count($literatur) > 0) { $litUUID = $literatur->getFirst()->getUUID(); if (!empty($litUUID)) { $literatur = $this->literaturRepository->findByIdentifier($litUUID); } } else { $literatur = new Literatur(); $literatur->setCitekey($lit); $literatur->setBeschreibung($fundstelle); $this->literaturRepository->add($literatur); $litUUID = $literatur->getUUID(); } if (is_object($kloster) && is_object($literatur)) { $klosterHasLiteratur = new KlosterHasLiteratur(); $klosterHasLiteratur->setKloster($kloster); $klosterHasLiteratur->setLiteratur($literatur); $this->klosterHasLiteraturRepository->add($klosterHasLiteratur); } } } } } } // Fetch Kloster Urls $klosterHasUrls = $kloster->getKlosterHasUrls(); $klosterHasGND = false; // Update GND if set if ($this->request->hasArgument('gnd')) { $gnd = $this->request->getArgument('gnd'); if ($this->request->hasArgument('gnd_label')) { $gnd_label = $this->request->getArgument('gnd_label'); } if (empty($gnd_label)) { $gndid = str_replace('http://d-nb.info/gnd/', '', trim($gnd)); $gnd_label = $kloster . ' [' . $gndid . ']'; } if (isset($gnd) && !empty($gnd)) { foreach ($klosterHasUrls as $i => $klosterHasUrl) { $urlObj = $klosterHasUrl->getUrl(); $urlTypObj = $urlObj->getUrltyp(); if (is_object($urlTypObj)) { $urlTyp = $urlTypObj->getName(); if ($urlTyp == "GND") { $urlObj->setUrl($gnd); if (!empty($gnd_label)) { $urlObj->setBemerkung($gnd_label); } $this->urlRepository->update($urlObj); $klosterHasGND = true; } } } if (!$klosterHasGND) { $url = new Url(); $url->setUrl($gnd); if (!empty($gnd_label)) { $url->setBemerkung($gnd_label); } $urlTypObj = $this->urltypRepository->findOneByName('GND'); $url->setUrltyp($urlTypObj); $this->urlRepository->add($url); $urlUUID = $url->getUUID(); $urlObj = $this->urlRepository->findByIdentifier($urlUUID); $klosterhasurl = new KlosterHasUrl(); $klosterhasurl->setKloster($kloster); $klosterhasurl->setUrl($urlObj); $this->klosterHasUrlRepository->add($klosterhasurl); } } } //Update Wikipedia if set $klosterHasWiki = false; if ($this->request->hasArgument('wikipedia')) { $wikipedia = $this->request->getArgument('wikipedia'); if ($this->request->hasArgument('wikipedia_label')) { $wikipedia_label = $this->request->getArgument('wikipedia_label'); } if (empty($wikipedia_label)) { $wikipedia_label = str_replace('http://de.wikipedia.org/wiki/', '', trim($wikipedia)); $wikipedia_label = str_replace('_', ' ', $wikipedia_label); $wikipedia_label = rawurldecode($wikipedia_label); } if (isset($wikipedia) && !empty($wikipedia)) { foreach ($klosterHasUrls as $i => $klosterHasUrl) { $urlObj = $klosterHasUrl->getUrl(); $url = $urlObj->getUrl(); $urlTypObj = $urlObj->getUrltyp(); if (is_object($urlTypObj)) { $urlTyp = $urlTypObj->getName(); if ($urlTyp == "Wikipedia") { $urlObj->setUrl($wikipedia); if (!empty($wikipedia_label)) { $urlObj->setBemerkung($wikipedia_label); } $this->urlRepository->update($urlObj); $klosterHasWiki = true; } } } if (!$klosterHasWiki) { $url = new Url(); $url->setUrl($wikipedia); if (!empty($wikipedia_label)) { $url->setBemerkung($wikipedia_label); } $urlTypObj = $this->urltypRepository->findOneByName('Wikipedia'); $url->setUrltyp($urlTypObj); $this->urlRepository->add($url); $urlUUID = $url->getUUID(); $urlObj = $this->urlRepository->findByIdentifier($urlUUID); $klosterhasurl = new KlosterHasUrl(); $klosterhasurl->setKloster($kloster); $klosterhasurl->setUrl($urlObj); $this->klosterHasUrlRepository->add($klosterhasurl); } } } // Add Url if set if ($this->request->hasArgument('url')) { $urlArr = $this->request->getArgument('url'); if (isset($urlArr) && !empty($urlArr)) { if ($this->request->hasArgument('url_typ')) { $urlTypArr = $this->request->getArgument('url_typ'); } if ($this->request->hasArgument('links_label')) { $linksLabelArr = $this->request->getArgument('links_label'); } if (isset($klosterHasUrls) && $klosterHasUrls !== []) { foreach ($klosterHasUrls as $i => $klosterHasUrl) { $urlObj = $klosterHasUrl->getUrl(); $urlTypObj = $urlObj->getUrltyp(); if (is_object($urlTypObj)) { $urlTyp = $urlTypObj->getName(); } if (isset($urlTyp) && ($urlTyp != "Wikipedia" && $urlTyp != "GND")) { $this->klosterHasUrlRepository->remove($klosterHasUrl); $this->urlRepository->remove($urlObj); } } } foreach ($urlArr as $k => $url) { if (!empty($url)) { $urlObj = new Url(); $urlObj->setUrl($url); if (isset($urlTypArr[$k]) && !empty($urlTypArr[$k])) { $urlTypObj = $this->urltypRepository->findByIdentifier($urlTypArr[$k]); $urlTyp = $urlTypObj->getName(); $urlObj->setUrltyp($urlTypObj); } if (isset($linksLabelArr[$k]) && !empty($linksLabelArr[$k])) { $urlObj->setBemerkung($linksLabelArr[$k]); } else { $urlObj->setBemerkung($urlTyp); } $this->urlRepository->add($urlObj); $klosterhasurlObj = new KlosterHasUrl(); $klosterhasurlObj->setKloster($kloster); $klosterhasurlObj->setUrl($urlObj); $this->klosterHasUrlRepository->add($klosterhasurlObj); } } } } $this->throwStatus(200, null, null); }