/** * Initializes the controller before invoking an action method. * */ public function initializeAction() { if ($this->securityContext->canBeInitialized()) { $account = $this->securityContext->getAccount(); $this->bearbeiterObj = $this->bearbeiterRepository->findOneByAccount($account); } $this->cacheInterface = $this->cacheManager->getCache('GermaniaSacra_GermaniaCache'); }
/** * Creats a file to be checked be cronjob before exporting the data */ public function dataexportAction() { $dumpDirectory = $this->dataImport->dumpDirectory; $executeDumpExportFile = $dumpDirectory . self::executeExportDump; if (!file_exists($executeDumpExportFile) && ($fileHandle = fopen($executeDumpExportFile, "w"))) { $txt = ''; if ($this->securityContext->canBeInitialized()) { if ($account = $this->securityContext->getAccount()) { $jobOwner = $this->bearbeiterRepository->findOneByAccount($account); $txt = 'Dieser Export wurde angelegt von ' . $jobOwner; } } fwrite($fileHandle, $txt); fclose($fileHandle); $currentTimeMinutes = date('i'); $minutesFraction = substr($currentTimeMinutes, 1, 1); $nextImportDumpExecution = 10 - $minutesFraction; echo 'Die nächste Veröffentlichung wird in ' . $nextImportDumpExecution . ' Minuten durchgeführt.' . '<br>'; echo 'Sie dauert ca. 5 Minuten.' . '<br>'; } elseif (file_exists($executeDumpExportFile)) { echo "Die Veröffentlichung ist bereits vorgemerkt."; } else { echo "Der Veröffentlichung-Job konnte leider nicht angelegt werden."; } exit; }
/** * Creats a file to be checked be cronjob before importing the data */ public function dataimportAction() { $executeDumpImportFile = $this->dumpDirectory . self::executeImportDump; if (!file_exists($executeDumpImportFile) && ($fileHandle = fopen($executeDumpImportFile, "w"))) { $txt = ''; if ($this->securityContext->canBeInitialized()) { if ($account = $this->securityContext->getAccount()) { $jobOwner = $this->bearbeiterRepository->findOneByAccount($account); $txt = 'Dieser Import wurde angelegt von ' . $jobOwner; } } fwrite($fileHandle, $txt); fclose($fileHandle); $currentTimeMinutes = date('i'); $nextImportDumpExecution = 60 - $currentTimeMinutes; echo 'Der nächste Import wird in ' . $nextImportDumpExecution . ' Minuten durchgeführt.' . '<br>'; echo 'Er dauert ca. 1 Stunde.' . '<br>'; } elseif (file_exists($executeDumpImportFile)) { echo "Der Import ist bereits vorgemerkt."; } else { echo "Der Import-Job konnte leider nicht angelegt werden."; } exit; }
/** * Return the options to fill the select fields in Kloster edit form * @FLOW\SkipCsrfProtection * @return array $response select options as JSON */ public function getOptionsAction() { // Bearbeitungsstatus data $bearbeitungsstatusArr = []; $this->bearbeitungsstatusRepository->setDefaultOrderings(['name' => \TYPO3\Flow\Persistence\QueryInterface::ORDER_ASCENDING]); $bearbeitungsstatuses = $this->bearbeitungsstatusRepository->findAll(); foreach ($bearbeitungsstatuses as $bearbeitungsstatus) { $bearbeitungsstatusArr[$bearbeitungsstatus->getUUID()] = $bearbeitungsstatus->getName(); } // Personallistenstatus data $personallistenstatusArr = []; $personallistenstatuses = $this->personallistenstatusRepository->findAll(); foreach ($personallistenstatuses as $personallistenstatus) { $personallistenstatusArr[$personallistenstatus->getUUID()] = $personallistenstatus->getName(); } // Band data $bandArr = []; $this->bandRepository->setDefaultOrderings(['sortierung' => \TYPO3\Flow\Persistence\QueryInterface::ORDER_ASCENDING]); $bands = $this->bandRepository->findAll(); foreach ($bands as $band) { $bandNummerTitel = $band->getNummer() . '-' . $band->getTitel(); $bandArr[$band->getUUID()] = $bandNummerTitel; } // Literature data for select box $literaturArr = $this->getLiteraturAction(); // Bistum data for select box $bistumArr = []; $this->bistumRepository->setDefaultOrderings(['bistum' => \TYPO3\Flow\Persistence\QueryInterface::ORDER_ASCENDING]); $bistums = $this->bistumRepository->findAll(); foreach ($bistums as $bistum) { if ($bistum->getBistum() != 'keine Angabe') { $bistumArr[$bistum->getUUID()] = $bistum->getBistum(); } else { $bistumArr[$bistum->getUUID()] = '––'; } } // Orden data for select box $ordenArr = []; $this->ordenRepository->setDefaultOrderings(['orden' => \TYPO3\Flow\Persistence\QueryInterface::ORDER_ASCENDING]); $ordens = $this->ordenRepository->findAll(); foreach ($ordens as $orden) { $ordenArr[$orden->getUUID()] = $orden->getOrden(); } // Ordenstyp data for select box $ordenstypArr = []; $this->ordenstypRepository->setDefaultOrderings(['ordenstyp' => \TYPO3\Flow\Persistence\QueryInterface::ORDER_ASCENDING]); $ordenstyps = $this->ordenstypRepository->findAll(); foreach ($ordenstyps as $ordenstyp) { $ordenstypArr[$ordenstyp->getUUID()] = $ordenstyp->getOrdenstyp(); } // Klosterstatus data for select box $klosterstatusArr = []; $this->klosterstatusRepository->setDefaultOrderings(['status' => \TYPO3\Flow\Persistence\QueryInterface::ORDER_ASCENDING]); $klosterstatuses = $this->klosterstatusRepository->findAll(); foreach ($klosterstatuses as $klosterstatus) { if ($klosterstatus->getStatus() != 'keine Angabe') { $klosterstatusArr[$klosterstatus->getUUID()] = $klosterstatus->getStatus(); } else { $klosterstatusArr[$klosterstatus->getUUID()] = '––'; } } // Bearbeiter data for select box $bearbeiterArr = []; $this->bearbeiterRepository->setDefaultOrderings(['bearbeiter' => \TYPO3\Flow\Persistence\QueryInterface::ORDER_ASCENDING]); $bearbeiters = $this->bearbeiterRepository->findAll(); foreach ($bearbeiters as $bearbeiter) { $bearbeiterArr[$bearbeiter->getUUID()] = $bearbeiter->getBearbeiter(); } // URL-Typ data for select box $urltypArr = []; $this->urltypRepository->setDefaultOrderings(['name' => \TYPO3\Flow\Persistence\QueryInterface::ORDER_ASCENDING]); $urltyps = $this->urltypRepository->findAll(); foreach ($urltyps as $urltyp) { if ($urltyp->getName() != 'GND' && $urltyp->getName() != 'Wikipedia') { $urltypArr[$urltyp->getUUID()] = $urltyp->getName(); } } // Land data for select box $landArr = []; $this->landRepository->setDefaultOrderings(['land' => \TYPO3\Flow\Persistence\QueryInterface::ORDER_ASCENDING]); $lands = $this->landRepository->findAll(); foreach ($lands as $land) { $landArr[$land->getUUID()] = $land->getLand(); } // Bearbeiter roles $roleArr = []; foreach ($this->roleRepository->findAll()->toArray() as $role) { if (stristr($role->getIdentifier(), 'Flow.Login')) { $roleValues = explode(':', $role->getIdentifier()); $roleArr[$role->getIdentifier()] = $roleValues[1]; } } $response = []; $response['bearbeitungsstatus'] = $bearbeitungsstatusArr; $response['personallistenstatus'] = $personallistenstatusArr; $response['band'] = $bandArr; $response['literatur'] = $literaturArr; $response['bistum'] = $bistumArr; $response['orden'] = $ordenArr; $response['ordenstyp'] = $ordenstypArr; $response['klosterstatus'] = $klosterstatusArr; $response['bearbeiter'] = $bearbeiterArr; $response['url_typ'] = $urltypArr; $response['land'] = $landArr; $response['role'] = $roleArr; $getOptions = json_encode($response); return $getOptions; }