Tim Düsterhus [Thu, 20 Jan 2022 10:50:19 +0000 (11:50 +0100)]
Stop using `|encodeJSON`
(cherry picked from commit
ab1e34de9ca94dc44b20d0b4d58eca2bad80d9d3)
Alexander Ebert [Fri, 21 Jan 2022 12:27:41 +0000 (13:27 +0100)]
Merge branch '3.1' into 5.2
Alexander Ebert [Fri, 21 Jan 2022 12:06:52 +0000 (13:06 +0100)]
Release 3.1.26
Tim Düsterhus [Thu, 20 Jan 2022 10:50:47 +0000 (11:50 +0100)]
Add missing JSON encoding of the PAGE_TITLE in `ampArticle.tpl`
This does not need to be fixed in any current branch, because the broken-ness
of `|encodeJSON` will result in broken metadata one way or another.
(cherry picked from commit
bba7f1706e30761e55954a5a4be569e5bb55a6c4)
Tim Düsterhus [Thu, 20 Jan 2022 10:50:19 +0000 (11:50 +0100)]
Stop using `|encodeJSON`
(cherry picked from commit
ab1e34de9ca94dc44b20d0b4d58eca2bad80d9d3)
Tim Düsterhus [Thu, 20 Jan 2022 10:48:16 +0000 (11:48 +0100)]
Add `|json` template modifier
(cherry picked from commit
e178fa84dc06861c5aba3d14e03161c5396fe9a7)
Alexander Ebert [Wed, 19 Jan 2022 12:55:01 +0000 (13:55 +0100)]
Release 5.2.17
Alexander Ebert [Wed, 19 Jan 2022 12:50:25 +0000 (13:50 +0100)]
Merge branch '3.1' into 5.2
Alexander Ebert [Wed, 19 Jan 2022 12:46:00 +0000 (13:46 +0100)]
Release 3.1.25
Tim Düsterhus [Wed, 19 Jan 2022 12:29:10 +0000 (13:29 +0100)]
Merge branch '3.1' into 5.2
Tim Düsterhus [Wed, 19 Jan 2022 12:27:40 +0000 (13:27 +0100)]
Merge branch 'encode-js-quot' into 3.1
Tim Düsterhus [Tue, 4 Jan 2022 10:50:50 +0000 (11:50 +0100)]
Encode the double quote (`"`) in StringUtil::encodeJS()
`encodeJSON()` is currently broken, because while it HTML-encodes the double
quote, it does not actually add the backslash in front of it. Depending on
whether the HTML entity is interpreted by the browser in that specific location
or not, this either results in an incorrect string (with a literal `"`
instead of `"`) or in a syntax error (because the `"` ends the string
prematurely).
The latter might even allow for the injection of JavaScript, if `encodeJSON` is
used in a `<script>` tag that is not just LD-JSON metadata.
Fix this issue by escaping the double quote in `encodeJS` which is used
internally by `encodeJSON`. This should not cause issues, as an escaped double
quote is valid syntax within a JavaScript string.
Alexander Ebert [Tue, 30 Nov 2021 13:33:28 +0000 (14:33 +0100)]
Release 5.2.16
WoltLab [Tue, 30 Nov 2021 13:26:57 +0000 (13:26 +0000)]
Updating minified JavaScript files
Alexander Ebert [Tue, 30 Nov 2021 13:25:15 +0000 (14:25 +0100)]
Merge branch '3.1' into 5.2
WoltLab [Tue, 30 Nov 2021 12:57:10 +0000 (12:57 +0000)]
Updating minified JavaScript files
Alexander Ebert [Tue, 30 Nov 2021 10:01:51 +0000 (11:01 +0100)]
Release 3.1.24
Alexander Ebert [Wed, 10 Nov 2021 18:22:18 +0000 (19:22 +0100)]
Merge branch '3.1' into 5.2
Alexander Ebert [Wed, 10 Nov 2021 18:21:40 +0000 (19:21 +0100)]
Incorrect reset of the timer to show the loading indicator
The missing reset caused repeated calls to `show()` being effectively ignored, because the check `_timeoutShow === null` would be always true if the callback was cancelled before.
See https://community.woltlab.com/thread/293232-ajaxstatus-wird-nach-einem-fehlerhaften-request-nicht-wieder-angezeigt/
Tim Düsterhus [Thu, 4 Nov 2021 14:34:47 +0000 (15:34 +0100)]
Fix error message for `foreignColumnChange` in PHP DDL API
Tim Düsterhus [Tue, 2 Nov 2021 12:34:12 +0000 (13:34 +0100)]
Merge branch '3.1' into 5.2
Tim Düsterhus [Tue, 2 Nov 2021 12:31:07 +0000 (13:31 +0100)]
Merge pull request #4574 from WoltLab/supportexpiry-31
Notify users of the expiring support
Tim Düsterhus [Tue, 2 Nov 2021 11:11:50 +0000 (12:11 +0100)]
Tim Düsterhus [Thu, 14 Oct 2021 13:11:44 +0000 (15:11 +0200)]
Merge branch '3.1' into 5.2
Tim Düsterhus [Thu, 14 Oct 2021 13:10:10 +0000 (15:10 +0200)]
Fix EmailNewActivationCodeForm
This got broken, because it inherits from RegisterNewActivationForm and the “is
already enabled” validation was moved into a dedicated method within there. This
is a perfect example of why one should never inherit from controllers …
see
f394421c0cc7e8879007092e40e540b2fd1118c1
Joshua Rüsweg [Sat, 4 Sep 2021 10:24:10 +0000 (12:24 +0200)]
Merge pull request #4491 from Fighter456/devtools-language-fix
Fix miswording in language variable of devtools
Dennis Kraffczyk [Sat, 4 Sep 2021 10:11:50 +0000 (12:11 +0200)]
Fix miswording in language variable of devtools
The german language variable `wcf.acp.pip.page.name.description` uses the word `Boxname` but is used in the `PagePackageInstallationPlugin`.
Alexander Ebert [Tue, 31 Aug 2021 11:40:31 +0000 (13:40 +0200)]
Release 5.2.15
Alexander Ebert [Tue, 31 Aug 2021 11:31:31 +0000 (13:31 +0200)]
Merge branch '3.1' into 5.2
Alexander Ebert [Tue, 31 Aug 2021 10:32:33 +0000 (12:32 +0200)]
Release 3.1.23
Tim Düsterhus [Thu, 26 Aug 2021 08:30:10 +0000 (10:30 +0200)]
Merge branch '3.1' into 5.2
Tim Düsterhus [Thu, 26 Aug 2021 08:29:10 +0000 (10:29 +0200)]
Fix return type comment for AbstractDatabaseObjectAction::getSingleObject()
Tim Düsterhus [Wed, 25 Aug 2021 11:36:54 +0000 (13:36 +0200)]
Correctly handle null values in UserFormField::validate()
Closes #4471
Co-authored-by: Fabii547 <Fabii547@users.noreply.github.com>
WoltLab [Tue, 24 Aug 2021 09:49:26 +0000 (09:49 +0000)]
Updating minified JavaScript files
Tim Düsterhus [Fri, 13 Aug 2021 07:18:36 +0000 (09:18 +0200)]
Merge pull request #4459 from SoftCreatR/bugfix/custom-errors
Unify error handling in several templates
Sascha Greuel [Thu, 12 Aug 2021 16:08:27 +0000 (18:08 +0200)]
Unified error handling in several templates
Tim Düsterhus [Wed, 11 Aug 2021 09:37:23 +0000 (11:37 +0200)]
Merge pull request #4453 from WoltLab/iformbutton-is-available
Check whether an IFormButton is available before rendering
Tim Düsterhus [Wed, 11 Aug 2021 07:54:12 +0000 (09:54 +0200)]
Check whether an IFormButton is available before rendering
Joshua Rüsweg [Fri, 6 Aug 2021 09:22:18 +0000 (11:22 +0200)]
Merge pull request #4439 from xopez/5.2
Fixes Bings Sitemap Howto
xopez [Thu, 5 Aug 2021 14:55:45 +0000 (16:55 +0200)]
Fixes Bings Sitemap Howto
This includes the correct links if the Bing Webmaster Tools help & how-to for sitemaps.
joshuaruesweg [Thu, 5 Aug 2021 11:04:46 +0000 (13:04 +0200)]
Delete reaction type icon on delete action
Tim Düsterhus [Thu, 5 Aug 2021 07:16:18 +0000 (09:16 +0200)]
Fix typo in watchedArticleList.tpl
Tim Düsterhus [Wed, 4 Aug 2021 09:25:25 +0000 (11:25 +0200)]
Merge pull request #4435 from WoltLab/php-ddl-diff
PHP DDL Fixes
Tim Düsterhus [Wed, 4 Aug 2021 08:57:06 +0000 (10:57 +0200)]
Take the array key into account when checking whether a column is up to date in DatabaseTableChangeProcessor
Previously updating a column that looks like this:
column VARCHAR(1) NOT NULL
to:
column VARCHAR(1) NULL
would not do anything.
Converted into the `getData()` representation of the PHP DDL API these would
look like:
[ 'default' => null
, 'notNull' => 1
, 'type' => 'VARCHAR'
, 'length' => 1
]
and
[ 'default' => null
, 'notNull' => 0
, 'type' => 'VARCHAR'
, 'length' => 1
]
respectively.
Now taking the diff of the first array against the second array (subtracting
the second from the first) will remove *both* 1 values, resulting in an
empty difference, thus believing both columns are identical.
Fix this issue by using `array_diff_assoc` which will also take the key into
account.
Tim Düsterhus [Wed, 4 Aug 2021 08:36:12 +0000 (10:36 +0200)]
Take the array key into account when checking whether a KEY is up to date in DatabaseTableChangeProcessor
Previously updating a (pretty contrived) KEY that looks like this:
[…] UNIQUE KEY someIndex (`UNIQUE`)
to:
[…] KEY someIndex (`UNIQUE`)
would not do anything.
Converted into the `getData()` representation of the PHP DDL API these would
look like:
[ 'columns' => 'UNIQUE'
, 'type' => 'UNIQUE'
]
and
[ 'columns' => 'UNIQUE'
, 'type' => null
]
respectively.
Now taking the diff of the first array against the second array (subtracting
the second from the first) will remove *both* 'UNIQUE' values, resulting in an
empty difference, thus believing both KEYs are identical.
Fix this issue by using `array_diff_assoc` which will also take the key into
account.
Tim Düsterhus [Tue, 3 Aug 2021 15:08:35 +0000 (17:08 +0200)]
Merge pull request #4433 from WoltLab/php-ddl-diff
PHP DDL Fixes
Tim Düsterhus [Tue, 3 Aug 2021 14:33:43 +0000 (16:33 +0200)]
Take the array key into account when checking whether a FOREIGN KEY is up to date in DatabaseTableChangeProcessor
Previously updating a FOREIGN KEY that looks like this:
[…] FOREIGN KEY (fooID) REFERENCES wcf1_foo (fooID) ON DELETE SET NULL ON UPDATE CASCADE
to:
[…] FOREIGN KEY (fooID) REFERENCES wcf1_foo (fooID) ON DELETE CASCADE ON UPDATE SET NULL
would not do anything.
Converted into the `getData()` representation of the PHP DDL API these would
look identical when looking at the values only. Both span the same column and
reference the same column on the same table. The `ON …` actions are one
`CASCADE` and one `SET NULL` for both.
For this reason the diff is empty, believing that the FOREIGN KEY already
matches the expected configuration.
Fix this issue by using `array_diff_assoc` which will also take the key into
account.
Tim Düsterhus [Tue, 3 Aug 2021 14:13:58 +0000 (16:13 +0200)]
Take the array key into account when matching up FOREIGN KEYs in DatabaseTableChangeProcessor
Previously a FOREIGN KEY within the database that looks like this:
[…] FOREIGN KEY (someOtherUserID) REFERENCES wcf1_user (userID) […]
would match up a FOREIGN KEY definition like the following:
[…] FOREIGN KEY (userID) REFERENCES wcf1_user (userID) […]
Converted into the `getDiffData()` representation of the PHP DDL API these
would like:
[ 'columns' => 'someOtherUserID'
, 'referencedColumns' => 'userID'
, 'referencedTable' => 'wcf1_user'
]
and
[ 'columns' => 'userID'
, 'referencedColumns' => 'userID'
, 'referencedTable' => 'wcf1_user'
]
respectively.
Now taking the diff of the second array against the first array (subtracting
the first from the second) will remove *both* 'userID' values, resulting in an
empty difference, thus believing both FOREIGN KEYs are identical
Fix this issue by using `array_diff_assoc` which will also take the key into
account.
Tim Düsterhus [Fri, 30 Jul 2021 12:44:55 +0000 (14:44 +0200)]
Merge pull request #4427 from WoltLab/label-form-field-dependency
Add missing check for dependencies in LabelFormField processor
Tim Düsterhus [Fri, 30 Jul 2021 09:03:55 +0000 (11:03 +0200)]
Add missing check for dependencies in LabelFormField processor
Tim Düsterhus [Fri, 23 Jul 2021 07:10:26 +0000 (09:10 +0200)]
Merge branch '3.1' into 5.2
Tim Düsterhus [Fri, 23 Jul 2021 07:09:56 +0000 (09:09 +0200)]
Encode HTML in smileyTitle in Smiley::getHtml()
joshuaruesweg [Sun, 11 Jul 2021 08:31:21 +0000 (10:31 +0200)]
Merge branch '3.1'
Sascha Greuel [Sun, 11 Jul 2021 08:24:24 +0000 (10:24 +0200)]
Don't leak an account's activation status (#4365)
* Don't leak an account's activation status
* Update wcfsetup/install/files/lib/form/RegisterNewActivationCodeForm.class.php
Co-authored-by: Tim Düsterhus <timwolla@googlemail.com>
Co-authored-by: Tim Düsterhus <timwolla@googlemail.com>
Tim Düsterhus [Tue, 6 Jul 2021 07:34:26 +0000 (09:34 +0200)]
Merge branch '3.1' into 5.2
Tim Düsterhus [Tue, 6 Jul 2021 07:32:45 +0000 (09:32 +0200)]
Remove duplicate `class` attribute in cacheList.tpl
Tim Düsterhus [Mon, 5 Jul 2021 07:54:10 +0000 (09:54 +0200)]
Merge branch '3.1' into 5.2
Tim Düsterhus [Mon, 5 Jul 2021 07:53:22 +0000 (09:53 +0200)]
Fix typo in de.xml
Closes #4366
Co-authored-by: Sascha Greuel <sascha@softcreatr.de>
Tim Düsterhus [Wed, 23 Jun 2021 07:42:23 +0000 (09:42 +0200)]
Merge branch '3.1' into 5.2
Tim Düsterhus [Wed, 23 Jun 2021 07:39:21 +0000 (09:39 +0200)]
Fix typo in de.xml
Tim Düsterhus [Wed, 23 Jun 2021 07:37:13 +0000 (09:37 +0200)]
Use “Moderation” instead of “Moderatoren” in de.xml
Tim Düsterhus [Fri, 18 Jun 2021 13:47:18 +0000 (15:47 +0200)]
Merge branch '3.1' into 5.2
Tim Düsterhus [Fri, 18 Jun 2021 13:44:21 +0000 (15:44 +0200)]
Set 'accept-encoding: identity' by default in HTTPRequest
RFC 7231#5.3.4 allows a server to use an arbitrary 'content-encoding' when no
'accept-encoding' request header is sent.
Make it clear that no 'content-encoding' is acceptable by only accepting the
'identity' encoding.
Tim Düsterhus [Thu, 17 Jun 2021 12:42:42 +0000 (14:42 +0200)]
Merge branch '3.1' into 5.2
Tim Düsterhus [Thu, 17 Jun 2021 12:41:10 +0000 (14:41 +0200)]
Fix 'to its full extent' in en.xml
Matthias Schmidt [Fri, 4 Jun 2021 11:09:34 +0000 (13:09 +0200)]
Add missing `wcf.acp.devtools.pip.error.className` phrase
Close #4256
Matthias Schmidt [Wed, 12 May 2021 07:37:16 +0000 (09:37 +0200)]
Merge branch '3.1' into 5.2
Matthias Schmidt [Wed, 12 May 2021 07:33:29 +0000 (09:33 +0200)]
Merge pull request #4209 from WoltLab/comment_moderation_queue
Delete moderation queue entries after deleting comments/comment responses
Matthias Schmidt [Tue, 11 May 2021 17:13:21 +0000 (19:13 +0200)]
Delete moderation queue entries after deleting comments/comment responses
Close #4208
Matthias Schmidt [Tue, 11 May 2021 17:11:03 +0000 (19:11 +0200)]
Add missing `$definitionName` value for comment response moderation queue handlers
Matthias Schmidt [Tue, 11 May 2021 11:30:48 +0000 (13:30 +0200)]
Preserve article sorting when using pagination
joshuaruesweg [Tue, 11 May 2021 10:53:09 +0000 (12:53 +0200)]
Merge branch '3.1' into 5.2
joshuaruesweg [Tue, 11 May 2021 10:52:07 +0000 (12:52 +0200)]
Fix ignoring the disable state of an article category
Deactivated categories are currently only hidden in the overview of categories in the frontend. However, articles in these categories (and the category itself, via the direct link) were still accessible. This patch solves the problem by hiding the category for all users and making articles and the category itself no longer accessible for any user.
Matthias Schmidt [Mon, 10 May 2021 17:13:10 +0000 (19:13 +0200)]
Fix error messages of numeric form fields for minimum/maximum
Matthias Schmidt [Mon, 10 May 2021 10:19:22 +0000 (12:19 +0200)]
Add missing `license` element in `package.xsd`
Matthias Schmidt [Thu, 6 May 2021 11:59:35 +0000 (13:59 +0200)]
Merge branch '3.1' into 5.2
Matthias Schmidt [Thu, 6 May 2021 11:59:21 +0000 (13:59 +0200)]
Reset language form field in language import form after saving
Matthias Schmidt [Mon, 3 May 2021 10:30:07 +0000 (12:30 +0200)]
Merge branch '3.1' into 5.2
Matthias Schmidt [Mon, 3 May 2021 10:29:48 +0000 (12:29 +0200)]
Fix detection of nested tables in messages
Close #4175
Matthias Schmidt [Mon, 3 May 2021 10:27:17 +0000 (12:27 +0200)]
Fix table borders when cells with `rowspan` are visually in the last row (#4176)
See https://community.woltlab.com/thread/289598
Matthias Schmidt [Tue, 27 Apr 2021 15:11:03 +0000 (17:11 +0200)]
Add missing return value of `readValue()` of DevTools project form fields
Matthias Schmidt [Mon, 26 Apr 2021 14:20:34 +0000 (16:20 +0200)]
Do not write empty i18n package information in `package.xml`
Tim Düsterhus [Fri, 23 Apr 2021 13:27:49 +0000 (15:27 +0200)]
Merge branch '3.1' into 5.2
Tim Düsterhus [Fri, 23 Apr 2021 13:27:25 +0000 (15:27 +0200)]
Merge pull request #4143 from WoltLab/3.1-fix-sitemap
Fix generating sitemaps with factor 250 objects sitemaps
joshuaruesweg [Fri, 23 Apr 2021 09:32:26 +0000 (11:32 +0200)]
Fix generating sitemaps with factor 250 objects
Matthias Schmidt [Fri, 23 Apr 2021 06:07:42 +0000 (08:07 +0200)]
Only validate minimum text length if any text is given
The case of no text having been entered and the field being required is already handled separately.
Tim Düsterhus [Wed, 21 Apr 2021 13:08:40 +0000 (15:08 +0200)]
Merge pull request #4133 from WoltLab/article-update-outdated
Ensure that the creating of related rows uses up to date article fields
Tim Düsterhus [Tue, 20 Apr 2021 12:47:33 +0000 (14:47 +0200)]
Ensure that the creating of related rows uses up to date article fields
Previously the code would store outdated data in the search index and recent
activities when changing the article's timestamp while publishing the article
or when changing the article's author.
Alexander Ebert [Sat, 17 Apr 2021 10:00:17 +0000 (12:00 +0200)]
Merge branch '3.1' into 5.2
Alexander Ebert [Sat, 17 Apr 2021 10:00:01 +0000 (12:00 +0200)]
Update the number of responses that will be loaded
WoltLab [Wed, 14 Apr 2021 12:01:06 +0000 (12:01 +0000)]
Updating minified JavaScript files
Alexander Ebert [Wed, 14 Apr 2021 11:39:31 +0000 (13:39 +0200)]
Release 5.2.14
Alexander Ebert [Wed, 14 Apr 2021 11:36:56 +0000 (13:36 +0200)]
Merge branch '3.1' into 5.2
Alexander Ebert [Wed, 14 Apr 2021 11:20:59 +0000 (13:20 +0200)]
Release 3.1.22
Matthias Schmidt [Tue, 13 Apr 2021 11:13:38 +0000 (13:13 +0200)]
Add missing permissions check when removing moderated content
Matthias Schmidt [Tue, 13 Apr 2021 12:02:59 +0000 (14:02 +0200)]
Fix `reloadPageOnSuccess` from different clipboard actions for same object type
If there are multiple clipboard action classes for the same object type, for example in case a plugin adds further clipboard actions, only the `reloadPageOnSuccess` data of the first clipboard action instance is used instead of collecting the data from all relevant clipboard action instances.
See #2584
Marcel Werk [Mon, 12 Apr 2021 15:00:29 +0000 (17:00 +0200)]
Merge branch '3.1' into 5.2
Marcel Werk [Mon, 12 Apr 2021 14:59:49 +0000 (16:59 +0200)]
Updated Google's address in the privacy policy
Alexander Ebert [Mon, 12 Apr 2021 10:05:22 +0000 (12:05 +0200)]
Merge pull request #4112 from WoltLab/user-option-title
Use UserOption::getTitle() where possible
Tim Düsterhus [Mon, 12 Apr 2021 09:57:46 +0000 (11:57 +0200)]
Use UserOption::getTitle() in userOptionList.tpl
This one was missed in the previous commit.