initialize() public method

Initializes the framework.
public initialize ( )
Exemplo n.º 1
0
 /**
  * Renders an insert tag.
  *
  * @param string $insertTag
  *
  * @return Response
  */
 public function renderAction($insertTag)
 {
     $this->framework->initialize();
     /** @var InsertTags $it */
     $it = $this->framework->createInstance('Contao\\InsertTags');
     // Never cache these responses
     return (new Response($it->replace($insertTag, false)))->setPrivate();
 }
Exemplo n.º 2
0
 /**
  * Toggles the TL_VIEW cookie and redirects back to the referring page.
  *
  * @param GetResponseEvent $event The event object
  */
 public function onKernelRequest(GetResponseEvent $event)
 {
     $request = $event->getRequest();
     if (!$this->isFrontendMasterRequest($event) || !$request->query->has('toggle_view')) {
         return;
     }
     $this->framework->initialize();
     $response = new RedirectResponse(System::getReferer(), 303);
     $response->headers->setCookie($this->getCookie($request->query->get('toggle_view'), $request->getBasePath()));
     $event->setResponse($response);
 }
 /**
  * {@inheritdoc}
  *
  * @return BackendUser|FrontendUser
  */
 public function loadUserByUsername($username)
 {
     if ($this->isBackendUsername($username)) {
         $this->framework->initialize();
         return BackendUser::getInstance();
     }
     if ($this->isFrontendUsername($username)) {
         $this->framework->initialize();
         return FrontendUser::getInstance();
     }
     throw new UsernameNotFoundException('Can only load user "frontend" or "backend".');
 }
 /**
  * Forwards the request to the Frontend class and sets the response if any.
  *
  * @param GetResponseEvent $event
  */
 public function onKernelRequest(GetResponseEvent $event)
 {
     if (!$this->isFrontendMasterRequest($event)) {
         return;
     }
     $this->framework->initialize();
     /** @var Frontend $frontend */
     $frontend = $this->framework->getAdapter('Contao\\Frontend');
     if (null !== ($response = $frontend->getResponseFromCache())) {
         $event->setResponse($response);
     }
 }
Exemplo n.º 5
0
 /**
  * {@inheritdoc}
  */
 public function warmUp($cacheDir)
 {
     if (!$this->isCompleteInstallation()) {
         return;
     }
     $this->framework->initialize();
     $this->generateConfigCache($cacheDir);
     $this->generateDcaCache($cacheDir);
     $this->generateLanguageCache($cacheDir);
     $this->generateDcaExtracts($cacheDir);
     $this->generateTemplateMapper($cacheDir);
 }
 /**
  * Returns the page model for an FAQ.
  *
  * @param int $id
  *
  * @return PageModel|false|null
  */
 private function getPageForFaq($id)
 {
     $this->framework->initialize();
     /** @var FaqCategoryModel $categoryAdapter */
     $categoryAdapter = $this->framework->getAdapter(FaqCategoryModel::class);
     if (null === ($categoryModel = $categoryAdapter->findByPk($id))) {
         return false;
     }
     /** @var PageModel $pageModel */
     $pageModel = $categoryModel->getRelated('jumpTo');
     return $pageModel;
 }
Exemplo n.º 7
0
 /**
  * Adds the feeds to the page header.
  *
  * @param PageModel          $objPage
  * @param LayoutModel|object $objLayout
  */
 public function onGeneratePage(PageModel $objPage, LayoutModel $objLayout)
 {
     $newsfeeds = StringUtil::deserialize($objLayout->newsfeeds);
     if (empty($newsfeeds) || !is_array($newsfeeds)) {
         return;
     }
     $this->framework->initialize();
     /** @var NewsFeedModel $adapter */
     $adapter = $this->framework->getAdapter(NewsFeedModel::class);
     if (!($feeds = $adapter->findByIds($newsfeeds)) instanceof Collection) {
         return;
     }
     $this->addFeedMarkupToPageHeader($feeds);
 }
 /**
  * Returns the page model for an event.
  *
  * @param int $id
  *
  * @return PageModel|false|null
  */
 private function getPageForEvent($id)
 {
     $this->framework->initialize();
     /** @var CalendarEventsModel $eventsAdapter */
     $eventsAdapter = $this->framework->getAdapter(CalendarEventsModel::class);
     if (null === ($eventsModel = $eventsAdapter->findByPk($id))) {
         return false;
     }
     /** @var CalendarModel $calendarModel */
     if (null === ($calendarModel = $eventsModel->getRelated('pid'))) {
         return false;
     }
     /** @var PageModel $pageModel */
     $pageModel = $calendarModel->getRelated('jumpTo');
     return $pageModel;
 }
 /**
  * Returns the page model for a news item.
  *
  * @param int $id
  *
  * @return PageModel|false|null
  */
 private function getPageForNews($id)
 {
     $this->framework->initialize();
     /** @var NewsModel $newsAdapter */
     $newsAdapter = $this->framework->getAdapter(NewsModel::class);
     if (null === ($newsModel = $newsAdapter->findByPk($id))) {
         return false;
     }
     /** @var NewsArchiveModel $archiveModel */
     if (null === ($archiveModel = $newsModel->getRelated('pid'))) {
         return false;
     }
     /** @var PageModel $pageModel */
     $pageModel = $archiveModel->getRelated('jumpTo');
     return $pageModel;
 }
Exemplo n.º 10
0
 /**
  * Replaces FAQ insert tags.
  *
  * @param string $tag
  *
  * @return string|false
  */
 public function onReplaceInsertTags($tag)
 {
     $elements = explode('::', $tag);
     $key = strtolower($elements[0]);
     if (!in_array($key, $this->supportedTags, true)) {
         return false;
     }
     $this->framework->initialize();
     /** @var FaqModel $adapter */
     $adapter = $this->framework->getAdapter(FaqModel::class);
     $faq = $adapter->findByIdOrAlias($elements[1]);
     if (null === $faq || false === ($url = $this->generateUrl($faq))) {
         return '';
     }
     return $this->generateReplacement($faq, $key, $url);
 }
 /**
  * Loads the language strings.
  *
  * @return array|null The language strings or null
  */
 private function loadLanguageStrings()
 {
     $this->framework->initialize();
     System::loadLanguageFile('exception');
     if (!isset($GLOBALS['TL_LANG']['XPT'])) {
         return null;
     }
     return $GLOBALS['TL_LANG']['XPT'];
 }
Exemplo n.º 12
0
 /**
  * Replaces an event-related insert tag.
  *
  * @param string $insertTag
  * @param string $idOrAlias
  *
  * @return string
  */
 private function replaceEventInsertTag($insertTag, $idOrAlias)
 {
     $this->framework->initialize();
     /** @var CalendarEventsModel $adapter */
     $adapter = $this->framework->getAdapter(CalendarEventsModel::class);
     if (null === ($event = $adapter->findByIdOrAlias($idOrAlias))) {
         return '';
     }
     return $this->generateReplacement($event, $insertTag);
 }
Exemplo n.º 13
0
 /**
  * Replaces a news-related insert tag.
  *
  * @param string $insertTag
  * @param string $idOrAlias
  *
  * @return string
  */
 private function replaceNewsInsertTags($insertTag, $idOrAlias)
 {
     $this->framework->initialize();
     /** @var NewsModel $adapter */
     $adapter = $this->framework->getAdapter(NewsModel::class);
     if (null === ($news = $adapter->findByIdOrAlias($idOrAlias))) {
         return '';
     }
     return $this->generateReplacement($news, $insertTag);
 }
Exemplo n.º 14
0
 /**
  * Loads the options from the database.
  */
 private function loadOptions()
 {
     if (null !== $this->options) {
         return;
     }
     // The framework is required to have the TL_CROP options available
     $this->framework->initialize();
     $this->options = $GLOBALS['TL_CROP'];
     $rows = $this->connection->fetchAll('SELECT id, name, width, height FROM tl_image_size ORDER BY pid, name');
     foreach ($rows as $imageSize) {
         $this->options['image_sizes'][$imageSize['id']] = sprintf('%s (%sx%s)', $imageSize['name'], $imageSize['width'], $imageSize['height']);
     }
 }
Exemplo n.º 15
0
 /**
  * Generates a Contao URL.
  *
  * @param string $name
  * @param array  $parameters
  * @param int    $referenceType
  *
  * @return string
  */
 public function generate($name, $parameters = [], $referenceType = self::ABSOLUTE_PATH)
 {
     $this->framework->initialize();
     if (!is_array($parameters)) {
         $parameters = [];
     }
     $context = $this->getContext();
     // Store the original request context
     $host = $context->getHost();
     $scheme = $context->getScheme();
     $httpPort = $context->getHttpPort();
     $httpsPort = $context->getHttpsPort();
     $this->prepareLocale($parameters);
     $this->prepareAlias($name, $parameters);
     $this->prepareDomain($context, $parameters, $referenceType);
     $url = $this->router->generate('index' === $name ? 'contao_index' : 'contao_frontend', $parameters, $referenceType);
     // Reset the request context
     $context->setHost($host);
     $context->setScheme($scheme);
     $context->setHttpPort($httpPort);
     $context->setHttpsPort($httpsPort);
     return $url;
 }