/** * Fetches a document from a remote URL. * * @param string $url * @param string $key * @param string $version * @return void */ public function fetchAction($url, $key, $version = null) { // This action is reserved for admin users. Redirect to default view if not. if (!$this->getBackendUser()->isAdmin()) { $this->redirect('list'); } $language = $this->languageUtility->getDocumentationLanguage(); try { $result = $this->documentationService->fetchNearestDocument($url, $key, $version ?: 'latest', $language); if ($result) { $this->addFlashMessage(LocalizationUtility::translate('downloadSucceeded', 'documentation'), '', FlashMessage::OK); } else { $this->addFlashMessage(LocalizationUtility::translate('downloadFailedNoArchive', 'documentation'), LocalizationUtility::translate('downloadFailed', 'documentation'), FlashMessage::ERROR); } } catch (\Exception $e) { $this->addFlashMessage(LocalizationUtility::translate('downloadFailedDetails', 'documentation', array($key, $e->getMessage(), $e->getCode())), LocalizationUtility::translate('downloadFailed', 'documentation'), FlashMessage::ERROR); } $this->redirect('download'); }
/** * Fetches a document from a remote URL. * * @param string $url * @param string $key * @param string $version * @return void */ public function fetchAction($url, $key, $version = NULL) { // This action is reserved for admin users. Redirect to default view if not. if (!$this->getBackendUser()->isAdmin()) { $this->redirect('list'); } $language = $this->languageUtility->getDocumentationLanguage(); try { $result = $this->documentationService->fetchNearestDocument($url, $key, $version ?: 'latest', $language); if ($result) { $this->controllerContext->getFlashMessageQueue()->enqueue(GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', \TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate('downloadSucceeded', 'documentation'), '', \TYPO3\CMS\Core\Messaging\AbstractMessage::OK, TRUE)); } else { $this->controllerContext->getFlashMessageQueue()->enqueue(GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', \TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate('downloadFailedNoArchive', 'documentation'), \TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate('downloadFailed', 'documentation'), \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR, TRUE)); } } catch (\Exception $e) { $this->controllerContext->getFlashMessageQueue()->enqueue(GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', \TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate('downloadFailedDetails', 'documentation', array($key, $e->getMessage(), $e->getCode())), \TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate('downloadFailed', 'documentation'), \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR, TRUE)); } $this->redirect('download'); }