/** * Constructor. */ private function __construct() { $this->metaDao = OASEO_BOL_MetaDao::getInstance(); $this->slugDao = OASEO_BOL_SlugDao::getInstance(); $this->urlDao = OASEO_BOL_UrlDao::getInstance(); $this->dataDao = OASEO_BOL_DataDao::getInstance(); $this->sitemapItemDao = OASEO_BOL_SitemapItemDao::getInstance(); $this->sitemapPageDao = OASEO_BOL_SitemapPageDao::getInstance(); $this->sitemapPageItemDao = OASEO_BOL_SitemapPageItemDao::getInstance(); $this->configs[self::CNF_SLUG_FILTER_COMMON_WORDS] = false; $this->configs[self::CNF_SLUG_OLD_URLS_ENABLE] = OW::getConfig()->getValue('oaseo', self::CNF_SLUG_OLD_URLS_ENABLE); $this->configs[self::CNF_SLUG_PLUGINS] = json_decode(OW::getConfig()->getValue('oaseo', self::CNF_SLUG_PLUGINS), true); $this->configs[self::CNF_CRAWL_TIME_LIMIT] = 15; $this->configs[self::CNF_MAX_PAGES_TO_INDEX] = 3000; $slugData = $this->getSlugData(); foreach ($slugData as $pluginKey => $data) { if (in_array($pluginKey, $this->configs[self::CNF_SLUG_PLUGINS])) { $this->activeEntityTypes = array_unique(array_merge($this->activeEntityTypes, array_keys($data))); } } // get all active slugs $slugs = $this->slugDao->findWorkingSlugs($this->activeEntityTypes); /* @var $slug OASEO_BOL_Slug */ foreach ($slugs as $slug) { if ($slug->getActive()) { $this->slugs['str'][$slug->getEntityType()][$slug->getString()] = $slug; $this->slugs['id'][$slug->getEntityType()][$slug->getEntityId()] = $slug; } } }