GitHub/WoltLab/WCF.git
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

3 years agoMerge remote-tracking branch 'origin/master'
Tim Düsterhus [Fri, 25 Jun 2021 15:23:11 +0000 (17:23 +0200)]
Merge remote-tracking branch 'origin/master'

3 years agoMerge branch '5.4'
Tim Düsterhus [Fri, 25 Jun 2021 15:22:45 +0000 (17:22 +0200)]
Merge branch '5.4'

3 years agoType hint instead of a type cast
Alexander Ebert [Fri, 25 Jun 2021 15:04:45 +0000 (17:04 +0200)]
Type hint instead of a type cast

The type hint is only meant to narrow the type, not replace it.

3 years agoIncorrect access of an element that is not always present
Alexander Ebert [Fri, 25 Jun 2021 14:27:40 +0000 (16:27 +0200)]
Incorrect access of an element that is not always present

3 years agoMerge pull request #4345 from WoltLab/scss-1.5
Tim Düsterhus [Fri, 25 Jun 2021 13:00:38 +0000 (15:00 +0200)]
Merge pull request #4345 from WoltLab/scss-1.5

Update to scssphp/scssphp 1.5

3 years agoFix scssphp deprecations in StyleCompiler
Tim Düsterhus [Fri, 25 Jun 2021 09:38:28 +0000 (11:38 +0200)]
Fix scssphp deprecations in StyleCompiler

3 years agoUpdate to scssphp/scssphp 1.5
Tim Düsterhus [Fri, 25 Jun 2021 09:37:30 +0000 (11:37 +0200)]
Update to scssphp/scssphp 1.5

Resolves #4274

3 years agoMerge pull request #4343 from WoltLab/leafo-alias
Tim Düsterhus [Fri, 25 Jun 2021 11:35:02 +0000 (13:35 +0200)]
Merge pull request #4343 from WoltLab/leafo-alias

Remove autoloader compatibility layer mapping Leafo to Scssphp

3 years agoMerge pull request #4341 from WoltLab/unfurl-download-fail-no-log
Joshua Rüsweg [Fri, 25 Jun 2021 10:54:16 +0000 (12:54 +0200)]
Merge pull request #4341 from WoltLab/unfurl-download-fail-no-log

Prevent unfurling DownloadFailed exceptions from ending up in the error log

3 years agoMerge branch '5.4'
Matthias Schmidt [Fri, 25 Jun 2021 08:30:26 +0000 (10:30 +0200)]
Merge branch '5.4'

3 years agoFix code style issue
Matthias Schmidt [Fri, 25 Jun 2021 08:30:12 +0000 (10:30 +0200)]
Fix code style issue

3 years agoMerge branch '5.4'
Tim Düsterhus [Fri, 25 Jun 2021 08:22:59 +0000 (10:22 +0200)]
Merge branch '5.4'

3 years agoEncode non-UTF-8 parameters as hexadecimal in Benchmark
Tim Düsterhus [Fri, 25 Jun 2021 08:18:21 +0000 (10:18 +0200)]
Encode non-UTF-8 parameters as hexadecimal in Benchmark

Some database queries, such as the new Flood Control framework, contain binary
fields that might break proper rendering or further processing.

Encode all parameters that are not valid UTF-8 as hexadecimal and wrap them
into a call of `UNHEX()` to maintain copyability.

see 048aaf0c318f01d11da4f6b8c01b6fdd1acbcb7a

3 years agoRemove autoloader compatibility layer mapping Leafo to Scssphp
Tim Düsterhus [Wed, 23 Jun 2021 15:05:46 +0000 (17:05 +0200)]
Remove autoloader compatibility layer mapping Leafo to Scssphp

It's unlikely that anything depends on this and as outlined in the commit
9bfa7303627983c13607536aae839e7e0ebb0968 that initially added it, the
compatibility is incomplete as it cannot map Exceptions.

With scssphp 1.5 (WoltLab/WCF#4274) further changes will be introduced by the
upstream library that definitely will require adjustments in consumers. So
let's clean this up.

3 years agoMerge branch '5.4'
Matthias Schmidt [Fri, 25 Jun 2021 06:40:31 +0000 (08:40 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Matthias Schmidt [Fri, 25 Jun 2021 06:40:13 +0000 (08:40 +0200)]
Merge branch '5.3' into 5.4

3 years agoFix poll insertion after message edit if no poll exists
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.

3 years agoEnable Unicode support for SCSS Compiler
Tim Düsterhus [Thu, 24 Jun 2021 13:33:09 +0000 (15:33 +0200)]
Enable Unicode support for SCSS Compiler

The large performance difference measured back when this was introduced appears
to be gone. On PHP 8 both encodings appear to be equally fast. On PHP 7.4 the
UTF-8 version is ~25% slower, which is certainly not ideal, but not as bad as a
7× increase. In any case the UTF-8 version completes in way less than 2 seconds
which I consider to be the line that the CSS compiler should not cross.

Resolves #4339
see #4274

3 years agoDecreased button size in share dialog
Marcel Werk [Thu, 24 Jun 2021 12:50:05 +0000 (14:50 +0200)]
Decreased button size in share dialog

3 years agoPrevent unfurling DownloadFailed exceptions from ending up in the error log
Tim Düsterhus [Thu, 24 Jun 2021 12:27:51 +0000 (14:27 +0200)]
Prevent unfurling DownloadFailed exceptions from ending up in the error log

Resolves #4237

3 years agoAdd element ID to form builder exception messages (#4327)
Matthias Schmidt [Thu, 24 Jun 2021 06:14:15 +0000 (08:14 +0200)]
Add element ID to form builder exception messages (#4327)

3 years agoDelete `ModificationLogHandler` (#4340)
Matthias Schmidt [Thu, 24 Jun 2021 06:08:46 +0000 (08:08 +0200)]
Delete `ModificationLogHandler` (#4340)

This class has been deprecated for many years since 28854f57445a35894483db28e250f94b444962a0.

3 years agoReplace `Response` by `ResponseInterface` in `UnfurlUrlBackgroundJob`
Tim Düsterhus [Wed, 23 Jun 2021 11:55:13 +0000 (13:55 +0200)]
Replace `Response` by `ResponseInterface` in `UnfurlUrlBackgroundJob`

3 years agoMerge branch '5.4'
Tim Düsterhus [Wed, 23 Jun 2021 11:45:23 +0000 (13:45 +0200)]
Merge branch '5.4'

3 years agoMake return types in HttpFactory more readable
Tim Düsterhus [Wed, 23 Jun 2021 11:44:46 +0000 (13:44 +0200)]
Make return types in HttpFactory more readable

see f5b3800800e74296ca1411b25496a6b964c0600e
see #4337

3 years agoMerge branch '5.4'
Tim Düsterhus [Wed, 23 Jun 2021 11:39:20 +0000 (13:39 +0200)]
Merge branch '5.4'

3 years agoImprove return types in HttpFactory
Tim Düsterhus [Wed, 23 Jun 2021 11:38:21 +0000 (13:38 +0200)]
Improve return types in HttpFactory

Resolves #4337

3 years agoDelete `acp/dereferrer.php`
Matthias Schmidt [Wed, 23 Jun 2021 11:09:46 +0000 (13:09 +0200)]
Delete `acp/dereferrer.php`

3 years agoUse `HeaderUtil::sendNoCacheHeaders()` in `UserExportGdprAction`
Tim Düsterhus [Wed, 23 Jun 2021 10:39:51 +0000 (12:39 +0200)]
Use `HeaderUtil::sendNoCacheHeaders()` in `UserExportGdprAction`

3 years agoDeprecate \wcf\system\io\FTP
Tim Düsterhus [Wed, 23 Jun 2021 10:24:41 +0000 (12:24 +0200)]
Deprecate \wcf\system\io\FTP

Resolves #4332

3 years agoForce non-cursive font for code listings inside quotes
Alexander Ebert [Wed, 23 Jun 2021 09:54:23 +0000 (11:54 +0200)]
Force non-cursive font for code listings inside quotes