Beispiel #1
0
 /**
  * Clear the button if the User is not admin.
  *
  * @param GetOperationButtonEvent $event The event.
  *
  * @return void
  */
 public function getOperationButton(GetOperationButtonEvent $event)
 {
     if ($event->getEnvironment()->getDataDefinition()->getName() !== 'tl_metamodel') {
         return;
     }
     $command = $event->getCommand();
     if ($command->getName() == 'dca_combine') {
         $event->setHref(UrlBuilder::fromUrl($event->getHref())->setQueryParameter('id', ModelId::fromValues('tl_metamodel_dca_combine', $event->getModel()->getId())->getSerialized())->getUrl());
     }
 }
 /**
  * Handle the event.
  *
  * @param HandleSubmitEvent $event The event.
  *
  * @return void
  */
 public function handleEvent(HandleSubmitEvent $event)
 {
     $dispatcher = func_get_arg(2);
     $currentUrl = $this->environment->get('uri');
     switch ($event->getButtonName()) {
         case 'save':
             // Could be a create action, always redirect to current page with edit action and id properly set.
             $url = UrlBuilder::fromUrl($currentUrl)->setQueryParameter('act', 'edit')->setQueryParameter('id', ModelId::fromModel($event->getModel())->getSerialized());
             $dispatcher->dispatch(ContaoEvents::CONTROLLER_REDIRECT, new RedirectEvent($url->getUrl()));
             break;
         case 'saveNcreate':
             // We want to create a new model, set create action and pass the current id as "after" to keep sorting.
             $after = ModelId::fromModel($event->getModel());
             $url = UrlBuilder::fromUrl($currentUrl)->unsetQueryParameter('id')->setQueryParameter('act', 'create')->setQueryParameter('after', $after->getSerialized());
             $dispatcher->dispatch(ContaoEvents::CONTROLLER_REDIRECT, new RedirectEvent($url->getUrl()));
             break;
         default:
             // Do nothing.
     }
 }
Beispiel #3
0
 /**
  * Generate an URL for downloading the given file.
  *
  * @param string $strFile The file that shall be downloaded.
  *
  * @return string
  */
 protected function getDownloadLink($strFile)
 {
     return UrlBuilder::fromUrl(\Environment::get('request'))->setQueryParameter('file', urlencode($strFile))->getUrl();
 }