More work-arounds for update from 2.1
authorMarcel Werk <burntime@woltlab.com>
Sun, 6 Nov 2016 15:37:13 +0000 (16:37 +0100)
committerMarcel Werk <burntime@woltlab.com>
Sun, 6 Nov 2016 15:37:21 +0000 (16:37 +0100)
com.woltlab.wcf/package.xml
com.woltlab.wcf/update.sql
com.woltlab.wcf/update_page.sql [new file with mode: 0644]
wcfsetup/install/files/lib/system/application/ApplicationHandler.class.php

index 6bd2595b7c1b6b119de843b15a40610d99e64404..82721a2bc0f3170191cc957054b1a26a8187e5a2 100644 (file)
@@ -54,6 +54,7 @@
        <instructions type="update" fromversion="2.1.12">
                <instruction type="file">files_pre_update.tar</instruction>
                <instruction type="script">acp/update_com.woltlab.wcf_3.0_pre_sql.php</instruction>
+               <instruction type="sql">update_page.sql</instruction>
                
                <instruction type="file" run="standalone">files.tar</instruction>
                <instruction type="sql" run="standalone">update.sql</instruction>
index c8f762b2936659f6a2a9db537a134545971646d8..416de9b2f83254c1f57c3114eeea223bd77fb6d7 100644 (file)
@@ -325,44 +325,6 @@ ALTER TABLE wcf1_package_update_version DROP COLUMN isCritical;
 
 DROP TABLE IF EXISTS wcf1_page_menu_item;
 
-DROP TABLE IF EXISTS wcf1_page;
-CREATE TABLE wcf1_page (
-       pageID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
-       parentPageID INT(10),
-       identifier VARCHAR(255) NOT NULL,
-       name VARCHAR(255) NOT NULL,
-       pageType VARCHAR(255) NOT NULL,
-       isDisabled TINYINT(1) NOT NULL DEFAULT 0,
-       isLandingPage TINYINT(1) NOT NULL DEFAULT 0,
-       isMultilingual TINYINT(1) NOT NULL DEFAULT 0,
-       originIsSystem TINYINT(1) NOT NULL DEFAULT 0,
-       packageID INT(10) NOT NULL,
-       applicationPackageID INT(10),
-       controller VARCHAR(255) NOT NULL DEFAULT '',
-       handler VARCHAR(255) NOT NULL DEFAULT '',
-       controllerCustomURL VARCHAR(255) NOT NULL DEFAULT '',
-       requireObjectID TINYINT(1) NOT NULL DEFAULT 0,
-       hasFixedParent TINYINT(1) NOT NULL DEFAULT 0,
-       lastUpdateTime INT(10) NOT NULL DEFAULT 0,
-       permissions TEXT NULL,
-       options TEXT NULL
-);
-
-DROP TABLE IF EXISTS wcf1_page_content;
-CREATE TABLE wcf1_page_content (
-       pageContentID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
-       pageID INT(10) NOT NULL,
-       languageID INT(10),
-       title VARCHAR(255) NOT NULL,
-       content MEDIUMTEXT,
-       metaDescription TEXT,
-       metaKeywords TEXT,
-       customURL VARCHAR(255) NOT NULL,
-       hasEmbeddedObjects TINYINT(1) NOT NULL DEFAULT 0,
-       
-       UNIQUE KEY (pageID, languageID)
-);
-
 ALTER TABLE wcf1_session DROP COLUMN controller;
 ALTER TABLE wcf1_session DROP COLUMN parentObjectType;
 ALTER TABLE wcf1_session DROP COLUMN parentObjectID;
diff --git a/com.woltlab.wcf/update_page.sql b/com.woltlab.wcf/update_page.sql
new file mode 100644 (file)
index 0000000..4ddee5e
--- /dev/null
@@ -0,0 +1,37 @@
+DROP TABLE IF EXISTS wcf1_page;
+CREATE TABLE wcf1_page (
+       pageID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+       parentPageID INT(10),
+       identifier VARCHAR(255) NOT NULL,
+       name VARCHAR(255) NOT NULL,
+       pageType VARCHAR(255) NOT NULL,
+       isDisabled TINYINT(1) NOT NULL DEFAULT 0,
+       isLandingPage TINYINT(1) NOT NULL DEFAULT 0,
+       isMultilingual TINYINT(1) NOT NULL DEFAULT 0,
+       originIsSystem TINYINT(1) NOT NULL DEFAULT 0,
+       packageID INT(10) NOT NULL,
+       applicationPackageID INT(10),
+       controller VARCHAR(255) NOT NULL DEFAULT '',
+       handler VARCHAR(255) NOT NULL DEFAULT '',
+       controllerCustomURL VARCHAR(255) NOT NULL DEFAULT '',
+       requireObjectID TINYINT(1) NOT NULL DEFAULT 0,
+       hasFixedParent TINYINT(1) NOT NULL DEFAULT 0,
+       lastUpdateTime INT(10) NOT NULL DEFAULT 0,
+       permissions TEXT NULL,
+       options TEXT NULL
+);
+
+DROP TABLE IF EXISTS wcf1_page_content;
+CREATE TABLE wcf1_page_content (
+       pageContentID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+       pageID INT(10) NOT NULL,
+       languageID INT(10),
+       title VARCHAR(255) NOT NULL,
+       content MEDIUMTEXT,
+       metaDescription TEXT,
+       metaKeywords TEXT,
+       customURL VARCHAR(255) NOT NULL,
+       hasEmbeddedObjects TINYINT(1) NOT NULL DEFAULT 0,
+       
+       UNIQUE KEY (pageID, languageID)
+);
index 16b402b45e8fb92604f0179501cf9b06d9589aa6..4545da964d1e11c2e9ab4b1ebaca4c988fe181ac 100644 (file)
@@ -66,6 +66,9 @@ class ApplicationHandler extends SingletonFactory {
         * @since       3.0
         */
        public function getApplicationByID($packageID) {
+               if ($packageID == 1 && !isset($this->cache['application'][1])) {// work-around for update from 2.1 (out-dated cache)
+                       $this->cache['application'][1] = new Application(1);
+               }
                if (isset($this->cache['application'][$packageID])) {
                        return $this->cache['application'][$packageID];
                }