Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
 /**
  * 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;
         }
     }
 }