+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/maelstrom/cronjob.xsd">
- <import>
- <cronjob>
- <classname><![CDATA[wcf\system\cronjob\StatDailyBuilderCronjob]]></classname>
- <description><![CDATA[Builds the daily statistics]]></description>
- <description language="de"><![CDATA[Generiert die täglichen Statistiken]]></description>
- <startminute>0</startminute>
- <starthour>1</starthour>
- <startdom>*</startdom>
- <startmonth>*</startmonth>
- <startdow>*</startdow>
- <active>1</active>
- <canbeedited>1</canbeedited>
- <canbedisabled>1</canbedisabled>
- </cronjob>
-
- <cronjob>
- <classname><![CDATA[wcf\system\cronjob\UserGroupAssignmentCronjob]]></classname>
- <description><![CDATA[Automatically assigns users to user groups]]></description>
- <description language="de"><![CDATA[Ordnet Benutzer automatisch Benutzergruppen zu]]></description>
- <startminute>*/30</startminute>
- <starthour>*</starthour>
- <startdom>*</startdom>
- <startmonth>*</startmonth>
- <startdow>*</startdow>
- <active>1</active>
- <canbeedited>1</canbeedited>
- <canbedisabled>1</canbedisabled>
- </cronjob>
-
- <cronjob>
- <classname><![CDATA[wcf\system\cronjob\UserBanCronjob]]></classname>
- <description><![CDATA[Unbans users and enables disabled avatars and disabled signatures]]></description>
- <description language="de"><![CDATA[Entsperrt gesperrte Benutzer, Avatare und Signaturen]]></description>
- <startminute>0</startminute>
- <starthour>1</starthour>
- <startdom>*</startdom>
- <startmonth>*</startmonth>
- <startdow>*</startdow>
- <active>1</active>
- <canbeedited>1</canbeedited>
- <canbedisabled>1</canbedisabled>
- </cronjob>
- </import>
-</data>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/maelstrom/cronjob.xsd">
+ <import>
+ <cronjob>
+ <classname><![CDATA[wcf\system\cronjob\StatDailyBuilderCronjob]]></classname>
+ <description><![CDATA[Builds the daily statistics]]></description>
+ <description language="de"><![CDATA[Generiert die täglichen Statistiken]]></description>
+ <startminute>0</startminute>
+ <starthour>1</starthour>
+ <startdom>*</startdom>
+ <startmonth>*</startmonth>
+ <startdow>*</startdow>
+ <active>1</active>
+ <canbeedited>1</canbeedited>
+ <canbedisabled>1</canbedisabled>
+ </cronjob>
+
+ <cronjob>
+ <classname><![CDATA[wcf\system\cronjob\UserGroupAssignmentCronjob]]></classname>
+ <description><![CDATA[Automatically assigns users to user groups]]></description>
+ <description language="de"><![CDATA[Ordnet Benutzer automatisch Benutzergruppen zu]]></description>
+ <startminute>*/30</startminute>
+ <starthour>*</starthour>
+ <startdom>*</startdom>
+ <startmonth>*</startmonth>
+ <startdow>*</startdow>
+ <active>1</active>
+ <canbeedited>1</canbeedited>
+ <canbedisabled>1</canbedisabled>
+ </cronjob>
+
+ <cronjob>
+ <classname><![CDATA[wcf\system\cronjob\UserBanCronjob]]></classname>
+ <description><![CDATA[Unbans users and enables disabled avatars and disabled signatures]]></description>
+ <description language="de"><![CDATA[Entsperrt gesperrte Benutzer, Avatare und Signaturen]]></description>
+ <startminute>0</startminute>
+ <starthour>1</starthour>
+ <startdom>*</startdom>
+ <startmonth>*</startmonth>
+ <startdow>*</startdow>
+ <active>1</active>
+ <canbeedited>1</canbeedited>
+ <canbedisabled>1</canbedisabled>
+ </cronjob>
+ </import>
+</data>
\ No newline at end of file
<packagedescription><![CDATA[Free web-framework, designed and developed for complex community applications.]]></packagedescription>
<packagedescription language="de"><![CDATA[Freies Web-Framework, das für komplexe Community-Anwendungen entworfen und entwickelt wurde.]]></packagedescription>
<isapplication>1</isapplication>
- <version>2.1.0 Beta 3</version> <!-- codename: typhoon -->
- <date>2015-01-09</date>
+ <version>2.1.0 Beta 4</version> <!-- codename: typhoon -->
+ <date>2015-01-23</date>
</packageinformation>
<authorinformation>
<instruction type="script">acp/post_install.php</instruction>
</instructions>
- <!--
- Update has not been tested with the changes since Alpha 1, disabled for now and will return in a future beta release (NOT beta 1!)
-
<instructions type="update" fromversion="2.0.10">
- --><!-- pre-update check to prevent update from WCF < 2.0.10 --><!--
+ <!-- pre-update check to prevent update from WCF < 2.0.10 -->
<instruction type="file">pre_update_check.tar</instruction>
<instruction type="script" run="standalone">acp/pre_update_com.woltlab.wcf_2.1.php</instruction>
- --><!-- the actual update --><!--
+ <!-- the actual update -->
<instruction type="option" run="standalone">option.xml</instruction>
- <instruction type="file">files_update.tar</instruction>
+ <instruction type="file">files.tar</instruction>
<instruction type="script">acp/update_com.woltlab.wcf_2.1.php</instruction>
<instruction type="template" run="standalone">templates_update.tar</instruction>
<instruction type="language" run="standalone">language/*.xml</instruction>
- <instruction type="sql" run="standalone">update_2.1.0_alpha_1.sql</instruction>
+ <instruction type="sql" run="standalone">update_210.sql</instruction>
- <instruction type="sql" run="standalone">update_user1_2.1.0_alpha_1.sql</instruction>
- <instruction type="sql" run="standalone">update_user2_2.1.0_alpha_1.sql</instruction>
- <instruction type="sql" run="standalone">update_user3_2.1.0_alpha_1.sql</instruction>
- <instruction type="sql" run="standalone">update_user4_2.1.0_alpha_1.sql</instruction>
+ <instruction type="sql" run="standalone">update_user1_210.sql</instruction>
+ <instruction type="sql" run="standalone">update_user2_210.sql</instruction>
+ <instruction type="sql" run="standalone">update_user3_210.sql</instruction>
+ <instruction type="sql" run="standalone">update_user4_210.sql</instruction>
<instruction type="acpMenu">acpMenu.xml</instruction>
<instruction type="bbcode">bbcode.xml</instruction>
+ <instruction type="style">blue-temptation-style.tgz</instruction>
<instruction type="clipboardAction">clipboardAction.xml</instruction>
<instruction type="coreObject">coreObject.xml</instruction>
- <instruction type="cronjob">cronjob_update.xml</instruction>
+ <instruction type="cronjob">cronjob_update410.xml</instruction>
<instruction type="dashboardBox">dashboardBox.xml</instruction>
<instruction type="objectTypeDefinition">objectTypeDefinition.xml</instruction>
<instruction type="objectType">objectType.xml</instruction>
+ <instruction type="option">option.xml</instruction>
<instruction type="pageMenu">pageMenu.xml</instruction>
<instruction type="userGroupOption">userGroupOption.xml</instruction>
<instruction type="userMenu">userMenu.xml</instruction>
<instruction type="script" run="standalone">acp/update_mqc_com.woltlab.wcf_2.1.php</instruction>
</instructions>
- -->
- <instructions type="update" fromversion="2.1.0 Beta 2">
+ <instructions type="update" fromversion="2.1.0 Beta 3">
<instruction type="acpTemplate">acptemplates_update.tar</instruction>
<instruction type="file">files_update.tar</instruction>
<instruction type="template">templates_update.tar</instruction>
<instruction type="language" run="standalone">language/*.xml</instruction>
-
- <instruction type="sql">update_2.1.0_beta_2.sql</instruction>
</instructions>
</package>
+++ /dev/null
-/*
- * ##################
- * ### NEW TABLES ###
- * ##################
- */
-
-DROP TABLE IF EXISTS wcf1_ad;
-CREATE TABLE wcf1_ad (
- adID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
- objectTypeID INT(10) NOT NULL,
- adName VARCHAR(255) NOT NULL,
- ad MEDIUMTEXT,
- isDisabled TINYINT(1) NOT NULL DEFAULT 0,
- showOrder INT(10) NOT NULL DEFAULT 0
-);
-
-DROP TABLE IF EXISTS wcf1_captcha_question;
-CREATE TABLE wcf1_captcha_question (
- questionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
- question VARCHAR(255) NOT NULL,
- answers MEDIUMTEXT,
- isDisabled TINYINT(1) NOT NULL DEFAULT 0
-);
-
-DROP TABLE IF EXISTS wcf1_condition;
-CREATE TABLE wcf1_condition (
- conditionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
- objectTypeID INT(10) NOT NULL,
- objectID INT(10) NOT NULL,
- conditionData MEDIUMTEXT
-);
-
-DROP TABLE IF EXISTS wcf1_edit_history_entry;
-CREATE TABLE wcf1_edit_history_entry (
- entryID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
- objectTypeID INT(10) NOT NULL,
- objectID INT(10) NOT NULL,
- userID INT(10),
- username VARCHAR(255) NOT NULL DEFAULT '',
- time INT(10) NOT NULL DEFAULT 0, -- time the version was created, displayed to the user
- obsoletedAt INT(10) NOT NULL DEFAULT 0, -- time the version was inserted into the edit history, used for clean up
- obsoletedByUserID INT(10),
- message MEDIUMTEXT,
- editReason TEXT,
-
- KEY (objectTypeID, objectID),
- KEY (obsoletedAt, obsoletedByUserID)
-);
-
-DROP TABLE IF EXISTS wcf1_message_embedded_object;
-CREATE TABLE wcf1_message_embedded_object (
- messageObjectTypeID INT(10) NOT NULL,
- messageID INT(10) NOT NULL,
- embeddedObjectTypeID INT(10) NOT NULL,
- embeddedObjectID INT(10) NOT NULL,
-
- KEY (messageObjectTypeID, messageID)
-);
-
-DROP TABLE IF EXISTS wcf1_notice;
-CREATE TABLE wcf1_notice (
- noticeID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
- noticeName VARCHAR(255) NOT NULL,
- notice MEDIUMTEXT,
- noticeUseHtml TINYINT(1) NOT NULL DEFAULT 0,
- cssClassName VARCHAR(255) NOT NULL DEFAULT 'info',
- showOrder INT(10) NOT NULL DEFAULT 0,
- isDisabled TINYINT(1) NOT NULL DEFAULT 0,
- isDismissible TINYINT(1) NOT NULL DEFAULT 0
-);
-
-DROP TABLE IF EXISTS wcf1_notice_dismissed;
-CREATE TABLE wcf1_notice_dismissed (
- noticeID INT(10) NOT NULL,
- userID INT(10) NOT NULL,
- PRIMARY KEY (noticeID, userID)
-);
-
-DROP TABLE IF EXISTS wcf1_paid_subscription;
-CREATE TABLE wcf1_paid_subscription (
- subscriptionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
- title VARCHAR(255) NOT NULL DEFAULT '',
- description TEXT,
- isDisabled TINYINT(1) NOT NULL DEFAULT 0,
- showOrder INT(10) NOT NULL DEFAULT 0,
- cost DECIMAL(10,2) NOT NULL DEFAULT 0,
- currency VARCHAR(3) NOT NULL DEFAULT 'EUR',
- subscriptionLength SMALLINT(3) NOT NULL DEFAULT 0,
- subscriptionLengthUnit ENUM('', 'D', 'M', 'Y') NOT NULL DEFAULT '',
- isRecurring TINYINT(1) NOT NULL DEFAULT 0,
- groupIDs TEXT,
- excludedSubscriptionIDs TEXT
-);
-
-DROP TABLE IF EXISTS wcf1_paid_subscription_user;
-CREATE TABLE wcf1_paid_subscription_user (
- subscriptionUserID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
- subscriptionID INT(10) NOT NULL,
- userID INT(10) NOT NULL,
- startDate INT(10) NOT NULL DEFAULT 0,
- endDate INT(10) NOT NULL DEFAULT 0,
- isActive TINYINT(1) NOT NULL DEFAULT 1,
-
- UNIQUE KEY (subscriptionID, userID),
- KEY (isActive)
-);
-
-DROP TABLE IF EXISTS wcf1_paid_subscription_transaction_log;
-CREATE TABLE wcf1_paid_subscription_transaction_log (
- logID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
- subscriptionUserID INT(10),
- userID INT(10),
- subscriptionID INT(10),
- paymentMethodObjectTypeID INT(10) NOT NULL,
- logTime INT(10) NOT NULL DEFAULT 0,
- transactionID VARCHAR(255) NOT NULL DEFAULT '',
- transactionDetails MEDIUMTEXT,
- logMessage VARCHAR(255) NOT NULL DEFAULT ''
-);
-
-DROP TABLE IF EXISTS wcf1_session_virtual;
-CREATE TABLE wcf1_session_virtual (
- virtualSessionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
- sessionID CHAR(40) NOT NULL,
- ipAddress VARCHAR(39) NOT NULL DEFAULT '',
- userAgent VARCHAR(255) NOT NULL DEFAULT '',
- lastActivityTime INT(10) NOT NULL DEFAULT 0,
- UNIQUE KEY (sessionID, ipAddress, userAgent)
-);
-
-DROP TABLE IF EXISTS wcf1_stat_daily;
-CREATE TABLE wcf1_stat_daily (
- statID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
- objectTypeID INT(10) NOT NULL,
- date DATE NOT NULL,
- counter INT(10) NOT NULL DEFAULT 0,
- total INT(10) NOT NULL DEFAULT 0,
-
- UNIQUE KEY (objectTypeID, date)
-);
-
-DROP TABLE IF EXISTS wcf1_user_authentication_failure;
-CREATE TABLE wcf1_user_authentication_failure (
- failureID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
- environment ENUM('user', 'admin') NOT NULL DEFAULT 'user',
- userID INT(10),
- username VARCHAR(255) NOT NULL DEFAULT '',
- time INT(10) NOT NULL DEFAULT 0,
- ipAddress VARCHAR(39) NOT NULL DEFAULT '',
- userAgent VARCHAR(255) NOT NULL DEFAULT '',
- KEY (ipAddress, time),
- KEY (time)
-);
-
-DROP TABLE IF EXISTS wcf1_user_group_assignment;
-CREATE TABLE wcf1_user_group_assignment (
- assignmentID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
- groupID INT(10) NOT NULL,
- title VARCHAR(255) NOT NULL,
- isDisabled TINYINT(1) NOT NULL DEFAULT 0
-);
-
-DROP TABLE IF EXISTS wcf1_user_notification_author;
-CREATE TABLE wcf1_user_notification_author (
- notificationID INT(10) NOT NULL,
- authorID INT(10),
- time INT(10) NOT NULL DEFAULT 0,
- UNIQUE KEY (notificationID, authorID)
-);
-
-/*
- * ############################
- * ### DROP EXISTING TABLES ###
- * ############################
- */
-
-DROP TABLE wcf1_search_index;
-
-/*
- * ##############################
- * ### MODIFY EXISTING TABLES ###
- * ##############################
- */
-
-ALTER TABLE wcf1_bbcode ADD originIsSystem TINYINT(1) NOT NULL DEFAULT 0;
-
-ALTER TABLE wcf1_label_group ADD showOrder INT(10) NOT NULL DEFAULT 0;
-
-ALTER TABLE wcf1_moderation_queue ADD comments SMALLINT(5) NOT NULL DEFAULT 0;
-ALTER TABLE wcf1_moderation_queue DROP FOREIGN KEY objectTypeID;
-ALTER TABLE wcf1_moderation_queue DROP KEY affectedObject;
-ALTER TABLE wcf1_moderation_queue ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
-
-/* change default value to '1' */
-ALTER TABLE wcf1_like CHANGE time time INT(10) NOT NULL DEFAULT 1;
-
-ALTER TABLE wcf1_page_menu_item ADD originIsSystem TINYINT(1) NOT NULL DEFAULT 0;
-
-/* truncate table to ensure consistency */
-DELETE FROM wcf1_session;
-
-ALTER TABLE wcf1_session ADD UNIQUE KEY uniqueUserID (userID);
-
-ALTER TABLE wcf1_sitemap ADD permissions TEXT NULL;
-ALTER TABLE wcf1_sitemap ADD options TEXT NULL;
-
-ALTER TABLE wcf1_template_listener ADD niceValue TINYINT(3) NOT NULL DEFAULT 0;
-
-ALTER TABLE wcf1_user_group_option ADD usersOnly TINYINT(1) NOT NULL DEFAULT 0;
-
-ALTER TABLE wcf1_user ADD gravatarFileExtension VARCHAR(3) NOT NULL DEFAULT '';
-
-/* truncate table to ensure consistency */
-DELETE FROM wcf1_user_notification;
-
-ALTER TABLE wcf1_user_notification CHANGE authorID authorID INT(10) NULL;
-ALTER TABLE wcf1_user_notification ADD timesTriggered INT(10) NOT NULL DEFAULT 0;
-ALTER TABLE wcf1_user_notification ADD guestTimesTriggered INT(10) NOT NULL DEFAULT 0;
-ALTER TABLE wcf1_user_notification ADD userID INT(10) NOT NULL;
-ALTER TABLE wcf1_user_notification ADD mailNotified TINYINT(1) NOT NULL DEFAULT 0;
-ALTER TABLE wcf1_user_notification ADD confirmTime INT(10) NOT NULL DEFAULT 0;
-ALTER TABLE wcf1_user_notification ADD baseObjectID INT(10) NOT NULL DEFAULT 0;
-ALTER TABLE wcf1_user_notification ADD KEY (userID, eventID, objectID, confirmTime);
-ALTER TABLE wcf1_user_notification ADD KEY (userID, confirmTime);
-
-ALTER TABLE wcf1_user_notification_to_user DROP mailNotified;
-
-ALTER TABLE wcf1_user_notification_event ADD presetMailNotificationType ENUM('none', 'instant', 'daily') NOT NULL DEFAULT 'none';
-
-ALTER TABLE wcf1_user_option ADD originIsSystem TINYINT(1) NOT NULL DEFAULT 0;
-
-/*
- * ####################
- * ### FOREIGN KEYS ###
- * ####################
- */
-
-ALTER TABLE wcf1_ad ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
-
-ALTER TABLE wcf1_condition ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
-
-ALTER TABLE wcf1_edit_history_entry ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
-ALTER TABLE wcf1_edit_history_entry ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
-ALTER TABLE wcf1_edit_history_entry ADD FOREIGN KEY (obsoletedByUserID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
-
-ALTER TABLE wcf1_paid_subscription_user ADD FOREIGN KEY (subscriptionID) REFERENCES wcf1_paid_subscription (subscriptionID) ON DELETE CASCADE;
-ALTER TABLE wcf1_paid_subscription_user ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
-
-ALTER TABLE wcf1_paid_subscription_transaction_log ADD FOREIGN KEY (subscriptionUserID) REFERENCES wcf1_paid_subscription_user (subscriptionUserID) ON DELETE SET NULL;
-ALTER TABLE wcf1_paid_subscription_transaction_log ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
-ALTER TABLE wcf1_paid_subscription_transaction_log ADD FOREIGN KEY (subscriptionID) REFERENCES wcf1_paid_subscription (subscriptionID) ON DELETE SET NULL;
-ALTER TABLE wcf1_paid_subscription_transaction_log ADD FOREIGN KEY (paymentMethodObjectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
-
-ALTER TABLE wcf1_session_virtual ADD FOREIGN KEY (sessionID) REFERENCES wcf1_session (sessionID) ON DELETE CASCADE ON UPDATE CASCADE;
-
-ALTER TABLE wcf1_user_group_assignment ADD FOREIGN KEY (groupID) REFERENCES wcf1_user_group (groupID) ON DELETE CASCADE;
-
-ALTER TABLE wcf1_user_notification DROP FOREIGN KEY packageID;
-ALTER TABLE wcf1_user_notification ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
-
-ALTER TABLE wcf1_user_notification_author ADD FOREIGN KEY (notificationID) REFERENCES wcf1_user_notification (notificationID) ON DELETE CASCADE;
-ALTER TABLE wcf1_user_notification_author ADD FOREIGN KEY (authorID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
-
-ALTER TABLE wcf1_user_authentication_failure ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
-
-ALTER TABLE wcf1_message_embedded_object ADD FOREIGN KEY (messageObjectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
-ALTER TABLE wcf1_message_embedded_object ADD FOREIGN KEY (embeddedObjectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
-
-ALTER TABLE wcf1_stat_daily ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
-
-ALTER TABLE wcf1_notice_dismissed ADD FOREIGN KEY (noticeID) REFERENCES wcf1_notice (noticeID) ON DELETE CASCADE;
-ALTER TABLE wcf1_notice_dismissed ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
-
-/*
- * #######################
- * ### STYLE VARIABLES ###
- * #######################
- */
-
-UPDATE wcf1_style_variable SET defaultValue = '0px' WHERE variableName = 'wcfContainerBorderRadius';
-DELETE FROM wcf1_style_variable WHERE variableName = 'wcfMainMenuHoverBackgroundColor';
-
-/*
- * ########################
- * ### MEDIA PROVIDIERS ###
- * ########################
- */
-
-INSERT INTO wcf1_bbcode_media_provider (title, regex, html) VALUES ('Soundcloud set', 'https?://soundcloud.com/(?P<artist>[a-zA-Z0-9_-]+)/sets/(?P<name>[a-zA-Z0-9_-]+)', '<iframe width="100%" height="450" scrolling="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fsoundcloud.com%2F{$artist}%2Fsets%2F{$name}"></iframe>');
-UPDATE wcf1_bbcode_media_provider SET regex = 'https?://soundcloud.com/(?P<artist>[a-zA-Z0-9_-]+)/(?!sets/)(?P<song>[a-zA-Z0-9_-]+)' WHERE title = 'Soundcloud';
-UPDATE wcf1_bbcode_media_provider SET html = '<iframe style="max-width:100%;" width="560" height="315" src="https://www.youtube-nocookie.com/embed/{$ID}?wmode=transparent{$start}" allowfullscreen></iframe>' WHERE title = 'YouTube';
-
-/*
- * ########################
- * ### MINOR UPDATES ######
- * ########################
- */
-
-/* change default value to '1' */
-UPDATE wcf1_like SET time = 1 WHERE time = 0;
+++ /dev/null
-ALTER TABLE wcf1_package_update_server ADD apiVersion ENUM('2.0', '2.1') NOT NULL DEFAULT '2.0';
-ALTER TABLE wcf1_package_update_server ADD metaData TEXT;
\ No newline at end of file
--- /dev/null
+/*
+ * ##################
+ * ### NEW TABLES ###
+ * ##################
+ */
+
+DROP TABLE IF EXISTS wcf1_ad;
+CREATE TABLE wcf1_ad (
+ adID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ objectTypeID INT(10) NOT NULL,
+ adName VARCHAR(255) NOT NULL,
+ ad MEDIUMTEXT,
+ isDisabled TINYINT(1) NOT NULL DEFAULT 0,
+ showOrder INT(10) NOT NULL DEFAULT 0
+);
+
+DROP TABLE IF EXISTS wcf1_captcha_question;
+CREATE TABLE wcf1_captcha_question (
+ questionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ question VARCHAR(255) NOT NULL,
+ answers MEDIUMTEXT,
+ isDisabled TINYINT(1) NOT NULL DEFAULT 0
+);
+
+DROP TABLE IF EXISTS wcf1_condition;
+CREATE TABLE wcf1_condition (
+ conditionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ objectTypeID INT(10) NOT NULL,
+ objectID INT(10) NOT NULL,
+ conditionData MEDIUMTEXT
+);
+
+DROP TABLE IF EXISTS wcf1_edit_history_entry;
+CREATE TABLE wcf1_edit_history_entry (
+ entryID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ objectTypeID INT(10) NOT NULL,
+ objectID INT(10) NOT NULL,
+ userID INT(10),
+ username VARCHAR(255) NOT NULL DEFAULT '',
+ time INT(10) NOT NULL DEFAULT 0, -- time the version was created, displayed to the user
+ obsoletedAt INT(10) NOT NULL DEFAULT 0, -- time the version was inserted into the edit history, used for clean up
+ obsoletedByUserID INT(10),
+ message MEDIUMTEXT,
+ editReason TEXT,
+
+ KEY (objectTypeID, objectID),
+ KEY (obsoletedAt, obsoletedByUserID)
+);
+
+DROP TABLE IF EXISTS wcf1_message_embedded_object;
+CREATE TABLE wcf1_message_embedded_object (
+ messageObjectTypeID INT(10) NOT NULL,
+ messageID INT(10) NOT NULL,
+ embeddedObjectTypeID INT(10) NOT NULL,
+ embeddedObjectID INT(10) NOT NULL,
+
+ KEY (messageObjectTypeID, messageID)
+);
+
+DROP TABLE IF EXISTS wcf1_notice;
+CREATE TABLE wcf1_notice (
+ noticeID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ noticeName VARCHAR(255) NOT NULL,
+ notice MEDIUMTEXT,
+ noticeUseHtml TINYINT(1) NOT NULL DEFAULT 0,
+ cssClassName VARCHAR(255) NOT NULL DEFAULT 'info',
+ showOrder INT(10) NOT NULL DEFAULT 0,
+ isDisabled TINYINT(1) NOT NULL DEFAULT 0,
+ isDismissible TINYINT(1) NOT NULL DEFAULT 0
+);
+
+DROP TABLE IF EXISTS wcf1_notice_dismissed;
+CREATE TABLE wcf1_notice_dismissed (
+ noticeID INT(10) NOT NULL,
+ userID INT(10) NOT NULL,
+ PRIMARY KEY (noticeID, userID)
+);
+
+DROP TABLE IF EXISTS wcf1_paid_subscription;
+CREATE TABLE wcf1_paid_subscription (
+ subscriptionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ title VARCHAR(255) NOT NULL DEFAULT '',
+ description TEXT,
+ isDisabled TINYINT(1) NOT NULL DEFAULT 0,
+ showOrder INT(10) NOT NULL DEFAULT 0,
+ cost DECIMAL(10,2) NOT NULL DEFAULT 0,
+ currency VARCHAR(3) NOT NULL DEFAULT 'EUR',
+ subscriptionLength SMALLINT(3) NOT NULL DEFAULT 0,
+ subscriptionLengthUnit ENUM('', 'D', 'M', 'Y') NOT NULL DEFAULT '',
+ isRecurring TINYINT(1) NOT NULL DEFAULT 0,
+ groupIDs TEXT,
+ excludedSubscriptionIDs TEXT
+);
+
+DROP TABLE IF EXISTS wcf1_paid_subscription_user;
+CREATE TABLE wcf1_paid_subscription_user (
+ subscriptionUserID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ subscriptionID INT(10) NOT NULL,
+ userID INT(10) NOT NULL,
+ startDate INT(10) NOT NULL DEFAULT 0,
+ endDate INT(10) NOT NULL DEFAULT 0,
+ isActive TINYINT(1) NOT NULL DEFAULT 1,
+
+ UNIQUE KEY (subscriptionID, userID),
+ KEY (isActive)
+);
+
+DROP TABLE IF EXISTS wcf1_paid_subscription_transaction_log;
+CREATE TABLE wcf1_paid_subscription_transaction_log (
+ logID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ subscriptionUserID INT(10),
+ userID INT(10),
+ subscriptionID INT(10),
+ paymentMethodObjectTypeID INT(10) NOT NULL,
+ logTime INT(10) NOT NULL DEFAULT 0,
+ transactionID VARCHAR(255) NOT NULL DEFAULT '',
+ transactionDetails MEDIUMTEXT,
+ logMessage VARCHAR(255) NOT NULL DEFAULT ''
+);
+
+DROP TABLE IF EXISTS wcf1_session_virtual;
+CREATE TABLE wcf1_session_virtual (
+ virtualSessionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ sessionID CHAR(40) NOT NULL,
+ ipAddress VARCHAR(39) NOT NULL DEFAULT '',
+ userAgent VARCHAR(255) NOT NULL DEFAULT '',
+ lastActivityTime INT(10) NOT NULL DEFAULT 0,
+ UNIQUE KEY (sessionID, ipAddress, userAgent)
+);
+
+DROP TABLE IF EXISTS wcf1_stat_daily;
+CREATE TABLE wcf1_stat_daily (
+ statID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ objectTypeID INT(10) NOT NULL,
+ date DATE NOT NULL,
+ counter INT(10) NOT NULL DEFAULT 0,
+ total INT(10) NOT NULL DEFAULT 0,
+
+ UNIQUE KEY (objectTypeID, date)
+);
+
+DROP TABLE IF EXISTS wcf1_user_authentication_failure;
+CREATE TABLE wcf1_user_authentication_failure (
+ failureID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ environment ENUM('user', 'admin') NOT NULL DEFAULT 'user',
+ userID INT(10),
+ username VARCHAR(255) NOT NULL DEFAULT '',
+ time INT(10) NOT NULL DEFAULT 0,
+ ipAddress VARCHAR(39) NOT NULL DEFAULT '',
+ userAgent VARCHAR(255) NOT NULL DEFAULT '',
+ KEY (ipAddress, time),
+ KEY (time)
+);
+
+DROP TABLE IF EXISTS wcf1_user_group_assignment;
+CREATE TABLE wcf1_user_group_assignment (
+ assignmentID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ groupID INT(10) NOT NULL,
+ title VARCHAR(255) NOT NULL,
+ isDisabled TINYINT(1) NOT NULL DEFAULT 0
+);
+
+DROP TABLE IF EXISTS wcf1_user_notification_author;
+CREATE TABLE wcf1_user_notification_author (
+ notificationID INT(10) NOT NULL,
+ authorID INT(10),
+ time INT(10) NOT NULL DEFAULT 0,
+ UNIQUE KEY (notificationID, authorID)
+);
+
+/*
+ * ############################
+ * ### DROP EXISTING TABLES ###
+ * ############################
+ */
+
+DROP TABLE wcf1_search_index;
+
+/*
+ * ##############################
+ * ### MODIFY EXISTING TABLES ###
+ * ##############################
+ */
+
+ALTER TABLE wcf1_bbcode ADD originIsSystem TINYINT(1) NOT NULL DEFAULT 0;
+
+ALTER TABLE wcf1_label_group ADD showOrder INT(10) NOT NULL DEFAULT 0;
+
+ALTER TABLE wcf1_moderation_queue ADD comments SMALLINT(5) NOT NULL DEFAULT 0;
+ALTER TABLE wcf1_moderation_queue DROP FOREIGN KEY objectTypeID;
+ALTER TABLE wcf1_moderation_queue DROP KEY affectedObject;
+ALTER TABLE wcf1_moderation_queue ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
+
+/* change default value to '1' */
+ALTER TABLE wcf1_like CHANGE time time INT(10) NOT NULL DEFAULT 1;
+
+ALTER TABLE wcf1_page_menu_item ADD originIsSystem TINYINT(1) NOT NULL DEFAULT 0;
+
+/* truncate table to ensure consistency */
+DELETE FROM wcf1_session;
+
+ALTER TABLE wcf1_session ADD UNIQUE KEY uniqueUserID (userID);
+
+ALTER TABLE wcf1_sitemap ADD permissions TEXT NULL;
+ALTER TABLE wcf1_sitemap ADD options TEXT NULL;
+
+ALTER TABLE wcf1_template_listener ADD niceValue TINYINT(3) NOT NULL DEFAULT 0;
+
+ALTER TABLE wcf1_user_group_option ADD usersOnly TINYINT(1) NOT NULL DEFAULT 0;
+
+ALTER TABLE wcf1_user ADD gravatarFileExtension VARCHAR(3) NOT NULL DEFAULT '';
+
+/* truncate table to ensure consistency */
+DELETE FROM wcf1_user_notification;
+
+ALTER TABLE wcf1_user_notification CHANGE authorID authorID INT(10) NULL;
+ALTER TABLE wcf1_user_notification ADD timesTriggered INT(10) NOT NULL DEFAULT 0;
+ALTER TABLE wcf1_user_notification ADD guestTimesTriggered INT(10) NOT NULL DEFAULT 0;
+ALTER TABLE wcf1_user_notification ADD userID INT(10) NOT NULL;
+ALTER TABLE wcf1_user_notification ADD mailNotified TINYINT(1) NOT NULL DEFAULT 0;
+ALTER TABLE wcf1_user_notification ADD confirmTime INT(10) NOT NULL DEFAULT 0;
+ALTER TABLE wcf1_user_notification ADD baseObjectID INT(10) NOT NULL DEFAULT 0;
+ALTER TABLE wcf1_user_notification ADD KEY (userID, eventID, objectID, confirmTime);
+ALTER TABLE wcf1_user_notification ADD KEY (userID, confirmTime);
+
+ALTER TABLE wcf1_user_notification_to_user DROP mailNotified;
+
+ALTER TABLE wcf1_user_notification_event ADD presetMailNotificationType ENUM('none', 'instant', 'daily') NOT NULL DEFAULT 'none';
+
+ALTER TABLE wcf1_user_option ADD originIsSystem TINYINT(1) NOT NULL DEFAULT 0;
+
+/*
+ * ####################
+ * ### FOREIGN KEYS ###
+ * ####################
+ */
+
+ALTER TABLE wcf1_ad ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
+
+ALTER TABLE wcf1_condition ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
+
+ALTER TABLE wcf1_edit_history_entry ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
+ALTER TABLE wcf1_edit_history_entry ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
+ALTER TABLE wcf1_edit_history_entry ADD FOREIGN KEY (obsoletedByUserID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
+
+ALTER TABLE wcf1_paid_subscription_user ADD FOREIGN KEY (subscriptionID) REFERENCES wcf1_paid_subscription (subscriptionID) ON DELETE CASCADE;
+ALTER TABLE wcf1_paid_subscription_user ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
+
+ALTER TABLE wcf1_paid_subscription_transaction_log ADD FOREIGN KEY (subscriptionUserID) REFERENCES wcf1_paid_subscription_user (subscriptionUserID) ON DELETE SET NULL;
+ALTER TABLE wcf1_paid_subscription_transaction_log ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
+ALTER TABLE wcf1_paid_subscription_transaction_log ADD FOREIGN KEY (subscriptionID) REFERENCES wcf1_paid_subscription (subscriptionID) ON DELETE SET NULL;
+ALTER TABLE wcf1_paid_subscription_transaction_log ADD FOREIGN KEY (paymentMethodObjectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
+
+ALTER TABLE wcf1_session_virtual ADD FOREIGN KEY (sessionID) REFERENCES wcf1_session (sessionID) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ALTER TABLE wcf1_user_group_assignment ADD FOREIGN KEY (groupID) REFERENCES wcf1_user_group (groupID) ON DELETE CASCADE;
+
+ALTER TABLE wcf1_user_notification DROP FOREIGN KEY packageID;
+ALTER TABLE wcf1_user_notification ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
+
+ALTER TABLE wcf1_user_notification_author ADD FOREIGN KEY (notificationID) REFERENCES wcf1_user_notification (notificationID) ON DELETE CASCADE;
+ALTER TABLE wcf1_user_notification_author ADD FOREIGN KEY (authorID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
+
+ALTER TABLE wcf1_user_authentication_failure ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE SET NULL;
+
+ALTER TABLE wcf1_message_embedded_object ADD FOREIGN KEY (messageObjectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
+ALTER TABLE wcf1_message_embedded_object ADD FOREIGN KEY (embeddedObjectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
+
+ALTER TABLE wcf1_stat_daily ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
+
+ALTER TABLE wcf1_notice_dismissed ADD FOREIGN KEY (noticeID) REFERENCES wcf1_notice (noticeID) ON DELETE CASCADE;
+ALTER TABLE wcf1_notice_dismissed ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
+
+/*
+ * #######################
+ * ### STYLE VARIABLES ###
+ * #######################
+ */
+
+UPDATE wcf1_style_variable SET defaultValue = '0px' WHERE variableName = 'wcfContainerBorderRadius';
+DELETE FROM wcf1_style_variable WHERE variableName = 'wcfMainMenuHoverBackgroundColor';
+
+/*
+ * ########################
+ * ### MEDIA PROVIDIERS ###
+ * ########################
+ */
+
+INSERT INTO wcf1_bbcode_media_provider (title, regex, html) VALUES ('Soundcloud set', 'https?://soundcloud.com/(?P<artist>[a-zA-Z0-9_-]+)/sets/(?P<name>[a-zA-Z0-9_-]+)', '<iframe width="100%" height="450" scrolling="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fsoundcloud.com%2F{$artist}%2Fsets%2F{$name}"></iframe>');
+UPDATE wcf1_bbcode_media_provider SET regex = 'https?://soundcloud.com/(?P<artist>[a-zA-Z0-9_-]+)/(?!sets/)(?P<song>[a-zA-Z0-9_-]+)' WHERE title = 'Soundcloud';
+UPDATE wcf1_bbcode_media_provider SET html = '<iframe style="max-width:100%;" width="560" height="315" src="https://www.youtube-nocookie.com/embed/{$ID}?wmode=transparent{$start}" allowfullscreen></iframe>' WHERE title = 'YouTube';
+
+/*
+ * ########################
+ * ### MINOR UPDATES ######
+ * ########################
+ */
+
+/* change default value to '1' */
+UPDATE wcf1_like SET time = 1 WHERE time = 0;
+++ /dev/null
-ALTER TABLE wcf1_user ADD banExpires INT(10) NOT NULL DEFAULT 0;
--- /dev/null
+ALTER TABLE wcf1_user ADD banExpires INT(10) NOT NULL DEFAULT 0;
+++ /dev/null
-ALTER TABLE wcf1_user ADD disableAvatarExpires INT(10) NOT NULL DEFAULT 0;
--- /dev/null
+ALTER TABLE wcf1_user ADD disableAvatarExpires INT(10) NOT NULL DEFAULT 0;
+++ /dev/null
-ALTER TABLE wcf1_user ADD disableSignatureExpires INT(10) NOT NULL DEFAULT 0;
--- /dev/null
+ALTER TABLE wcf1_user ADD disableSignatureExpires INT(10) NOT NULL DEFAULT 0;
+++ /dev/null
-ALTER TABLE wcf1_user ADD socialNetworkPrivacySettings TEXT;
--- /dev/null
+ALTER TABLE wcf1_user ADD socialNetworkPrivacySettings TEXT;
}
// define current wcf version
-define('WCF_VERSION', '2.1.0 Beta 3 (Typhoon)');
+define('WCF_VERSION', '2.1.0 Beta 4 (Typhoon)');
// define current unix timestamp
define('TIME_NOW', time());