public function getAvailableSitesAction() { $sitesList = new Model\Site\Listing(); $sitesObjects = $sitesList->load(); $sites = array(array("id" => \Pimcore\Tool\Admin::isExtJS6() ? "default" : "", "rootId" => 1, "domains" => "", "rootPath" => "/", "domain" => $this->view->translate("main_site"))); foreach ($sitesObjects as $site) { if ($site->getRootDocument()) { if ($site->getMainDomain()) { $sites[] = array("id" => $site->getId(), "rootId" => $site->getRootId(), "domains" => implode(",", $site->getDomains()), "rootPath" => $site->getRootPath(), "domain" => $site->getMainDomain()); } } else { // site is useless, parent doesn't exist anymore $site->delete(); } } $this->_helper->json($sites); }
public function portletAnalyticsSitesAction() { $t = \Zend_Registry::get("Zend_Translate"); $sites = new Site\Listing(); $data = [["id" => 0, "site" => $t->translate("main_site")]]; foreach ($sites->load() as $site) { if (\Pimcore\Google\Analytics::isConfigured($site)) { $data[] = ["id" => $site->getId(), "site" => $site->getMainDomain()]; } } $this->_helper->json(["data" => $data]); }
/** * @param $url * @return Document */ public static function getByUrl($url) { $urlParts = parse_url($url); if ($urlParts["path"]) { $document = Document::getByPath($urlParts["path"]); // search for a page in a site if (!$document) { $sitesList = new Model\Site\Listing(); $sitesObjects = $sitesList->load(); foreach ($sitesObjects as $site) { if ($site->getRootDocument() && (in_array($urlParts["host"], $site->getDomains()) || $site->getMainDomain() == $urlParts["host"])) { if ($document = Document::getByPath($site->getRootDocument() . $urlParts["path"])) { break; } } } } } return $document; }