Skip to content
Snippets Groups Projects

Release 5.0.0

Merged Georgi requested to merge release_5.0.0 into master
1 file
+ 36
47
Compare changes
  • Side-by-side
  • Inline
@@ -28,18 +28,17 @@ namespace SGalinski\SgRoutes\Controller;
use InvalidArgumentException;
use SGalinski\SgRoutes\Domain\Model\Category;
use SGalinski\SgRoutes\Domain\Model\PageNotFoundHandling;
use SGalinski\SgRoutes\Domain\Model\Route;
use SGalinski\SgRoutes\Domain\Repository\CategoryRepository;
use SGalinski\SgRoutes\Domain\Repository\LogRepository;
use SGalinski\SgRoutes\Domain\Repository\PageNotFoundHandlingRepository;
use SGalinski\SgRoutes\Domain\Repository\RoutehitRepository;
use SGalinski\SgRoutes\Domain\Repository\RouteRepository;
use SGalinski\SgRoutes\Service\DemoModeService;
use SGalinski\SgRoutes\Service\LicenceCheckService;
use SGalinski\SgRoutes\Service\LicensingService;
use SGalinski\SgRoutes\Service\RoutingService;
use TYPO3\CMS\Backend\Clipboard\Clipboard;
use TYPO3\CMS\Backend\Routing\Exception\RouteNotFoundException;
use TYPO3\CMS\Backend\Routing\UriBuilder;
use TYPO3\CMS\Backend\Template\Components\ButtonBar;
use TYPO3\CMS\Backend\Template\Components\DocHeaderComponent;
use TYPO3\CMS\Backend\Utility\BackendUtility;
@@ -50,6 +49,7 @@ use TYPO3\CMS\Core\Database\Query\Restriction\DeletedRestriction;
use TYPO3\CMS\Core\Exception;
use TYPO3\CMS\Core\Imaging\Icon;
use TYPO3\CMS\Core\Imaging\IconFactory;
use TYPO3\CMS\Core\Messaging\AbstractMessage;
use TYPO3\CMS\Core\Messaging\FlashMessage;
use TYPO3\CMS\Core\Site\SiteFinder;
use TYPO3\CMS\Core\Utility\GeneralUtility;
@@ -256,6 +256,8 @@ class RouteController extends ActionController {
FlashMessage::ERROR
);
}
$this->initDemoMode();
}
/**
@@ -590,4 +592,79 @@ class RouteController extends ActionController {
return $taskExists;
}
/**
* Initializes the demo mode
*/
protected function initDemoMode() {
$keyState = DemoModeService::checkKey();
$hasValidLicense = LicenceCheckService::hasValidLicense();
$isInDemoMode = DemoModeService::isInDemoMode();
if (!$hasValidLicense && $isInDemoMode) {
// - 1 because the flash message would show 00:00:00 instead of 23:59:59
$this->addFlashMessage(
LocalizationUtility::translate(
'backend.licenseKey.isInDemoMode.description', 'sg_routes', [
date('H:i:s', mktime(0, 0, DemoModeService::getRemainingTimeInDemoMode() - 1))
]
),
LocalizationUtility::translate('backend.licenseKey.isInDemoMode.header', 'sg_routes'),
AbstractMessage::INFO
);
} elseif ($keyState === DemoModeService::STATE_LICENSE_NOT_SET) {
$description = LocalizationUtility::translate(
'backend.licenseKey.notSet.descriptionTYPO3-9', 'sg_routes'
);
$this->addFlashMessage(
$description,
LocalizationUtility::translate('backend.licenseKey.notSet.header', 'sg_routes'),
AbstractMessage::WARNING
);
} elseif (!$hasValidLicense) {
$description = LocalizationUtility::translate(
'backend.licenseKey.invalid.descriptionTYPO3-9', 'sg_routes'
);
$this->addFlashMessage(
$description,
LocalizationUtility::translate('backend.licenseKey.invalid.header', 'sg_routes'),
AbstractMessage::ERROR
);
}
$this->view->assign('invalidKey', !$hasValidLicense);
$this->view->assign('showDemoButton', !$isInDemoMode && DemoModeService::isDemoModeAcceptable());
}
/**
* Add a flash message
*
* @param string $messageBody
* @param string $messageTitle
* @param int $severity
* @param bool $storeInSession
*/
public function addFlashMessage(
$messageBody, $messageTitle = '', $severity = AbstractMessage::OK, $storeInSession = TRUE
) {
if (NULL === $this->controllerContext) {
$this->controllerContext = $this->buildControllerContext();
}
parent::addFlashMessage($messageBody, $messageTitle, $severity, $storeInSession);
}
/**
* Activates the demo mode for the given instance.
*
* @throws StopActionException
*/
public function activateDemoModeAction() {
if (DemoModeService::isInDemoMode() || !DemoModeService::isDemoModeAcceptable()) {
$this->redirect('list');
}
DemoModeService::activateDemoMode();
$this->redirect('list');
}
}
Loading