Check correctly whether pages may be indexed in the sitemap
authorjoshuaruesweg <ruesweg@woltlab.com>
Thu, 12 Mar 2020 14:37:01 +0000 (15:37 +0100)
committerjoshuaruesweg <ruesweg@woltlab.com>
Thu, 12 Mar 2020 14:37:25 +0000 (15:37 +0100)
wcfsetup/install/files/lib/system/sitemap/object/ArticleCategorySitemapObject.class.php
wcfsetup/install/files/lib/system/sitemap/object/ArticleSitemapObject.class.php
wcfsetup/install/files/lib/system/sitemap/object/UserSitemapObject.class.php

index 6515d1c16b1bedb209de33c21af9bb5f303d2d61..ef95366846a99e7a8bece0e8e0a5042aae3d1330 100644 (file)
@@ -4,6 +4,7 @@ use wcf\data\article\category\ArticleCategory;
 use wcf\data\category\CategoryList;
 use wcf\data\object\type\ObjectTypeCache;
 use wcf\data\DatabaseObject;
+use wcf\data\page\PageCache;
 
 /**
  * Article category sitemap implementation.
@@ -45,6 +46,6 @@ class ArticleCategorySitemapObject extends AbstractSitemapObjectObjectType {
         * @inheritDoc
         */
        public function isAvailableType() {
-               return MODULE_ARTICLE;
+               return MODULE_ARTICLE && PageCache::getInstance()->getPageByIdentifier('com.woltlab.wcf.CategoryArticleList')->allowSpidersToIndex;
        }
 }
index 6f026227a19662ac7f8fccef4b6cfba74af0cb10..d0483222b9152dd88320c9ed1afac0eaf78b3181 100644 (file)
@@ -2,6 +2,7 @@
 namespace wcf\system\sitemap\object;
 use wcf\data\article\content\ArticleContent;
 use wcf\data\DatabaseObject;
+use wcf\data\page\PageCache;
 
 /**
  * Article sitemap implementation. 
@@ -32,6 +33,6 @@ class ArticleSitemapObject extends AbstractSitemapObjectObjectType {
         * @inheritDoc
         */
        public function isAvailableType() {
-               return MODULE_ARTICLE;
+               return MODULE_ARTICLE && PageCache::getInstance()->getPageByIdentifier('com.woltlab.wcf.User')->allowSpidersToIndex;
        }
 }
index da87964f57b90afc5b25ffe67292b42071916fa2..ba24b5dbeb364a95504b28cf817908ff8a1d2b4c 100755 (executable)
@@ -1,5 +1,6 @@
 <?php
 namespace wcf\system\sitemap\object;
+use wcf\data\page\PageCache;
 use wcf\data\user\User;
 use wcf\system\WCF;
 
@@ -31,6 +32,6 @@ class UserSitemapObject extends AbstractSitemapObjectObjectType {
         * @inheritDoc
         */
        public function isAvailableType() {
-               return WCF::getSession()->getPermission('user.profile.canViewUserProfile');
+               return WCF::getSession()->getPermission('user.profile.canViewUserProfile') && PageCache::getInstance()->getPageByIdentifier('com.woltlab.wcf.Article')->allowSpidersToIndex;
        }
 }