Tim Düsterhus [Tue, 26 Oct 2021 12:56:26 +0000 (14:56 +0200)]
Regenerate composer autoloader
Tim Düsterhus [Thu, 14 Oct 2021 13:14:54 +0000 (15:14 +0200)]
Merge branch '5.2' into 5.3
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
Tim Düsterhus [Tue, 28 Sep 2021 13:58:46 +0000 (15:58 +0200)]
Merge pull request #4531 from WoltLab/http-request-timeout
Configure emergency timeout in HTTPRequest
Tim Düsterhus [Tue, 28 Sep 2021 13:13:42 +0000 (15:13 +0200)]
Cast the Redis port to int
The `Redis::connect()` method expects the `$port` parameter to be an integer.
PHP will automatically cast numeric strings to an integer, but error out with
an TypeError if the string is not a well-formed number. This TypeError will not
be caught in an `catch(\Exception $e)` block, because TypeError does not
inherit Exception.
Perform an explicit cast to ensure the fallback to DiskCacheSource works.
Tim Düsterhus [Tue, 28 Sep 2021 12:31:33 +0000 (14:31 +0200)]
Configure emergency timeout in HTTPRequest
The connect and read timeouts might not reliably trigger in all cases.
Configure a large overall timeout to ensure PHP workers will terminate
eventually.
see
2dbd5654cb9faff45bb51df9a2f3834bd320cc00
Marcel Werk [Tue, 21 Sep 2021 14:53:14 +0000 (16:53 +0200)]
Merge pull request #4497 from max-m/patch-categoryMultiSelectOptionType
Make `categoryMultiSelectOptionType.tpl` behave like `categoryOptionList.tpl`
Alexander Ebert [Mon, 20 Sep 2021 15:48:31 +0000 (17:48 +0200)]
Incorrect gradient value in Safari
https://community.woltlab.com/thread/292475-mainmenushowprevious-mainmenushownext-safari-farbunterschied-fehler/
Maximilian Mader [Tue, 14 Sep 2021 16:19:15 +0000 (18:19 +0200)]
Make `categoryMultiSelectOptionType.tpl` behave like `categoryOptionList.tpl`
Currently the `categoryMultiSelectOptionType.tpl` outputs nodes of depth 0 and depth 1,
but article categories for example can be nested deeper than that.
The `categoryOptionList.tpl` as used by the category add forms handles arbitrary nesting levels already,
so I’ve ported the template logic over to the multi select option template.
The maximum nesting depth in the `AbstractCategoryMultiSelectOptionType.class.php` has been changed
to the default value (-1) to allow for infinite nesting depths.
Alexander Ebert [Sat, 11 Sep 2021 15:05:59 +0000 (17:05 +0200)]
Merge pull request #4496 from mutec/tagfieldfdp1
fix id of `CustomFormDataProcessor` in `TagFormField`
mutec [Fri, 10 Sep 2021 14:49:57 +0000 (16:49 +0200)]
fix id of `CustomFormDataProcessor` in `TagFormField`
the id was `acl` which seems to be a copy paste-mistake
Alexander Ebert [Thu, 9 Sep 2021 09:58:00 +0000 (11:58 +0200)]
Merge branch '5.2' into 5.3
Alexander Ebert [Thu, 9 Sep 2021 09:47:02 +0000 (11:47 +0200)]
Merge pull request #4493 from WoltLab/5.3-aclformfieldcleanup
Reset ACL field values within form cleanup
Alexander Ebert [Wed, 8 Sep 2021 12:13:30 +0000 (14:13 +0200)]
Release 5.3.14
Alexander Ebert [Wed, 8 Sep 2021 12:05:13 +0000 (14:05 +0200)]
Incorrect use of spaces for indentation in <5.4
Alexander Ebert [Sun, 8 Aug 2021 09:29:26 +0000 (11:29 +0200)]
Sandbox `foreachVars` in templates
Nesting the same template inside a `foreach` loop that is also accessed inside the nested call will overwrite the values from the outer template due to identical identifiers being used.
The sandbox did not protected `$this->foreachVars` despite being stateful.
See #4431
Fixes #4444
joshuaruesweg [Wed, 8 Sep 2021 11:53:42 +0000 (13:53 +0200)]
Reset ACL field values within form cleanup
joshuaruesweg [Wed, 8 Sep 2021 11:51:29 +0000 (13:51 +0200)]
Remove empty lines
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`.
Marcel Werk [Thu, 2 Sep 2021 13:54:36 +0000 (15:54 +0200)]
New link format for Facebook videos
Alexander Ebert [Tue, 31 Aug 2021 12:49:21 +0000 (14:49 +0200)]
Release 5.3.13
WoltLab [Tue, 31 Aug 2021 12:35:22 +0000 (12:35 +0000)]
Updating minified JavaScript files
Alexander Ebert [Tue, 31 Aug 2021 12:32:44 +0000 (14:32 +0200)]
Merge branch '5.2' into 5.3
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:59 +0000 (10:30 +0200)]
Merge branch '5.2' into 5.3
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:37:43 +0000 (13:37 +0200)]
Merge branch '5.2' into 5.3
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:19:27 +0000 (09:19 +0200)]
Merge branch '5.2' into 5.3
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 [Thu, 12 Aug 2021 08:07:08 +0000 (10:07 +0200)]
Add missing call to ->loadVariables() before downloading Google Font during style import
Tim Düsterhus [Wed, 11 Aug 2021 09:56:10 +0000 (11:56 +0200)]
Merge branch '5.2' into 5.3
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
Alexander Ebert [Fri, 6 Aug 2021 12:41:00 +0000 (14:41 +0200)]
Prevent submitting an empty message to the preview
Tim Düsterhus [Fri, 6 Aug 2021 10:26:36 +0000 (12:26 +0200)]
Merge branch '5.2' into 5.3
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 09:40:52 +0000 (11:40 +0200)]
Merge branch '5.2' into 5.3
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:26:15 +0000 (11:26 +0200)]
Merge branch '5.2' into 5.3
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:09:29 +0000 (17:09 +0200)]
Merge branch '5.2' into 5.3
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.
Marcel Werk [Tue, 3 Aug 2021 08:56:51 +0000 (10:56 +0200)]
Merge pull request #4431 from WoltLab/foreach-empty
Fix `{foreach}` loops when the to-be-iterated value is empty
Tim Düsterhus [Tue, 3 Aug 2021 07:55:35 +0000 (09:55 +0200)]
Fix `{foreach}` loops when the to-be-iterated value is empty
The restoring of the `item` value failed, because the necessary data in
`foreachVars` was only being filled when the `foreach()` loop was actually
entered. Move this saving of the old value up to ensure it always happens.
see
75ce18bc18904d1215c7d021ac0ac18c0a7a5d42
see #4425
Tim Düsterhus [Fri, 30 Jul 2021 12:45:20 +0000 (14:45 +0200)]
Merge branch '5.2' into 5.3
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
Marcel Werk [Thu, 29 Jul 2021 15:34:19 +0000 (17:34 +0200)]
Merge pull request #4425 from WoltLab/template-engine-foreach-variable-unset-fix
Foreach tag unset variables that have the value NULL
Marcel Werk [Wed, 28 Jul 2021 12:24:50 +0000 (14:24 +0200)]
Foreach tag unset variables that have the value NULL
Tim Düsterhus [Wed, 28 Jul 2021 07:56:09 +0000 (09:56 +0200)]
Use correct English quote marks in en.xml
Tim Düsterhus [Fri, 23 Jul 2021 07:10:50 +0000 (09:10 +0200)]
Merge branch '5.2' into 5.3
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()
Alexander Ebert [Thu, 15 Jul 2021 12:04:15 +0000 (14:04 +0200)]
Release 5.3.12
Alexander Ebert [Thu, 15 Jul 2021 10:45:36 +0000 (12:45 +0200)]
Improved the explanation for missing system requirements
Alexander Ebert [Wed, 14 Jul 2021 13:14:25 +0000 (15:14 +0200)]
Release 5.3.11
Alexander Ebert [Wed, 14 Jul 2021 12:27:04 +0000 (14:27 +0200)]
Removed reference to earlier evaluation versions
Alexander Ebert [Wed, 14 Jul 2021 12:08:06 +0000 (14:08 +0200)]
Enable the upgrade notice for 5.4 by default
joshuaruesweg [Tue, 13 Jul 2021 08:31:43 +0000 (10:31 +0200)]
Use `emailConfirmed` status to exclude unconfirmed emails
With 5.3 we introduced the new `emailConfirmed` status to separate the status of the email and the activation status of the user. Therefore, we want to send emails to users, which emails are enabled. The user activation status is not relevant anymore for sending emails.
joshuaruesweg [Sun, 11 Jul 2021 08:34:16 +0000 (10:34 +0200)]
Merge branch '5.2'
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>
joshuaruesweg [Sat, 10 Jul 2021 09:39:33 +0000 (11:39 +0200)]
Set new activation code on rerequesting them
Matthias Schmidt [Wed, 7 Jul 2021 07:01:14 +0000 (09:01 +0200)]
Fix reading value of `CheckboxFormField`
In contrast to `BooleanFormField` for which an explicit "no" input field exists, a normal checkbox does not submit any data if no checked.
Matthias Schmidt [Tue, 6 Jul 2021 12:23:51 +0000 (14:23 +0200)]
Remove obsolete style logo upload field descriptions
See #3456
Tim Düsterhus [Tue, 6 Jul 2021 10:46:01 +0000 (12:46 +0200)]
Add missing encoding of `$family` in font download requests
Tim Düsterhus [Tue, 6 Jul 2021 07:34:53 +0000 (09:34 +0200)]
Merge branch '5.2' into 5.3
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 12:09:42 +0000 (14:09 +0200)]
Merge pull request #4368 from WoltLab/upgrade-check-webp
Add check for GD support to PackageEnableUpgradeOverrideForm
Tim Düsterhus [Mon, 5 Jul 2021 11:57:40 +0000 (13:57 +0200)]
Add check for GD support to PackageEnableUpgradeOverrideForm
Tim Düsterhus [Mon, 5 Jul 2021 10:39:50 +0000 (12:39 +0200)]
Validate the `actionName` in MessageQuoteAction
Tim Düsterhus [Mon, 5 Jul 2021 07:54:22 +0000 (09:54 +0200)]
Merge branch '5.2' into 5.3
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>
Alexander Ebert [Thu, 1 Jul 2021 12:13:27 +0000 (14:13 +0200)]
Release 5.3.10
WoltLab [Thu, 1 Jul 2021 08:32:22 +0000 (08:32 +0000)]
Updating minified JavaScript files
Marcel Werk [Mon, 28 Jun 2021 15:25:12 +0000 (17:25 +0200)]
Sorting in article category had no effect
Tim Düsterhus [Mon, 28 Jun 2021 14:44:53 +0000 (16:44 +0200)]
Add support for version upgrades (#4160)
* Add WCF::AVAILABLE_UPGRADE_VERSION
* Expose the available upgrade version to packageList.tpl
* Show notice in packageList if an upgrade is available
* Add upgrade override support to PackageUpdateServer
* Show notice about enabled upgrade override in packageList and packageUpdateServerList
* Add PackageEnableUpgradeOverrideForm
* Support disabling the upgrade override if there are issues
* Add version checks from update_com.woltlab.wcf_5.4_checkSystemRequirements.php to PackageEnableUpgradeOverrideForm
* Add language items for WoltLab Suite upgrades
* Clear package lists when toggling the upgrade override
* Add requested-woltlab-suite-version header to package list requests
* Improved the messages and restrict the upgrade to the maintenance mode
* Restrict the experimental upgrade to the maintenance mode
* Removed the upgrade notice from the package server list
Co-authored-by: Alexander Ebert <ebert@woltlab.com>
Matthias Schmidt [Fri, 25 Jun 2021 06:34:51 +0000 (08:34 +0200)]
Fix poll insertion after message edit if no poll exists
Previously, an empty `div.jsInlineEditorHideContent` element was added.
Tim Düsterhus [Wed, 23 Jun 2021 07:43:22 +0000 (09:43 +0200)]
Merge branch '5.2' into 5.3
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:40 +0000 (09:39 +0200)]
Merge branch '5.2' into 5.3
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
Matthias Schmidt [Mon, 21 Jun 2021 06:48:22 +0000 (08:48 +0200)]
Reset link-related fields after creating box