예제 #1
0
 public function checkToggleActivation(ModuleToggleActivationEvent $event, $eventName, EventDispatcherInterface $dispatcher)
 {
     if (true === $event->isNoCheck()) {
         return;
     }
     if (null !== ($module = ModuleQuery::create()->findPk($event->getModuleId()))) {
         try {
             if ($module->getActivate() == BaseModule::IS_ACTIVATED) {
                 if ($module->getMandatory() == BaseModule::IS_MANDATORY && $event->getAssumeDeactivate() === false) {
                     throw new \Exception(Translator::getInstance()->trans('Can\'t deactivate a secure module'));
                 }
                 if ($event->isRecursive()) {
                     $this->recursiveDeactivation($event, $eventName, $dispatcher);
                 }
                 $this->checkDeactivation($module);
             } else {
                 if ($event->isRecursive()) {
                     $this->recursiveActivation($event, $eventName, $dispatcher);
                 }
                 $this->checkActivation($module);
             }
         } catch (\Exception $ex) {
             $event->stopPropagation();
             throw $ex;
         }
     }
 }
예제 #2
0
파일: Module.php 프로젝트: margery/thelia
 public function checkToggleActivation(ModuleToggleActivationEvent $event)
 {
     if (true === $event->isNoCheck()) {
         return;
     }
     if (null !== ($module = ModuleQuery::create()->findPk($event->getModuleId()))) {
         try {
             if ($module->getActivate() == BaseModule::IS_ACTIVATED) {
                 if ($event->isRecursive()) {
                     $this->recursiveDeactivation($event);
                 }
                 $this->checkDeactivation($module);
             } else {
                 if ($event->isRecursive()) {
                     $this->recursiveActivation($event);
                 }
                 $this->checkActivation($module);
             }
         } catch (\Exception $ex) {
             $event->stopPropagation();
             throw $ex;
         }
     }
 }