public function findBrokenPages($first, $count) { $query = "SELECT `id` from `" . $this->getTableName() . "` WHERE `" . self::BROKEN . "` = 1 LIMIT ?, ?"; $result = $this->dbo->queryForColumnList($query, array($first, $count)); if (!$result) { return array(); } $query = "SELECT p.url as burl, p2.url FROM `" . $this->getTableName() . "` AS `p` \n LEFT JOIN `" . OASEO_BOL_SitemapPageItemDao::getInstance()->getTableName() . "` AS `pi` ON (p.id = pi.itemId AND pi.type = 1)\n LEFT JOIN `" . $this->getTableName() . "` AS `p2` ON (`pi`.`pageId` = p2.id)\n WHERE p.id IN (" . $this->dbo->mergeInClause($result) . ")"; return $this->dbo->queryForList($query); }
public function findItemsByType($type, $first, $count) { $result = $this->dbo->queryForColumnList("SELECT `id` FROM `" . $this->getTableName() . "` WHERE `type` = " . $type . " ORDER BY `id` LIMIT ?,?", array($first, $count)); if (!$result) { return array(); } $query = "SELECT `i`.*, `p`.`url` FROM `" . $this->getTableName() . "` AS `i`\n LEFT JOIN `" . OASEO_BOL_SitemapPageItemDao::getInstance()->getTableName() . "` AS `pi` ON (`i`.`id` = `pi`.`itemId`)\n LEFT JOIN `" . OASEO_BOL_SitemapPageDao::getInstance()->getTableName() . "` AS `p` ON (`pi`.`pageId` = `p`.`id`)\n WHERE `pi`.`type` = " . ($type == OASEO_BOL_SitemapItemDao::VALUE_BROKEN_LINK ? OASEO_BOL_SitemapPageItemDao::TYPE_VALUE_PAGE : OASEO_BOL_SitemapPageItemDao::TYPE_VALUE_ITEM) . " AND `i`.`id` IN ( " . $this->dbo->mergeInClause($result) . " ) "; return $this->dbo->queryForList($query); }
/** * 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; } } }