* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShopBundle\Security\Annotation; use Sensio\Bundle\FrameworkExtraBundle\Configuration\ConfigurationAnnotation; /** * Forbid access to the page if the defined module mode is inactive. * * @Annotation */ class ModuleActivated extends ConfigurationAnnotation { /** * The translation domain for the message. * * @var string */ protected $domain = 'Admin.Notifications.Error'; /** * The message of the exception. * * @var string */ protected $message = 'The module %s is inactive.'; /** * The route for the redirection. * * @var string|null */ protected $redirectRoute; /** * The module name to check. * * @var string|null */ protected $moduleName; /** * @return string */ public function getDomain() { return $this->domain; } /** * @param string $domain the translation domain name */ public function setDomain($domain) { $this->domain = $domain; } /** * @return string */ public function getMessage() { return $this->message; } /** * @param string $message the message displayed after redirection */ public function setMessage($message) { $this->message = $message; } /** * @return string|null */ public function getRedirectRoute() { return $this->redirectRoute; } /** * @param string $redirectRoute the route used for redirection */ public function setRedirectRoute($redirectRoute) { $this->redirectRoute = $redirectRoute; } /** * Returns the alias name for an annotated configuration. * * @return string */ public function getAliasName() { return 'module_activated'; } /** * Returns the name of the module to check. * * @return string|null */ public function getModuleName() { return $this->moduleName; } /** * @param string $moduleName */ public function setModuleName($moduleName) { $this->moduleName = $moduleName; } /** * Returns whether multiple annotations of this type are allowed. * * @return bool */ public function allowArray() { return true; } }