コード例 #1
0
 /**
  * Create a new subsite
  *
  * @return void
  */
 public function newMultiSiteAction()
 {
     $sitePackages = $this->packageManager->getFilteredPackages('available', null, 'typo3-flow-site');
     $host = $this->request->getHttpRequest()->getBaseUri()->getHost();
     $possibleDomains = [];
     $hostParts = explode('.', $host);
     while (count($hostParts) > 1) {
         $possibleDomain = implode('.', $hostParts);
         $possibleDomains[$possibleDomain] = $possibleDomain;
         array_shift($hostParts);
     }
     $this->view->assignMultiple(array('sitePackages' => $sitePackages, 'possibleDomains' => $possibleDomains));
 }
コード例 #2
0
 /**
  * If site packages already exist and are active, we will deactivate them in order to prevent
  * interactions with the newly created or imported package (like Content Dimensions being used).
  *
  * @param string $activePackageKey Package key of one package which should stay active
  * @return array deactivated site packages
  */
 protected function deactivateAllOtherSitePackages($activePackageKey)
 {
     $sitePackagesToDeactivate = $this->packageManager->getFilteredPackages('active', null, 'typo3-flow-site');
     $deactivatedSitePackages = array();
     foreach (array_keys($sitePackagesToDeactivate) as $packageKey) {
         if ($packageKey !== $activePackageKey) {
             $this->packageManager->deactivatePackage($packageKey);
             $deactivatedSitePackages[] = $packageKey;
         }
     }
     return $deactivatedSitePackages;
 }
コード例 #3
0
 /**
  * If Site Packages already exist and are active, we will deactivate them in order to prevent
  * interactions with the newly created or imported package (like Content Dimensions being used).
  *
  * @param string $packageKey
  * @return array
  */
 protected function deactivateOtherSitePackages($packageKey)
 {
     $sitePackagesToDeactivate = $this->packageManager->getFilteredPackages('active', NULL, 'typo3-flow-site');
     $deactivatedSitePackages = array();
     foreach ($sitePackagesToDeactivate as $sitePackageToDeactivate) {
         if ($sitePackageToDeactivate->getPackageKey() !== $packageKey) {
             $this->packageManager->deactivatePackage($sitePackageToDeactivate->getPackageKey());
             $deactivatedSitePackages[] = $sitePackageToDeactivate->getPackageKey();
         }
     }
     if (count($deactivatedSitePackages) >= 1) {
         $this->flashMessageContainer->addMessage(new Message(sprintf('The existing Site Packages "%s" were deactivated, in order to prevent interactions with the newly created package "%s".', implode(', ', $deactivatedSitePackages), $packageKey)));
     }
 }