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 showForm
  *
  * @return void
  */
 public function finalizeAction()
 {
     $gpVars = $this->_GP;
     unset($gpVars['finalize']);
     $gpVars['_feUserUid'] = $GLOBALS['TSFE']->fe_user ? $GLOBALS['TSFE']->fe_user->user['uid'] : '';
     $this->view->assign('entries', $entries);
     $type = $this->settings['tablename'];
     $settings = $this->settings[$type];
     $extName = $settings['extension'];
     $tmplPath = $settings['templatePath'];
     if (!($email = $settings['admin']['toEmail'])) {
         $email = $this->settings['adminEmail'];
     }
     $sendToAdmin = $email && $settings['admin']['enabled'] !== '0';
     $entry = false;
     if ($gpVars['_key'] && $gpVars['_entry']) {
         if ($entry = $this->entryRepository->findByUid($gpVars['_entry'])) {
             // Admin war am Werk (erkennbar an gültiger _adminKey) -> Änderungen direkt freischalten
             if (!$sendToAdmin && $this->anyHelper->validateKeyForUid($gpVars['_entry'], $gpVars['_key']) || $sendToAdmin && $this->anyHelper->validateKeyForUid($gpVars['_entry'], $gpVars['_adminKey'], 'admin')) {
                 $entry->setData(json_encode($gpVars));
                 $this->persistenceManager->persistAll();
                 $this->approveAction($gpVars['_entry']);
                 return $this->anyHelper->renderFlashMessages();
             }
         }
     }
     // Ein neuer Eintrag...
     if (!$entry) {
         $entry = new \Nng\Nnfesubmit\Domain\Model\Entry();
     }
     $entry->setExt($type);
     $entry->setData(json_encode($gpVars));
     $this->entryRepository->add($entry);
     $this->persistenceManager->persistAll();
     $srcUid = $entry->getSrcuid();
     $validationUid = $entry->getUid();
     $validationKey = $this->anyHelper->createKeyForUid($validationUid);
     $adminKey = $this->anyHelper->createKeyForUid($validationUid, 'admin');
     $mapperVars = (array) $this->insertViewVariablesFromMapper($extName);
     // E-Mail an Admin zur Freigabe senden?
     if ($sendToAdmin) {
         // Link zum Löschen des Eintrags
         $adminKey = $this->anyHelper->createKeyForUid($validationUid, 'admin');
         $data = array_merge_recursive($gpVars, $mapperVars, array('feUser' => $this->feUser, 'validationKey' => $validationKey, 'validationUid' => $validationUid, 'baseUrl' => $GLOBALS['TSFE']->baseUrl, 'pageUid' => $settings['editPid'] ? $settings['editPid'] : $GLOBALS['TSFE']->id, 'settings' => $settings));
         if ($adminKey) {
             $data['adminKey'] = $adminKey;
         }
         $emailTemplate = $srcUid ? 'EmailAdminFeedit.html' : 'EmailAdmin.html';
         $html = $this->anyHelper->renderTemplate($tmplPath . $emailTemplate, $data, true, null, false);
         die($html);
         $this->anyHelper->send_email(array_merge($settings['admin'], array('html' => $html)));
         if ($settings['thanksPid']) {
             $this->anyHelper->httpRedirect($settings['thanksPid']);
         } else {
             $this->anyHelper->redirect('thanks', null, null, $this->GP_baseVars(array('type' => $type)));
         }
     } else {
         // Kein Admin im Spiel, direkt freischalten
         $this->approveAction($validationUid);
     }
 }