function processRequestAction() { $_GP = $this->request->getArguments(); $action = $_GP['action']; $uid = (int) $_GP['uid']; $key = $_GP['key']; // Validierung der Aktion if ($action) { if (!$this->anyHelper->validateKeyForUid($uid, $key)) { die("Validierung fehlgeschlagen."); } } if ($action == 'approve') { // Klick auf "Bestätigen" in Admin-Email $this->mainController->approveAction($uid); } else { if ($action == 'remove') { // Klick auf "Löschen" in E-Mail $this->mainController->removeAction($uid); } else { if ($action == 'edit') { // Klick auf "Bearbeiten" aus der E-Mail return $this->mainController->editAction($uid); } else { if ($action == 'feedit') { // Klick auf "Bearbeiten" eines bestehenden Datensatzes im Frontend $message = $this->mainController->feeditAction($_GP); } else { if ($action == 'fedelete') { // Klick auf "Löschen" eines bestehenden Datensatzes im Frontend $message = $this->mainController->feDeleteAction($_GP); } } } } } if ($message = $this->anyHelper->renderFlashMessages()) { return $message; } //$this->anyHelper->httpRedirect( 0 ); }
/** * action feeditAction * Bearbeiten eines bestehenden Datensatzes aus fremder Tabelle starten. * Dazu Kopie in tx_nnfesubmit_domain_model_entry anlegen und zum Formular weiterleiten * * @return array */ public function feeditAction($params) { $this->settings = $this->settingsUtility->getSettings(); $uid = intval($params['uid']); $type = $params['type']; $settings = $this->settings[$type]; $extName = $settings['extension']; // Prüfen, ob Datensatz in fremder Tabelle exisitert if (!($data = $this->tableService->getEntry($settings, $uid))) { return $this->anyHelper->addFlashMessage('Kein Eintrag gefunden', "In der Tabelle {$settings['tablename']} wurde kein Datensatz mit der uid={$uid} gefunden.", 'ERROR'); } // Datensatz zum Bearbeiten anlegen if (!($entry = $this->entryRepository->getEntryForExt($uid, $type))) { $entry = $this->objectManager->get('\\Nng\\Nnfesubmit\\Domain\\Model\\Entry'); $this->entryRepository->add($entry); $this->persistenceManager->persistAll(); //$unique_filename = $this->basicFileFunctions->getUniqueName($file, 'uploads/tx_nnfesubmit/'); //if (\TYPO3\CMS\Core\Utility\GeneralUtility::upload_copy_move($files['tmp_name'][$k], $unique_filename)) { } // Media zurück in den Ordner uploads/tx_nnfesubmit kopieren $media = $settings['media']; foreach ($media as $k => $path) { if ($data[$k]) { $unique_filename = $this->basicFileFunctions->getUniqueName(trim(basename($data[$k])), 'uploads/tx_nnfesubmit/'); \TYPO3\CMS\Core\Utility\GeneralUtility::upload_copy_move($path . $data[$k], $unique_filename); if (!file_exists($unique_filename)) { $this->anyHelper->addFlashMessage('Datei nicht kopiert', 'Die Datei ' . $data[$k] . ' konnte nicht kopiert werden.', 'WARNING'); } } } //$entry->setFeUser( $GLOBALS['TSFE']->fe_user->user['uid'] ); $entry->setCruserId($GLOBALS['TSFE']->fe_user->user['uid']); $entry->setSrcuid($uid); $entry->setExt($type); $entry->setData(json_encode($data)); $this->entryRepository->update($entry); $this->persistenceManager->persistAll(); $entryUid = $entry->getUid(); $newAdminKey = ''; if ($params['adminKey'] && $this->anyHelper->validateKeyForUid($uid, $params['adminKey'], 'admin')) { $newAdminKey = $this->anyHelper->createKeyForUid($entryUid, 'admin'); } //http://adhok.99grad.de/index.php?id=17&id=17&nnf%5B193%5D%5Buid%5D=3&cHash=f14da214fc18a7f53b4da7342f3abe64&eID=nnfesubmit&action=feedit&type=nnfilearchive&uid=21&key=02bc7442 $this->anyHelper->httpRedirect($settings['editPid'], array('nnf' => $params['nnf'], 'tx_nnfesubmit_nnfesubmit[key]' => $this->anyHelper->createKeyForUid($entryUid), 'tx_nnfesubmit_nnfesubmit[adminKey]' => $newAdminKey, 'tx_nnfesubmit_nnfesubmit[entry]' => $entryUid, 'tx_nnfesubmit_nnfesubmit[pluginUid]' => intval($params['pluginUid']), 'tx_nnfesubmit_nnfesubmit[returnUrl]' => $params['returnUrl'])); // \TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($entry); // $this->editAction( $entry->getUid() ); die; }