GitHub/WoltLab/WCF.git
3 years agoUse `getActiveRequest()` method in favor of directly accessing the class property
Tim Düsterhus [Tue, 6 Jul 2021 09:21:54 +0000 (11:21 +0200)]
Use `getActiveRequest()` method in favor of directly accessing the class property

3 years agoUse `isACPRequest()` method in favor of a local variable in RequestHandler::handle()
Tim Düsterhus [Tue, 6 Jul 2021 09:04:44 +0000 (11:04 +0200)]
Use `isACPRequest()` method in favor of a local variable in RequestHandler::handle()

3 years agoRemove unused local variable `$appendSession` in LinkHandler::getLink()
Tim Düsterhus [Tue, 6 Jul 2021 08:58:18 +0000 (10:58 +0200)]
Remove unused local variable `$appendSession` in LinkHandler::getLink()

3 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 6 Jul 2021 08:23:46 +0000 (10:23 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Tue, 6 Jul 2021 08:23:25 +0000 (10:23 +0200)]
Merge branch '5.3' into 5.4

3 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Tue, 6 Jul 2021 07:34:53 +0000 (09:34 +0200)]
Merge branch '5.2' into 5.3

3 years agoMerge branch '3.1' into 5.2
Tim Düsterhus [Tue, 6 Jul 2021 07:34:26 +0000 (09:34 +0200)]
Merge branch '3.1' into 5.2

3 years agoRemove duplicate `class` attribute in cacheList.tpl
Tim Düsterhus [Tue, 6 Jul 2021 07:32:45 +0000 (09:32 +0200)]
Remove duplicate `class` attribute in cacheList.tpl

3 years agoSupport sorting users in `UserOnlineListBoxController` (#4372)
Matthias Schmidt [Tue, 6 Jul 2021 07:12:34 +0000 (09:12 +0200)]
Support sorting users in `UserOnlineListBoxController` (#4372)

Close #4182

3 years agoRemove obsolete import
Tim Düsterhus [Mon, 5 Jul 2021 14:21:52 +0000 (16:21 +0200)]
Remove obsolete import

3 years agoRemove cleanup of `userID` and `password` cookies
Tim Düsterhus [Mon, 5 Jul 2021 14:00:08 +0000 (16:00 +0200)]
Remove cleanup of `userID` and `password` cookies

They are no longer used as of WoltLab Suite 5.4, however the removal remained
in the code to clean up the browser's cookie store on logout. Remove it, the
cookies will naturally expire in the future.

3 years agoSet `optimize-autoloader: true` in composer.json
Tim Düsterhus [Mon, 5 Jul 2021 13:08:13 +0000 (15:08 +0200)]
Set `optimize-autoloader: true` in composer.json

3 years agoMerge pull request #4369 from WoltLab/composer
Tim Düsterhus [Mon, 5 Jul 2021 13:03:53 +0000 (15:03 +0200)]
Merge pull request #4369 from WoltLab/composer

Update composer dependencies

3 years agoUpdate fileDelete.xml for composer updates
Tim Düsterhus [Mon, 5 Jul 2021 13:00:35 +0000 (15:00 +0200)]
Update fileDelete.xml for composer updates

3 years agoUpdate composer dependencies
Tim Düsterhus [Mon, 5 Jul 2021 12:49:15 +0000 (14:49 +0200)]
Update composer dependencies

3 years agoMerge branch '5.4'
Tim Düsterhus [Mon, 5 Jul 2021 12:19:01 +0000 (14:19 +0200)]
Merge branch '5.4'

3 years agoCheck for WebP support in update_com.woltlab.wcf_5.4_checkSystemRequirements.php
Tim Düsterhus [Mon, 5 Jul 2021 12:18:15 +0000 (14:18 +0200)]
Check for WebP support in update_com.woltlab.wcf_5.4_checkSystemRequirements.php

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Mon, 5 Jul 2021 12:17:29 +0000 (14:17 +0200)]
Merge branch '5.3' into 5.4

3 years agoMerge pull request #4368 from WoltLab/upgrade-check-webp
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

3 years agoAdd 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

3 years agoExport `WCFMessageQuoteManager` interface in `Ui/Message/Quote`
Matthias Schmidt [Mon, 5 Jul 2021 10:51:46 +0000 (12:51 +0200)]
Export `WCFMessageQuoteManager` interface in `Ui/Message/Quote`

See #3876

3 years agoMerge branch '5.4'
Tim Düsterhus [Mon, 5 Jul 2021 10:45:51 +0000 (12:45 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Mon, 5 Jul 2021 10:45:33 +0000 (12:45 +0200)]
Merge branch '5.3' into 5.4

3 years agoValidate the `actionName` in MessageQuoteAction
Tim Düsterhus [Mon, 5 Jul 2021 10:39:50 +0000 (12:39 +0200)]
Validate the `actionName` in MessageQuoteAction

3 years agoMerge branch '5.4'
Matthias Schmidt [Mon, 5 Jul 2021 09:54:20 +0000 (11:54 +0200)]
Merge branch '5.4'

3 years agoFix adding pages if only one language is available
Matthias Schmidt [Mon, 5 Jul 2021 09:53:05 +0000 (11:53 +0200)]
Fix adding pages if only one language is available

See 128dbea9130f7decfb255d0d6e04f83e291021e6

3 years agoMerge branch '5.4'
Matthias Schmidt [Mon, 5 Jul 2021 09:32:16 +0000 (11:32 +0200)]
Merge branch '5.4'

3 years agoFix code formatting issue
Matthias Schmidt [Mon, 5 Jul 2021 09:32:03 +0000 (11:32 +0200)]
Fix code formatting issue

3 years agoMerge branch '5.4'
Matthias Schmidt [Mon, 5 Jul 2021 09:27:25 +0000 (11:27 +0200)]
Merge branch '5.4'

3 years agoEnsure that app abbreviation is unique before app installation
Matthias Schmidt [Fri, 2 Jul 2021 11:23:40 +0000 (13:23 +0200)]
Ensure that app abbreviation is unique before app installation

Close #4344

3 years agoFix path of database PIP file located in `files_wcf/` for DevTools syncs
Matthias Schmidt [Mon, 5 Jul 2021 09:25:37 +0000 (11:25 +0200)]
Fix path of database PIP file located in `files_wcf/` for DevTools syncs

Close #4359

3 years agoMake renaming columns with PHP DB API idempotent (#4367)
Matthias Schmidt [Mon, 5 Jul 2021 09:15:20 +0000 (11:15 +0200)]
Make renaming columns with PHP DB API idempotent (#4367)

An error message should only be shown if the neither a column with the old name, nor with the name name exists so that after the rename, a second rename is a no-op.

Close #4362
See #3765

3 years agoMerge branch '5.4'
Tim Düsterhus [Mon, 5 Jul 2021 07:57:17 +0000 (09:57 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Mon, 5 Jul 2021 07:56:34 +0000 (09:56 +0200)]
Merge branch '5.3' into 5.4

Also applied the second change from #4366.

Co-authored-by: Sascha Greuel <sascha@softcreatr.de>
3 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Mon, 5 Jul 2021 07:54:22 +0000 (09:54 +0200)]
Merge branch '5.2' into 5.3

3 years agoMerge branch '3.1' into 5.2
Tim Düsterhus [Mon, 5 Jul 2021 07:54:10 +0000 (09:54 +0200)]
Merge branch '3.1' into 5.2

3 years agoFix typo in de.xml
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>
3 years agoAdd missing `@since` to AbstractOauth2Action
Tim Düsterhus [Mon, 5 Jul 2021 07:01:02 +0000 (09:01 +0200)]
Add missing `@since` to AbstractOauth2Action

3 years agoMake AbstractOauth2Action::getHttpClient() non-final
Tim Düsterhus [Sun, 4 Jul 2021 13:35:07 +0000 (15:35 +0200)]
Make AbstractOauth2Action::getHttpClient() non-final

It might be desirable to be able to add custom headers, specifically a custom
`user-agent`, for non-stock IDPs.

3 years agoReplace use of `WCF.Clipboard` with `Controller/Clipboard`
Matthias Schmidt [Fri, 2 Jul 2021 11:37:38 +0000 (13:37 +0200)]
Replace use of `WCF.Clipboard` with `Controller/Clipboard`

See #3876

3 years agoMerge branch '5.4'
Tim Düsterhus [Fri, 2 Jul 2021 10:52:43 +0000 (12:52 +0200)]
Merge branch '5.4'

3 years agoMerge pull request #4356 from WoltLab/user-logged-in
Tim Düsterhus [Fri, 2 Jul 2021 09:28:01 +0000 (11:28 +0200)]
Merge pull request #4356 from WoltLab/user-logged-in

Add UserLoggedIn event and cancel lost password requests upon login

3 years agoAdd cancelLostPasswordRequest to UserAction
Tim Düsterhus [Fri, 2 Jul 2021 08:36:18 +0000 (10:36 +0200)]
Add cancelLostPasswordRequest to UserAction

3 years agoCancel lost password requests when the user logs in
Tim Düsterhus [Thu, 1 Jul 2021 12:59:02 +0000 (14:59 +0200)]
Cancel lost password requests when the user logs in

Resolves #3922

3 years agoImplement the UserLoggedIn event
Tim Düsterhus [Thu, 1 Jul 2021 12:49:34 +0000 (14:49 +0200)]
Implement the UserLoggedIn event

3 years agoAdd a UserLoggedIn event
Tim Düsterhus [Thu, 1 Jul 2021 12:44:02 +0000 (14:44 +0200)]
Add a UserLoggedIn event

3 years agoMerge pull request #4353 from WoltLab/ColorFormField
Matthias Schmidt [Fri, 2 Jul 2021 09:04:28 +0000 (11:04 +0200)]
Merge pull request #4353 from WoltLab/ColorFormField

Modernize color picker and add `ColorFormField`

3 years agoSupport wildcard for category name in `AclFormField` (#4355)
Matthias Schmidt [Fri, 2 Jul 2021 08:37:30 +0000 (10:37 +0200)]
Support wildcard for category name in `AclFormField` (#4355)

3 years agoFix TOTP QR code in dark styles
Tim Düsterhus [Thu, 1 Jul 2021 13:49:00 +0000 (15:49 +0200)]
Fix TOTP QR code in dark styles

3 years agoRelease 5.3.10 5.3.10
Alexander Ebert [Thu, 1 Jul 2021 12:13:27 +0000 (14:13 +0200)]
Release 5.3.10

3 years agoMerge branch '5.4'
Tim Düsterhus [Thu, 1 Jul 2021 09:48:32 +0000 (11:48 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Thu, 1 Jul 2021 09:48:22 +0000 (11:48 +0200)]
Merge branch '5.3' into 5.4

3 years agoMerge pull request #4354 from WoltLab/systemcheck-performance
Tim Düsterhus [Thu, 1 Jul 2021 09:41:48 +0000 (11:41 +0200)]
Merge pull request #4354 from WoltLab/systemcheck-performance

Improve performance of SystemCheckPage::validateWritableDirectories()

3 years agoImprove performance of SystemCheckPage::validateWritableDirectories()
Tim Düsterhus [Thu, 1 Jul 2021 09:21:08 +0000 (11:21 +0200)]
Improve performance of SystemCheckPage::validateWritableDirectories()

The previous implementation resulted in a syscall hell for large attachment or
image directories. RecursiveDirectoryIterator requires two syscalls for
directory entry just for iteration and that does not yet include any custom
logic.

Replace the implementation by a simple `glob()`. This is a small behavior
change, as a `*` will only check the files immediately below the directory in
question instead of recursing all the way down. However this likely is what was
intended anyway.

3 years agoUpdating minified JavaScript files
WoltLab [Thu, 1 Jul 2021 08:32:22 +0000 (08:32 +0000)]
Updating minified JavaScript files

3 years agoAdd `ColorFormField`
Matthias Schmidt [Thu, 1 Jul 2021 08:06:15 +0000 (10:06 +0200)]
Add `ColorFormField`

3 years agoAdd new phrases to JavaScript for existing uses of color pickers
Matthias Schmidt [Thu, 1 Jul 2021 08:05:10 +0000 (10:05 +0200)]
Add new phrases to JavaScript for existing uses of color pickers

3 years agoDeprecate `WCF.ColorPicker` in favor of `Ui/Color/Picker`
Matthias Schmidt [Thu, 1 Jul 2021 07:59:25 +0000 (09:59 +0200)]
Deprecate `WCF.ColorPicker` in favor of `Ui/Color/Picker`

3 years agoUpdate `Ui/Color/Picker` to use native TypeScript-based implementation
Matthias Schmidt [Thu, 1 Jul 2021 07:58:43 +0000 (09:58 +0200)]
Update `Ui/Color/Picker` to use native TypeScript-based implementation

Instead of having to implement a color picker ourselves, we delegate the task to the browser by using a `input[type=color]` element. Because this color input does not support transparency, there is an additional `input[type=range]` element for transparency.

3 years agoModified update instructions 5.4.0_RC_1
Alexander Ebert [Wed, 30 Jun 2021 13:15:45 +0000 (15:15 +0200)]
Modified update instructions

3 years agoAdd `ColorUtil.stringToRgba()`
Matthias Schmidt [Wed, 30 Jun 2021 12:02:14 +0000 (14:02 +0200)]
Add `ColorUtil.stringToRgba()`

3 years agoAdd `ColorUtil.isValidColor()`
Matthias Schmidt [Wed, 30 Jun 2021 12:00:23 +0000 (14:00 +0200)]
Add `ColorUtil.isValidColor()`

3 years agoAdd `ColorUtil.rgbaToString()`
Matthias Schmidt [Wed, 30 Jun 2021 11:53:10 +0000 (13:53 +0200)]
Add `ColorUtil.rgbaToString()`

3 years agoAdd `ColorUtil.rgbaToHex()`
Matthias Schmidt [Wed, 30 Jun 2021 11:51:02 +0000 (13:51 +0200)]
Add `ColorUtil.rgbaToHex()`

3 years agoUse `.toString(16)` for `ColorUtil.rgbToHex()`
Matthias Schmidt [Wed, 30 Jun 2021 11:48:45 +0000 (13:48 +0200)]
Use `.toString(16)` for `ColorUtil.rgbToHex()`

3 years agoExport color interfaces from `ColorUtil`
Matthias Schmidt [Wed, 30 Jun 2021 11:45:56 +0000 (13:45 +0200)]
Export color interfaces from `ColorUtil`

3 years agoMerge pull request #4352 from WoltLab/twitter-auth
Joshua Rüsweg [Wed, 30 Jun 2021 11:00:16 +0000 (13:00 +0200)]
Merge pull request #4352 from WoltLab/twitter-auth

Modernize Twitter Auth

3 years agoMerge branch '5.4'
Tim Düsterhus [Wed, 30 Jun 2021 10:57:53 +0000 (12:57 +0200)]
Merge branch '5.4'

3 years agoHandle Facebook not providing an email address
Tim Düsterhus [Wed, 30 Jun 2021 10:57:11 +0000 (12:57 +0200)]
Handle Facebook not providing an email address

Fixes #4241

3 years agoCorrectly handle Twitter not providing an email address
Tim Düsterhus [Wed, 30 Jun 2021 10:55:57 +0000 (12:55 +0200)]
Correctly handle Twitter not providing an email address

3 years agoMigrate Twitter authentication to Guzzle
Tim Düsterhus [Tue, 29 Jun 2021 14:26:12 +0000 (16:26 +0200)]
Migrate Twitter authentication to Guzzle

3 years agoImprove readability of OAuth header generation in TwitterAuthAction
Tim Düsterhus [Tue, 29 Jun 2021 13:44:36 +0000 (15:44 +0200)]
Improve readability of OAuth header generation in TwitterAuthAction

3 years agoUse `getControllerLink()` to generate TwitterAuth callback URL
Tim Düsterhus [Tue, 29 Jun 2021 13:36:30 +0000 (15:36 +0200)]
Use `getControllerLink()` to generate TwitterAuth callback URL

3 years agoUse constant time b64 encoder in TwitterAuthAction
Tim Düsterhus [Tue, 29 Jun 2021 13:35:47 +0000 (15:35 +0200)]
Use constant time b64 encoder in TwitterAuthAction

3 years agoUse `\hash_equals()` for token validation in TwitterAuthAction
Tim Düsterhus [Tue, 29 Jun 2021 13:34:31 +0000 (15:34 +0200)]
Use `\hash_equals()` for token validation in TwitterAuthAction

3 years agoFix use of unused parameter in `AbstractOauth2Action::codeToAccessToken()`
Tim Düsterhus [Tue, 29 Jun 2021 14:20:06 +0000 (16:20 +0200)]
Fix use of unused parameter in `AbstractOauth2Action::codeToAccessToken()`

3 years agoMake `failure` parameter of `Popover.ajaxApi()` optional
Matthias Schmidt [Tue, 29 Jun 2021 08:00:44 +0000 (10:00 +0200)]
Make `failure` parameter of `Popover.ajaxApi()` optional

There is no reason to make the custom failure callback a required parameter here because in most cases, there is no need fur such a custom handler.

3 years agoMerge remote-tracking branch 'origin/master'
Tim Düsterhus [Tue, 29 Jun 2021 07:57:03 +0000 (09:57 +0200)]
Merge remote-tracking branch 'origin/master'

3 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 29 Jun 2021 07:56:52 +0000 (09:56 +0200)]
Merge branch '5.4'

3 years agoImprove speed of PIPs to delete files
Matthias Schmidt [Tue, 29 Jun 2021 07:52:21 +0000 (09:52 +0200)]
Improve speed of PIPs to delete files

… by fetching all existing database records at once and deleting obsolete records in one transaction.

See #4269
See #4289

3 years agoRegister reauthentication after MFA in ACP only
Tim Düsterhus [Tue, 29 Jun 2021 07:51:13 +0000 (09:51 +0200)]
Register reauthentication after MFA in ACP only

It was not desired that a login within the frontend also registers a
reauthentication, as the actions requiring a reauthentication are very rarely
used and can benefit from this additional password check. In the ACP however
each request requires a reauthentication, thus it makes sense to register it
during login.

see 4624ceeda0e19109245d19e883dc6fd388e95519

3 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 29 Jun 2021 07:24:54 +0000 (09:24 +0200)]
Merge branch '5.4'

3 years agoMerge pull request #4350 from WoltLab/update-server-db
Tim Düsterhus [Mon, 28 Jun 2021 15:39:00 +0000 (17:39 +0200)]
Merge pull request #4350 from WoltLab/update-server-db

Adjust the URL of the update servers in install.sql

3 years agoMerge branch '5.4'
Marcel Werk [Mon, 28 Jun 2021 15:27:31 +0000 (17:27 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Marcel Werk [Mon, 28 Jun 2021 15:27:17 +0000 (17:27 +0200)]
Merge branch '5.3' into 5.4

3 years agoSorting in article category had no effect
Marcel Werk [Mon, 28 Jun 2021 15:25:12 +0000 (17:25 +0200)]
Sorting in article category had no effect

3 years agoAdjust the URL of the update servers in install.sql
Tim Düsterhus [Mon, 28 Jun 2021 15:22:25 +0000 (17:22 +0200)]
Adjust the URL of the update servers in install.sql

This is technically unnecessary as the proper URLs will be inserted during
runtime, but might improve debugging, as it is clear which version was used to
install the software.

3 years agoMerge branch '5.4'
Tim Düsterhus [Mon, 28 Jun 2021 15:05:43 +0000 (17:05 +0200)]
Merge branch '5.4'

3 years agoAdd acpTemplate PIP to update instructions from 5.4.0 Beta 2
Tim Düsterhus [Mon, 28 Jun 2021 15:01:25 +0000 (17:01 +0200)]
Add acpTemplate PIP to update instructions from 5.4.0 Beta 2

3 years agoUse RejectEverythingFormField in PackageEnableUpgradeOverrideForm
Tim Düsterhus [Mon, 28 Jun 2021 15:00:08 +0000 (17:00 +0200)]
Use RejectEverythingFormField in PackageEnableUpgradeOverrideForm

3 years agoClear WCF::AVAILABLE_UPGRADE_VERSION
Tim Düsterhus [Mon, 28 Jun 2021 14:59:04 +0000 (16:59 +0200)]
Clear WCF::AVAILABLE_UPGRADE_VERSION

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Mon, 28 Jun 2021 14:58:50 +0000 (16:58 +0200)]
Merge branch '5.3' into 5.4

3 years agoAdd support for version upgrades (#4160)
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>
3 years agoMerge branch '5.4'
Tim Düsterhus [Mon, 28 Jun 2021 14:35:25 +0000 (16:35 +0200)]
Merge branch '5.4'

3 years agoRelease 5.4.0 RC 1
Alexander Ebert [Mon, 28 Jun 2021 13:37:04 +0000 (15:37 +0200)]
Release 5.4.0 RC 1

3 years agoUpdating minified JavaScript files
WoltLab [Mon, 28 Jun 2021 13:34:02 +0000 (13:34 +0000)]
Updating minified JavaScript files

3 years agoAdd modified PIPs to 5.3 -> 5.4 instructions
Tim Düsterhus [Mon, 28 Jun 2021 08:27:34 +0000 (10:27 +0200)]
Add modified PIPs to 5.3 -> 5.4 instructions

3 years agoRevert "Removed the upgrade support from 5.3.*"
Tim Düsterhus [Mon, 28 Jun 2021 08:23:15 +0000 (10:23 +0200)]
Revert "Removed the upgrade support from 5.3.*"

This reverts commit 466ac360246fc568e0e3f6e1527c218f70bf158e.

3 years agoRemove obsolete file deletions from `fileDelete.xml`
Matthias Schmidt [Mon, 28 Jun 2021 07:26:33 +0000 (09:26 +0200)]
Remove obsolete file deletions from `fileDelete.xml`

These files were re-added with 704cb1bfbe3b7c6088d3895bd1e561167ebe59e1 / #4277.

3 years agoRemove unused `DevicesContainer::$devices` property
Tim Düsterhus [Fri, 25 Jun 2021 15:33:12 +0000 (17:33 +0200)]
Remove unused `DevicesContainer::$devices` property