/**
  * Handle custom events.
  *
  * @param ActionEvent $event
  * @SuppressWarnings(PHPMD.LongVariable)
  * @SuppressWarnings(PHPMD.CamelCaseVariableName)
  */
 public function handleAction(ActionEvent $event)
 {
     if ($event->getResponse() || $event->getEnvironment()->getDataDefinition()->getName() != 'orm_avisota_recipient') {
         return;
     }
     $action = $event->getAction();
     $name = $action->getName();
     $subscribeOptions = SubscriptionManager::OPT_IGNORE_BLACKLIST;
     switch ($name) {
         case 'confirm-subscription':
             $this->handleConfirmSubscriptionAction($event);
             break;
         case 'remove-subscription':
             $this->handleRemoveSubscriptionAction($event);
             break;
         case 'subscribe-confirmed':
             $subscribeOptions |= SubscriptionManager::OPT_ACTIVATE;
             $this->handleSubscribeAction($event, $subscribeOptions);
             break;
         case 'subscribe':
             $this->handleSubscribeAction($event, $subscribeOptions);
             break;
     }
 }
예제 #2
0
 /**
  * @param ActionEvent $event
  */
 public function handleAction(ActionEvent $event)
 {
     if (!$event->getResponse() && $event->getEnvironment()->getDataDefinition()->getName() == 'orm_avisota_message' && $event->getAction()->getName() == 'preview') {
         $event->setResponse($this->renderPreviewView($event->getEnvironment()));
     }
 }
예제 #3
0
 /**
  * Handle the given action.
  *
  * @param ActionEvent $event The event.
  *
  * @return void
  *
  * @SuppressWarnings(PHPMD.CyclomaticComplexity)
  * @SuppressWarnings(PHPMD.Superglobals)
  * @SuppressWarnings(PHPMD.CamelCaseVariableName)
  */
 public function handleAction(ActionEvent $event)
 {
     $GLOBALS['TL_CSS'][] = 'system/modules/dc-general/html/css/generalDriver.css';
     if ($event->getEnvironment()->getDataDefinition()->getName() !== $this->environment->getDataDefinition()->getName() || $event->getResponse() !== null) {
         return;
     }
     $action = $event->getAction();
     $name = $action->getName();
     switch ($name) {
         case 'select':
             // If no redirect happens, we want to display the showAll action.
             $name = 'showAll';
             // No break here.
         // No break here.
         case 'create':
         case 'paste':
         case 'move':
         case 'undo':
         case 'edit':
         case 'showAll':
             $response = call_user_func_array(array($this, $name), array_merge(array($action), $action->getArguments()));
             $event->setResponse($response);
             break;
         case 'show':
             $handler = new ShowHandler();
             $handler->handleEvent($event);
             break;
         default:
     }
 }
예제 #4
0
 public function handleAction(ActionEvent $event)
 {
     $GLOBALS['TL_CSS'][] = 'system/modules/dc-general/html/css/generalDriver.css';
     if ($event->getEnvironment()->getDataDefinition()->getName() !== $this->environment->getDataDefinition()->getName() || $event->getResponse() !== null) {
         return;
     }
     $action = $event->getAction();
     $name = $action->getName();
     switch ($name) {
         case 'copy':
         case 'copyAll':
         case 'create':
         case 'cut':
         case 'cutAll':
         case 'paste':
         case 'delete':
         case 'move':
         case 'undo':
         case 'edit':
         case 'show':
         case 'showAll':
         case 'toggle':
             $response = call_user_func_array(array($this, $name), $action->getArguments());
             $event->setResponse($response);
             break;
         default:
     }
     if ($this->getViewSection()->getModelCommands()->hasCommandNamed($name)) {
         $command = $this->getViewSection()->getModelCommands()->getCommandNamed($name);
         if ($command instanceof ToggleCommandInterface) {
             $this->toggle($name);
         }
     }
 }