GitHub/WoltLab/WCF.git
2 years agoDo not take `routeData` by reference in RequestHandler::handleDefaultController()
Tim Düsterhus [Fri, 20 May 2022 12:38:37 +0000 (14:38 +0200)]
Do not take `routeData` by reference in RequestHandler::handleDefaultController()

By returning the updated data the data flow becomes clearer.

2 years agoRemove dead branch in RequestHandler::redirect()
Tim Düsterhus [Fri, 20 May 2022 12:36:06 +0000 (14:36 +0200)]
Remove dead branch in RequestHandler::redirect()

The `redirect()` method is only called in a single location where `$controller`
will also be set to a string.

2 years agoMark RequestHandler as final
Tim Düsterhus [Fri, 20 May 2022 12:35:04 +0000 (14:35 +0200)]
Mark RequestHandler as final

2 years agoMove local `$controller` variable into a more appropriate "scope" in RequestHandler...
Tim Düsterhus [Fri, 20 May 2022 12:30:56 +0000 (14:30 +0200)]
Move local `$controller` variable into a more appropriate "scope" in RequestHandler::buildRequest()

The variable is only referenced in the `else`, move it there to make the data
flow clearer.

2 years agoRemove the `pageType` from `\wcf\system\request\Request`
Tim Düsterhus [Fri, 20 May 2022 12:15:58 +0000 (14:15 +0200)]
Remove the `pageType` from `\wcf\system\request\Request`

This value is currently unused, incorrectly documented (`page` was a valid
value since the addition of CMS pages), of questionable value and will break
with the addition of PSR-15 controllers.

2 years agoMerge pull request #4820 from WoltLab/psr-7-pipeline
Tim Düsterhus [Fri, 20 May 2022 11:06:10 +0000 (13:06 +0200)]
Merge pull request #4820 from WoltLab/psr-7-pipeline

Add PSR-7 / PSR-15 Pipeline

2 years agoMerge pull request #4821 from WoltLab/wcfsetup-clean-all-tmps
Tim Düsterhus [Fri, 20 May 2022 10:43:28 +0000 (12:43 +0200)]
Merge pull request #4821 from WoltLab/wcfsetup-clean-all-tmps

Clean all directories that match the tmp naming pattern at the end of WCFSetup

2 years agoClean all directories that match the tmp naming pattern at the end of WCFSetup
Tim Düsterhus [Fri, 20 May 2022 09:30:12 +0000 (11:30 +0200)]
Clean all directories that match the tmp naming pattern at the end of WCFSetup

Since e41dfd007b12baed65ab7679fb679e53bcd2adf5 the temporary directory for
WCFSetup resides in the webroot instead of some system internal temporary
directory. As such temporary files might remain in the webroot and likely will
never be cleaned if the install.php is accessed multiple times before the setup
is completed.

Fix this by deleting all directories that match the pattern for the name of the
temporary directory once the setup is completed successfully.

2 years agoAdd `CheckForEnterpriseNonOwnerAccess` middleware
Tim Düsterhus [Fri, 20 May 2022 08:12:09 +0000 (10:12 +0200)]
Add `CheckForEnterpriseNonOwnerAccess` middleware

2 years agoAdd `CheckForExpiredAppEvaluation` middleware
Tim Düsterhus [Fri, 20 May 2022 08:01:12 +0000 (10:01 +0200)]
Add `CheckForExpiredAppEvaluation` middleware

2 years agoAdd `CheckForOfflineMode` middleware
Tim Düsterhus [Fri, 20 May 2022 07:49:02 +0000 (09:49 +0200)]
Add `CheckForOfflineMode` middleware

2 years agoAdd `AddAcpSecurityHeaders` middleware
Tim Düsterhus [Thu, 19 May 2022 14:35:45 +0000 (16:35 +0200)]
Add `AddAcpSecurityHeaders` middleware

2 years agoMake EnforceFrameOptions compatible with legacy and PSR-15 controllers
Tim Düsterhus [Thu, 19 May 2022 14:33:50 +0000 (16:33 +0200)]
Make EnforceFrameOptions compatible with legacy and PSR-15 controllers

2 years agoInline RequestHandler::sendPsr7Response()
Tim Düsterhus [Thu, 19 May 2022 14:11:57 +0000 (16:11 +0200)]
Inline RequestHandler::sendPsr7Response()

2 years agoAdd `EnforceFrameOptions` middleware
Tim Düsterhus [Thu, 19 May 2022 14:11:14 +0000 (16:11 +0200)]
Add `EnforceFrameOptions` middleware

2 years agoMove the cache-control adjustments from RequestHandler into a middleware
Tim Düsterhus [Thu, 19 May 2022 14:09:25 +0000 (16:09 +0200)]
Move the cache-control adjustments from RequestHandler into a middleware

2 years agoSend the requests through the middleware Pipeline in RequestHandler
Tim Düsterhus [Thu, 19 May 2022 14:06:25 +0000 (16:06 +0200)]
Send the requests through the middleware Pipeline in RequestHandler

2 years agoAdd \wcf\http\Pipeline and \wcf\http\RequestHandlerMiddleware
Tim Düsterhus [Thu, 19 May 2022 14:01:42 +0000 (16:01 +0200)]
Add \wcf\http\Pipeline and \wcf\http\RequestHandlerMiddleware

2 years agoSupport `RequestHandlerInterface`-based controllers in `wcf\system\request\Request`
Tim Düsterhus [Thu, 19 May 2022 13:15:16 +0000 (15:15 +0200)]
Support `RequestHandlerInterface`-based controllers in `wcf\system\request\Request`

2 years agoImplement `Psr\Http\Message\ServerRequestInterface` in `wcf\system\request\Request`
Tim Düsterhus [Thu, 19 May 2022 13:13:48 +0000 (15:13 +0200)]
Implement `Psr\Http\Message\ServerRequestInterface` in `wcf\system\request\Request`

2 years agoMark `\wcf\system\request\Request` as final
Tim Düsterhus [Thu, 19 May 2022 13:10:21 +0000 (15:10 +0200)]
Mark `\wcf\system\request\Request` as final

2 years agoAdd `psr/http-server-middleware` composer dependency
Tim Düsterhus [Thu, 19 May 2022 12:23:05 +0000 (14:23 +0200)]
Add `psr/http-server-middleware` composer dependency

2 years agoRemove obsolete check for `ResponseInterface` in RequestHandler::handle()
Tim Düsterhus [Thu, 19 May 2022 12:53:17 +0000 (14:53 +0200)]
Remove obsolete check for `ResponseInterface` in RequestHandler::handle()

2 years agoReturn LegacyPlaceholderResponse from `Request::execute()`
Tim Düsterhus [Thu, 19 May 2022 12:52:04 +0000 (14:52 +0200)]
Return LegacyPlaceholderResponse from `Request::execute()`

2 years agoHandle LegacyPlaceholderResponse in RequestHandler
Tim Düsterhus [Thu, 19 May 2022 12:50:40 +0000 (14:50 +0200)]
Handle LegacyPlaceholderResponse in RequestHandler

2 years agoAdd `\wcf\http\LegacyPlaceholderResponse`
Tim Düsterhus [Thu, 19 May 2022 12:49:33 +0000 (14:49 +0200)]
Add `\wcf\http\LegacyPlaceholderResponse`

2 years agoExplicitly require `psr/http-message` composer dependency
Tim Düsterhus [Thu, 19 May 2022 12:22:39 +0000 (14:22 +0200)]
Explicitly require `psr/http-message` composer dependency

2 years agoExplicitly require `psr/http-server-handler` composer dependency
Tim Düsterhus [Thu, 19 May 2022 12:22:06 +0000 (14:22 +0200)]
Explicitly require `psr/http-server-handler` composer dependency

2 years agoAdd missing comma to headIncludeJavaScript.tpl
Tim Düsterhus [Thu, 19 May 2022 13:04:02 +0000 (15:04 +0200)]
Add missing comma to headIncludeJavaScript.tpl

see a5c441a61209584360c5917871536500ef7a12bd

2 years agoMerge branch '5.5'
Tim Düsterhus [Thu, 19 May 2022 12:54:57 +0000 (14:54 +0200)]
Merge branch '5.5'

2 years agoFix filename of the update scripts for 5.6
Tim Düsterhus [Thu, 19 May 2022 11:55:50 +0000 (13:55 +0200)]
Fix filename of the update scripts for 5.6

2 years agoAdd `x-frame-options` response header to PSR-7 responses in RequestHandler
Tim Düsterhus [Thu, 19 May 2022 08:36:22 +0000 (10:36 +0200)]
Add `x-frame-options` response header to PSR-7 responses in RequestHandler

2 years agoRemove obsolete checks for `!PACKAGE_ID` / `NO_IMPORTS`
Tim Düsterhus [Thu, 19 May 2022 08:33:50 +0000 (10:33 +0200)]
Remove obsolete checks for `!PACKAGE_ID` / `NO_IMPORTS`

see #4818

2 years agoMerge pull request #4818 from WoltLab/wcfsetup-psr-7
Tim Düsterhus [Thu, 19 May 2022 07:09:45 +0000 (09:09 +0200)]
Merge pull request #4818 from WoltLab/wcfsetup-psr-7

Migrate WCFSetup to PSR-7

2 years agoWork-around when closing a closing dialog
Alexander Ebert [Wed, 18 May 2022 16:38:36 +0000 (18:38 +0200)]
Work-around when closing a closing dialog

See https://www.woltlab.com/community/thread/295669-uidialog-cannot-read-properties-of-undefined-reading-closable/

2 years agoImage viewer broke during orientation change
Alexander Ebert [Wed, 18 May 2022 16:21:59 +0000 (18:21 +0200)]
Image viewer broke during orientation change

See https://www.woltlab.com/community/thread/295628-mobil-bildanzeige-skaliert-beim-drehen/

2 years agoMissing language variable
Marcel Werk [Wed, 18 May 2022 16:15:21 +0000 (18:15 +0200)]
Missing language variable

2 years agoInline WCFSetup::installFiles()
Tim Düsterhus [Wed, 18 May 2022 14:57:54 +0000 (16:57 +0200)]
Inline WCFSetup::installFiles()

`->unzipFiles()` basically consisted only of the call to `::installFiles()`,
simplify the control flow by putting those three lines of code inline to make
`->unzipFiles()` self-contained.

2 years agoMigrate WCFSetup to PSR-7
Tim Düsterhus [Wed, 18 May 2022 14:50:32 +0000 (16:50 +0200)]
Migrate WCFSetup to PSR-7

2 years agoMark WCFSetup as final
Tim Düsterhus [Wed, 18 May 2022 14:49:42 +0000 (16:49 +0200)]
Mark WCFSetup as final

2 years agoMerge pull request #4816 from WoltLab/template-engine-psr-7
Tim Düsterhus [Wed, 18 May 2022 15:52:03 +0000 (17:52 +0200)]
Merge pull request #4816 from WoltLab/template-engine-psr-7

Add TemplateEngine::fetchStream() to efficiently render a template as a PSR-7 StreamInterface

2 years agoFixed code style
Marcel Werk [Wed, 18 May 2022 15:46:22 +0000 (17:46 +0200)]
Fixed code style

2 years agoInconsistent sort order of the mobile ACP header
Alexander Ebert [Wed, 18 May 2022 15:39:43 +0000 (17:39 +0200)]
Inconsistent sort order of the mobile ACP header

See https://www.woltlab.com/community/thread/295662-mobiles-men%C3%BC-im-acp/

2 years agoAdd TemplateEngine::fetchStream() to efficiently render a template as a PSR-7 StreamI...
Tim Düsterhus [Wed, 18 May 2022 14:16:15 +0000 (16:16 +0200)]
Add TemplateEngine::fetchStream() to efficiently render a template as a PSR-7 StreamInterface

2 years agoMerge pull request #4815 from WoltLab/wcfsetup-relative-wcf-dir
Tim Düsterhus [Wed, 18 May 2022 14:13:42 +0000 (16:13 +0200)]
Merge pull request #4815 from WoltLab/wcfsetup-relative-wcf-dir

Remove the need for SetupTemplateCompiler

2 years agoRestrict access to `?action=WCFSetup` after successful installation
Tim Düsterhus [Wed, 18 May 2022 13:22:50 +0000 (15:22 +0200)]
Restrict access to `?action=WCFSetup` after successful installation

This action only exists to complete WCFSetup. It should be guarded by a check
an unfinished installation (`!PACKAGE_ID`) to prevent accesses in live
installation.

2 years agoImproved overflow behaviour of the contentInteractionButtons buttons on mobile
Marcel Werk [Wed, 18 May 2022 11:30:24 +0000 (13:30 +0200)]
Improved overflow behaviour of the contentInteractionButtons buttons on mobile

2 years agoMove the output generation in WCFSetup::installPackages() to a more appropriate location
Tim Düsterhus [Wed, 18 May 2022 13:11:49 +0000 (15:11 +0200)]
Move the output generation in WCFSetup::installPackages() to a more appropriate location

2 years agoRemove SetupTemplateCompiler
Tim Düsterhus [Wed, 18 May 2022 13:09:30 +0000 (15:09 +0200)]
Remove SetupTemplateCompiler

The implementation only differed from the TemplateCompiler /
TemplateScriptingCompiler by not rejecting the use of RELATIVE_WCF_DIR. As that
usage was removed in the previous commit the SetupTemplateCompiler is obsolete.

2 years agoDo not reference `RELATIVE_WCF_DIR` in stepInstallPackages.tpl
Tim Düsterhus [Wed, 18 May 2022 13:07:32 +0000 (15:07 +0200)]
Do not reference `RELATIVE_WCF_DIR` in stepInstallPackages.tpl

2 years agoMerge remote-tracking branch 'origin/5.5' into 5.5
Tim Düsterhus [Wed, 18 May 2022 11:00:28 +0000 (13:00 +0200)]
Merge remote-tracking branch 'origin/5.5' into 5.5

2 years agoMerge branch '5.4' into 5.5
Tim Düsterhus [Wed, 18 May 2022 11:00:17 +0000 (13:00 +0200)]
Merge branch '5.4' into 5.5

2 years agoMerge pull request #4814 from WoltLab/wcfsetup-tmp
Tim Düsterhus [Wed, 18 May 2022 10:48:56 +0000 (12:48 +0200)]
Merge pull request #4814 from WoltLab/wcfsetup-tmp

Clean up the handling of temporary files during WCFSetup

2 years agoImproved behaviour for contentHeaderNavigation buttons
Marcel Werk [Wed, 18 May 2022 10:45:06 +0000 (12:45 +0200)]
Improved behaviour for contentHeaderNavigation buttons

ref https://www.woltlab.com/community/thread/295238-%C3%A4nderung-der-reihenfolge-von-antworten-pagination-abonnieren-in-der-mobilen-ansi/?postID=1894039#post1894039

2 years agoAlways use install.php's __DIR__ as the temporary directory
Tim Düsterhus [Tue, 17 May 2022 15:23:55 +0000 (17:23 +0200)]
Always use install.php's __DIR__ as the temporary directory

The previous implementation of `BasicFileUtil::getTempFolder()` was unstable,
as it automatically detected `tmp/` directories in the document root. If
WoltLab Suite Core is installed into the document root, then the extraction of
the files will implicitly create a `tmp/` directory and thus change the temp
folder for the remaining installation.

2 years agoIncrease the randomness in `TMP_FILE_PREFIX` in install.php
Tim Düsterhus [Tue, 17 May 2022 15:15:09 +0000 (17:15 +0200)]
Increase the randomness in `TMP_FILE_PREFIX` in install.php

2 years agoRemove all extracted temporary files in WCFSetup::installPackages()
Tim Düsterhus [Wed, 18 May 2022 08:40:30 +0000 (10:40 +0200)]
Remove all extracted temporary files in WCFSetup::installPackages()

2 years agoMove the package archives into WCF_DIR/tmp in WCFSetup::installPackages()
Tim Düsterhus [Wed, 18 May 2022 08:38:32 +0000 (10:38 +0200)]
Move the package archives into WCF_DIR/tmp in WCFSetup::installPackages()

This allows for a complete cleanup of the temporary directory.

2 years agoRemove error handling for broken archives from WCFSetup
Tim Düsterhus [Wed, 18 May 2022 08:33:11 +0000 (10:33 +0200)]
Remove error handling for broken archives from WCFSetup

Any errors are generally not recoverable at this point, making the error
handling useless.

2 years agoSimplify calculation of `$processNo` in WCFSetup::installPackages()
Tim Düsterhus [Wed, 18 May 2022 08:10:30 +0000 (10:10 +0200)]
Simplify calculation of `$processNo` in WCFSetup::installPackages()

Similarly to the previous commit we know for sure that no process numbers are
taken yet, so we can hardcode this to 1.

2 years agoRemove useless check whether com.woltlab.wcf is already installed in WCFSetup::instal...
Tim Düsterhus [Wed, 18 May 2022 08:08:26 +0000 (10:08 +0200)]
Remove useless check whether com.woltlab.wcf is already installed in WCFSetup::installPackages()

The database structure was just created in WCFSetup, we know for sure that the
wcf1_package table is empty.

2 years agoRemove unneeded decompression of packages in WCFSetup::installPackages()
Tim Düsterhus [Wed, 18 May 2022 08:04:56 +0000 (10:04 +0200)]
Remove unneeded decompression of packages in WCFSetup::installPackages()

As indicated in the previous commit, the fact that this decompression did not
happen for Strato implies that it is not actually necessary in practice.

2 years agoRemove Strato workaround from WCFSetup
Tim Düsterhus [Wed, 18 May 2022 07:59:08 +0000 (09:59 +0200)]
Remove Strato workaround from WCFSetup

This workaround exists since the very first commit and it's not clear why that
was needed back then. It likely was related to the temporary directory not
being writable or files not being deletable in some cases, but with the change
of WCFSetup's temporary directory anything less than full writing permissions
to the directory mean that WoltLab Suite won't actually run after installation
anyway, making this workaround obsolete.

Also the fact that decompression of the archive does not happen in all cases
implies that the decompression is not actually necessary at this stage, making
that the next candidate for removal.

2 years agoUse the DOMContentLoaded event in WCFSetup
Tim Düsterhus [Wed, 18 May 2022 09:32:06 +0000 (11:32 +0200)]
Use the DOMContentLoaded event in WCFSetup

see 99e56d2929be14b1f5141e6a5136ff7c7de6f39d
see 0479cdecbc8788c5d980490af9c2fda00753cd6a

2 years agoRevert "Remove unneeded `window.onload` callbacks in WCFSetup JavaScript"
Tim Düsterhus [Wed, 18 May 2022 09:30:54 +0000 (11:30 +0200)]
Revert "Remove unneeded `window.onload` callbacks in WCFSetup JavaScript"

This change had the undesired effect that the footer did not show. Instead the
more appropriate `DOMContentLoaded` event should be used.

This reverts commit 99e56d2929be14b1f5141e6a5136ff7c7de6f39d.

2 years agoMerge pull request #4813 from WoltLab/wcfsetup-javascript
Tim Düsterhus [Wed, 18 May 2022 09:17:27 +0000 (11:17 +0200)]
Merge pull request #4813 from WoltLab/wcfsetup-javascript

Simplify JavaScript handling in WCFSetup

2 years agoMerge pull request #4812 from WoltLab/admin-panel-user-header
Alexander Ebert [Wed, 18 May 2022 09:14:49 +0000 (11:14 +0200)]
Merge pull request #4812 from WoltLab/admin-panel-user-header

Simplified the admin panel‘s user header

2 years agoRemove unneeded `window.onload` callbacks in WCFSetup JavaScript
Tim Düsterhus [Wed, 18 May 2022 09:06:57 +0000 (11:06 +0200)]
Remove unneeded `window.onload` callbacks in WCFSetup JavaScript

2 years agoDisable JavaScript relocation in WCFSetup
Tim Düsterhus [Wed, 18 May 2022 09:04:49 +0000 (11:04 +0200)]
Disable JavaScript relocation in WCFSetup

There is no benefit to this in WCFSetup, it just increases complexity.

2 years agoMerge branch '5.5'
Tim Düsterhus [Wed, 18 May 2022 09:07:42 +0000 (11:07 +0200)]
Merge branch '5.5'

2 years agoFix code style in WCFACP
Tim Düsterhus [Wed, 18 May 2022 07:28:58 +0000 (09:28 +0200)]
Fix code style in WCFACP

Apparently PSR-12 allows either brace placement, with PHP-CS-Fixer preferring
the brace on the same line and Intelephense preferring it on the next line. If
a multi-line interface definition would be used here, then the brace must be on
a dedicated line, making Intelephense slightly more right on this one.

However as WCFACP is expected to be touched seldomly, thus seldomly running the
Intelephense formatter, the pragmatic solution is to satisfy PHP-CS-Fixer.

see FriendsOfPHP/PHP-CS-Fixer#6396 for a related issue

2 years agoSimplified the link to access the frontend
Alexander Ebert [Tue, 17 May 2022 15:45:05 +0000 (17:45 +0200)]
Simplified the link to access the frontend

2 years agoRemove user links expect for the logout
Alexander Ebert [Tue, 17 May 2022 15:43:48 +0000 (17:43 +0200)]
Remove user links expect for the logout

This is still not ideal, the header might need a slight redesign to better represent the logged-in user and the logout button.

2 years agoFix typo in WCFSetup
Tim Düsterhus [Tue, 17 May 2022 14:59:10 +0000 (16:59 +0200)]
Fix typo in WCFSetup

2 years agoMerge pull request #4811 from WoltLab/wcfsetup-finalize
Tim Düsterhus [Tue, 17 May 2022 14:51:47 +0000 (16:51 +0200)]
Merge pull request #4811 from WoltLab/wcfsetup-finalize

Clean up finalization of WCFSetup

2 years agoRemove unneeded `file_exists` check for install files
Tim Düsterhus [Tue, 17 May 2022 14:27:07 +0000 (16:27 +0200)]
Remove unneeded `file_exists` check for install files

With the absolute path within the constants we know for sure that these files
must exist.

2 years agoUse appropriate constants to identify to-be-deleted install files
Tim Düsterhus [Tue, 17 May 2022 14:26:38 +0000 (16:26 +0200)]
Use appropriate constants to identify to-be-deleted install files

2 years agoDo not suppress errors during removal of setup files in WCFSetup::installPackages()
Tim Düsterhus [Tue, 17 May 2022 14:23:23 +0000 (16:23 +0200)]
Do not suppress errors during removal of setup files in WCFSetup::installPackages()

It is unsafe if these files remain. Also it is very likely that the system not
actually capable of reliably running WoltLab Suite if something as simple as
deleting a file fails.

2 years agoRemove `*Deleted' template variable assignment in WCFSetup::installPackages()
Tim Düsterhus [Tue, 17 May 2022 14:21:59 +0000 (16:21 +0200)]
Remove `*Deleted' template variable assignment in WCFSetup::installPackages()

These are not actually referenced in the template.

2 years agoMerge pull request #4810 from WoltLab/gzip-file-dynamic-dispatch
Tim Düsterhus [Tue, 17 May 2022 13:42:22 +0000 (15:42 +0200)]
Merge pull request #4810 from WoltLab/gzip-file-dynamic-dispatch

Remove dynamic dispatch of common cases from GZipFile

2 years agoRemove the `lang` prefilter from WCFSetup's template engine
Tim Düsterhus [Tue, 17 May 2022 13:41:00 +0000 (15:41 +0200)]
Remove the `lang` prefilter from WCFSetup's template engine

WCFSetup is not performance critical and the less logic that runs the better.

2 years agoRemove list of to-be-installed packages from WCFSetup
Tim Düsterhus [Tue, 17 May 2022 13:27:55 +0000 (15:27 +0200)]
Remove list of to-be-installed packages from WCFSetup

This is an incredible performance bottleneck, because it reparses all the
archives in every request.

2 years agoRemove GZipFile::$gzopen64
Tim Düsterhus [Tue, 17 May 2022 13:10:31 +0000 (15:10 +0200)]
Remove GZipFile::$gzopen64

This property is no longer accessible since GZipFile is `final`.

2 years agoMark GZipFile as `final`
Tim Düsterhus [Tue, 17 May 2022 13:09:12 +0000 (15:09 +0200)]
Mark GZipFile as `final`

There is no good reason to inherit from this class and the performance
optimization for the commonly used method calls might break derived classes
that rely on `->__call()` calling something else.

2 years agoRemove the need for dynamic dispatch for common GZipFile methods
Tim Düsterhus [Tue, 17 May 2022 13:05:56 +0000 (15:05 +0200)]
Remove the need for dynamic dispatch for common GZipFile methods

`->read()`, `->tell()` and `->seek()` are frequently used methods when parsing
Tar archives. We know for sure that these will be mapped to the corresponding
`gz*` function. Define them statically to avoid the need for repeated
`function_exists()` checks in `__call()`.

2 years agoReplace calls to `ord()` in checksum calculation of Tar::readHeader() with a table...
Tim Düsterhus [Tue, 17 May 2022 12:47:31 +0000 (14:47 +0200)]
Replace calls to `ord()` in checksum calculation of Tar::readHeader() with a table lookup

This makes Tar header processing much faster, due to the reduced number of function
calls (> 3.1 million calls to `ord()` in a WCFSetup with WoltLab Suite Forum
included).

see ec4be13babcd7e1579c08f1805412fcc9f3d65c5

2 years agoReduce the number of function calls in Tar::readHeader()
Tim Düsterhus [Tue, 17 May 2022 12:33:09 +0000 (14:33 +0200)]
Reduce the number of function calls in Tar::readHeader()

2 years agoMerge pull request #4785 from WoltLab/remove-multi-domain
Alexander Ebert [Tue, 17 May 2022 10:48:11 +0000 (12:48 +0200)]
Merge pull request #4785 from WoltLab/remove-multi-domain

Remove multi-domain support

2 years agoMerge branch '5.5'
Tim Düsterhus [Tue, 17 May 2022 09:08:10 +0000 (11:08 +0200)]
Merge branch '5.5'

2 years agoMerge branch '5.5'
Tim Düsterhus [Tue, 17 May 2022 09:07:15 +0000 (11:07 +0200)]
Merge branch '5.5'

2 years agoUnified phrases for deprecated options
Marcel Werk [Tue, 17 May 2022 08:59:25 +0000 (10:59 +0200)]
Unified phrases for deprecated options

2 years agoDeprecated AMP support
Marcel Werk [Fri, 13 May 2022 11:19:15 +0000 (13:19 +0200)]
Deprecated AMP support

PR #4803 accidentally had the wrong target branch.

(cherry picked from commit 8c97dca561b32b3c02f3cb30b32574a8f83b8bd5)

2 years agoFix code style
Tim Düsterhus [Tue, 17 May 2022 07:26:28 +0000 (09:26 +0200)]
Fix code style

2 years agoRevert "Use checkstyle output for php-cs-fixer"
Tim Düsterhus [Tue, 17 May 2022 07:03:36 +0000 (09:03 +0200)]
Revert "Use checkstyle output for php-cs-fixer"

This change was meant to improve the output, by properly annotating the files,
but instead it makes the output absolutely useless, as it does not include line
numbers.

This reverts commit 65a9247ac9566923cf89e4055c001833622996a6.

2 years agoSimplified checks against the domain name
Alexander Ebert [Mon, 16 May 2022 20:53:26 +0000 (22:53 +0200)]
Simplified checks against the domain name

2 years agoRedesigned the rescue mode, enforce shared domain
Alexander Ebert [Mon, 16 May 2022 20:36:09 +0000 (22:36 +0200)]
Redesigned the rescue mode, enforce shared domain

2 years agoAdded documentation of minvalue / maxvalue
Marcel Werk [Mon, 16 May 2022 19:47:11 +0000 (21:47 +0200)]
Added documentation of minvalue / maxvalue

2 years agoEmail address was not visible in listing of group members
Marcel Werk [Mon, 16 May 2022 14:54:01 +0000 (16:54 +0200)]
Email address was not visible in listing of group members

2 years agoRemove obsolete check for `->getAttributes()` method on ReflectionFunction/Reflection...
Tim Düsterhus [Mon, 16 May 2022 11:57:35 +0000 (13:57 +0200)]
Remove obsolete check for `->getAttributes()` method on ReflectionFunction/ReflectionMethod

2 years agoDeprecate the obsolete WCF::useDesktopNotifications()
Tim Düsterhus [Mon, 16 May 2022 09:46:17 +0000 (11:46 +0200)]
Deprecate the obsolete WCF::useDesktopNotifications()