Add `hasEmbeddedObjects` for comments and comment responses
authorMatthias Schmidt <gravatronics@live.com>
Wed, 9 Jun 2021 07:19:02 +0000 (09:19 +0200)
committerMatthias Schmidt <gravatronics@live.com>
Wed, 9 Jun 2021 07:19:02 +0000 (09:19 +0200)
wcfsetup/install/files/acp/database/update_com.woltlab.wcf_5.5.php [new file with mode: 0644]
wcfsetup/install/files/lib/data/comment/Comment.class.php
wcfsetup/install/files/lib/data/comment/response/CommentResponse.class.php
wcfsetup/setup/db/install.sql

diff --git a/wcfsetup/install/files/acp/database/update_com.woltlab.wcf_5.5.php b/wcfsetup/install/files/acp/database/update_com.woltlab.wcf_5.5.php
new file mode 100644 (file)
index 0000000..588b336
--- /dev/null
@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * Updates the database layout during the update from 5.4 to 5.5.
+ *
+ * @author Matthias Schmidt
+ * @copyright 2001-2021 WoltLab GmbH
+ * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package WoltLabSuite\Core
+ */
+
+use wcf\system\database\table\column\DefaultFalseBooleanDatabaseTableColumn;
+use wcf\system\database\table\PartialDatabaseTable;
+
+return [
+    PartialDatabaseTable::create('wcf1_comment')
+        ->columns([
+            DefaultFalseBooleanDatabaseTableColumn::create('hasEmbeddedObjects'),
+        ]),
+    PartialDatabaseTable::create('wcf1_comment_response')
+        ->columns([
+            DefaultFalseBooleanDatabaseTableColumn::create('hasEmbeddedObjects'),
+        ]),
+];
index 3590e4dcc0beddce5dab0c09cde1ba7f6243f1bb..6bcdb877ee0ed8c9a8b6851c051fd089e7ad2be1 100644 (file)
@@ -31,6 +31,7 @@ use wcf\util\StringUtil;
  * @property-read   string $unfilteredResponseIDs  serialized array with the ids of the five latest comment responses, including disabled ones
  * @property-read       int $enableHtml             is 1 if HTML will rendered in the comment, otherwise 0
  * @property-read   int $isDisabled     is 1 if the comment is disabled, otherwise 0
+ * @property-read   int $hasEmbeddedObjects is `1` if there are embedded objects in the comment, otherwise `0`
  */
 class Comment extends DatabaseObject implements IMessage
 {
index 7aef5818d12fd0a1e29598c722a01c792dde8a77..50619b581b8cc55c307775d11b7f35f326ffb7ed 100644 (file)
@@ -27,6 +27,7 @@ use wcf\util\StringUtil;
  * @property-read   string $message    comment response message
  * @property-read       int $enableHtml     is 1 if HTML will rendered in the comment response, otherwise 0
  * @property-read   int $isDisabled is 1 if the comment response is disabled, otherwise 0
+ * @property-read   int $hasEmbeddedObjects is `1` if there are embedded objects in the comment response, otherwise `0`
  */
 class CommentResponse extends DatabaseObject implements IMessage
 {
index 34dadc09041ffa724137bc0d675cbaafadd75779..ecddce494bb283982f1ce44b4c49ee97a07ea2d7 100644 (file)
@@ -410,6 +410,7 @@ CREATE TABLE wcf1_comment (
        unfilteredResponseIDs VARCHAR(255) NOT NULL DEFAULT '',
        enableHtml TINYINT(1) NOT NULL DEFAULT 0,
        isDisabled TINYINT(1) NOT NULL DEFAULT 0,
+       hasEmbeddedObjects TINYINT(1) NOT NULL DEFAULT 0,
 
        KEY (objectTypeID, objectID, isDisabled, time),
        KEY lastCommentTime (userID, time)
@@ -425,6 +426,7 @@ CREATE TABLE wcf1_comment_response (
        message MEDIUMTEXT NOT NULL,
        enableHtml TINYINT(1) NOT NULL DEFAULT 0,
        isDisabled TINYINT(1) NOT NULL DEFAULT 0,
+       hasEmbeddedObjects TINYINT(1) NOT NULL DEFAULT 0,
 
        KEY (commentID, isDisabled, time),
        KEY lastResponseTime (userID, time)