Register sitemap values in the registry during update
authorjoshuaruesweg <ruesweg@woltlab.com>
Wed, 15 Jul 2020 08:39:49 +0000 (10:39 +0200)
committerjoshuaruesweg <ruesweg@woltlab.com>
Wed, 15 Jul 2020 08:39:49 +0000 (10:39 +0200)
wcfsetup/install/files/acp/update_com.woltlab.wcf_5.3_sitemaps.php [new file with mode: 0644]

diff --git a/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.3_sitemaps.php b/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.3_sitemaps.php
new file mode 100644 (file)
index 0000000..ad22f09
--- /dev/null
@@ -0,0 +1,24 @@
+<?php
+use wcf\data\object\type\ObjectTypeCache;
+use wcf\system\registry\RegistryHandler;
+use wcf\system\worker\SitemapRebuildWorker;
+
+/**
+ * @author     Joshua Ruesweg
+ * @copyright  2001-2020 WoltLab GmbH
+ * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package    WoltLabSuite\Core
+ */
+
+// HEADS UP: This script must be executed, BEFORE the objectType-PIP is executed.  
+
+$sitemapObjects = ObjectTypeCache::getInstance()->getObjectTypes('com.woltlab.wcf.sitemap.object');
+
+foreach ($sitemapObjects as $sitemapObject) {
+       RegistryHandler::getInstance()->set('com.woltlab.wcf', SitemapRebuildWorker::REGISTRY_PREFIX . $sitemapObject->objectType, serialize([
+               'priority' => $sitemapObject->priority,
+               'changeFreq' => $sitemapObject->changeFreq,
+               'rebuildTime' => $sitemapObject->rebuildTime,
+               'isDisabled' => $sitemapObject->isDisabled,
+       ]));
+}