/** * action edit * * @param int $uid * @param array $edit * @return void */ public function editAction($uid = 0, $edit = []) { if ($uid > 0) { $item = $this->templateRepository->findByUid($uid); if (!count($edit)) { $edit['title'] = $item->getTitle(); $edit['subject'] = $item->getSubject(); $edit['category'] = $item->getCategory(); $edit['template'] = $item->getTemplate(); $edit['uid'] = $item->getUid(); } if (isset($edit['save']) || isset($edit['saveAndClose']) || isset($edit['saveAndNew'])) { $item->setTitle($edit['title']); $item->setSubject($edit['subject']); $item->setCategory($edit['category']); $item->setTemplate($edit['template']); $this->templateRepository->update($item); $this->objectManager->get('TYPO3\\CMS\\Extbase\\Persistence\\PersistenceManagerInterface')->persistAll(); $this->addFlashMessage('', 'Änderungen wurden erfolgreich gespeichert.', FlashMessage::OK); } if (isset($edit['saveAndClose'])) { $this->redirect("index"); } elseif (isset($edit['saveAndNew'])) { $this->redirect("add"); } else { $this->view->assign('item', $item); $this->view->assign('categories', $this->getTemplateCategories()); $this->view->assign('action', 'edit'); $this->view->assign('uid', $uid); } } else { $this->redirect("index"); } }