Tim Düsterhus [Mon, 30 May 2022 15:07:38 +0000 (17:07 +0200)]
Do not use RequestHandler::redirect() for controller-less ACP requests
Specifically do not pass the unknown `$routeData` which might not be correct
for the IndexPage of `wcf`.
see
ed55fc721676e3a5b7cf52995c2f2701a4902f1e
Tim Düsterhus [Mon, 30 May 2022 08:57:56 +0000 (10:57 +0200)]
Merge branch '5.5'
Tim Düsterhus [Mon, 30 May 2022 08:54:48 +0000 (10:54 +0200)]
Re-deprecate SessionHandler's styleID functionality
see
094ee7c31ce505b293fc228d6831ecb4a42130cc
Tim Düsterhus [Mon, 30 May 2022 08:47:36 +0000 (10:47 +0200)]
Revert "Prevent saving `styleID` in sessions for user"
The intention behind that change still is valid. However using the
`StyleAction::changeStyle()` method which internally uses
`UserAction::update()` internally is problematic, due to events firing. At the
point where `initStyle()` runs, the applications are not yet initialized and
thus the event listener classes of applications will not be found by the
autoloader.
With
bb2430b495a4bfe7e8f205b97749f49ce4f59229 the handling of the `styleID`
parameter is already removed, thus ultimately solving the same problem, but
without the issues.
This reverts commit
cc5207457ef1157b44ecad54db32ab7438a1158e.
Tim Düsterhus [Mon, 30 May 2022 08:39:00 +0000 (10:39 +0200)]
Merge branch '5.5'
Marcel Werk [Sun, 29 May 2022 15:41:09 +0000 (17:41 +0200)]
Search for author without search term was not possible
Alexander Ebert [Sat, 28 May 2022 13:05:48 +0000 (15:05 +0200)]
Removed an outdated webkit work-around
This was required in <= 5.4 to fix an issue caused by the `transform: translateX(-50%)` offset used in these versions. 5.5 uses a pixel-perfect positioning that no longer relies on this hack.
Alexander Ebert [Sat, 28 May 2022 12:48:22 +0000 (14:48 +0200)]
Missing removal of existing error messages
See https://www.woltlab.com/community/thread/295622-bitte-f%C3%BCllen-sie-dieses-eingabefeld-aus-doppelt-angezeigt/
Alexander Ebert [Sat, 28 May 2022 12:40:49 +0000 (14:40 +0200)]
Bad access the editor from within a dialog
See https://www.woltlab.com/community/thread/295640-%C3%BCber-medien-hinzugef%C3%BCgtes-bild-l%C3%A4sst-sich-nach-der-entfernung-nicht-direkt-erneu/
Alexander Ebert [Sat, 28 May 2022 12:25:55 +0000 (14:25 +0200)]
Merge pull request #4833 from WoltLab/mobile-right-sidebar
Show content of the right sidebar below the main content (mobile view)
Marcel Werk [Sat, 28 May 2022 11:03:23 +0000 (13:03 +0200)]
Show content of the right sidebar below the main content (mobile view)
Tim Düsterhus [Fri, 27 May 2022 14:37:03 +0000 (16:37 +0200)]
Remove obsolete upgrade workaround for AJAX* controllers
Tim Düsterhus [Fri, 27 May 2022 14:22:06 +0000 (16:22 +0200)]
Merge pull request #4832 from WoltLab/route-handler-get-default-controller
Remove RouteHandler::getDefaultController()
Tim Düsterhus [Fri, 27 May 2022 14:19:01 +0000 (16:19 +0200)]
Merge pull request #4831 from WoltLab/request-handler-in-rescue-mode
Deprecate RequestHandler::inRescueMode()
Tim Düsterhus [Fri, 27 May 2022 14:17:59 +0000 (16:17 +0200)]
Merge pull request #4830 from WoltLab/landingPage
Remove magic numbers from RoutingCacheBuilder's landingPages data
Tim Düsterhus [Fri, 27 May 2022 14:17:05 +0000 (16:17 +0200)]
Merge pull request #4829 from WoltLab/wcf-default-controller
Remove upgrade workarounds for default controller of `wcf`
Tim Düsterhus [Fri, 27 May 2022 13:25:28 +0000 (15:25 +0200)]
Merge pull request #4828 from WoltLab/acp-login-redirect
Remove enforced redirect of `login` and `index` controller in ACP to the `wcf` application
Tim Düsterhus [Fri, 27 May 2022 13:22:55 +0000 (15:22 +0200)]
Remove RouteHandler::getDefaultController()
This method was unused and returned questionable data as the administrator is
free to configure a differing landing page / default controller.
Tim Düsterhus [Fri, 27 May 2022 13:19:17 +0000 (15:19 +0200)]
Require a `controller` for non-`wcf` links in ACP
Tim Düsterhus [Fri, 27 May 2022 13:10:40 +0000 (15:10 +0200)]
Stop calling RequestHandler::inRescueMode()
Tim Düsterhus [Fri, 27 May 2022 13:09:54 +0000 (15:09 +0200)]
Deprecate RequestHandler::inRescueMode()
This method was unable to return anything except true.
Tim Düsterhus [Fri, 27 May 2022 12:54:12 +0000 (14:54 +0200)]
Remove magic numbers from RoutingCacheBuilder's landingPages data
Tim Düsterhus [Fri, 27 May 2022 12:50:47 +0000 (14:50 +0200)]
Remove odd `\array_slice()` call in RoutingCacheBuilder::handleLandingPageWithOverriddenApplication()
This is a simple assignment with extra steps. It definitely is no longer
required since
e9e0e45c728a24aa49c00b0d51679ede40ad43df and likely was not
required even before that.
Tim Düsterhus [Fri, 27 May 2022 12:21:03 +0000 (14:21 +0200)]
Use INNER JOIN in RoutingCacheBuilder::getCustomUrls()
The FOREIGN KEY guarantees that the row in wcf1_page exists.
Tim Düsterhus [Fri, 27 May 2022 12:19:50 +0000 (14:19 +0200)]
DRY up abbreviation retrieval in RoutingCacheBuilder::getCustomUrls()
Tim Düsterhus [Fri, 27 May 2022 12:14:39 +0000 (14:14 +0200)]
Fix code style in RoutingCacheBuilder
Tim Düsterhus [Fri, 27 May 2022 12:09:38 +0000 (14:09 +0200)]
DRY up the conversion of class name to controller name in RoutingCacheBuilder
Tim Düsterhus [Fri, 27 May 2022 12:03:22 +0000 (14:03 +0200)]
Return updated data in RoutingCacheBuilder::handleLandingPageWithOverriddenApplication()
see
662b3c73f9cffedca8c9c88397313f4aec243a77
Tim Düsterhus [Fri, 27 May 2022 12:02:06 +0000 (14:02 +0200)]
Replace `strpos()` by `str_starts_with()` in RoutingCacheBuilder
Tim Düsterhus [Fri, 27 May 2022 11:58:08 +0000 (13:58 +0200)]
Shorten overly long line in RoutingCacheBuilder
Tim Düsterhus [Fri, 27 May 2022 11:48:57 +0000 (13:48 +0200)]
Move `->isDefaultController()` check from `RequestHandler::handleDefaultController()` to `::buildRequest()`
This makes the data flow more clear, because `handleDefaultController()` will
only be called if we're actually dealing with the default controller.
Tim Düsterhus [Fri, 20 May 2022 14:03:28 +0000 (16:03 +0200)]
Remove dead branch in RequestHandler::handleDefaultController()
`$data` is guaranteed to be non-null since the previous commit.
Tim Düsterhus [Fri, 20 May 2022 13:59:57 +0000 (15:59 +0200)]
Remove dead branch in ControllerMap
The `wcf` application will have the landing page as its landing page.
Tim Düsterhus [Fri, 20 May 2022 13:51:17 +0000 (15:51 +0200)]
Remove obsolete workaround for the 2.1 to 3.0 upgrade from RoutingCacheBuilder
Tim Düsterhus [Fri, 27 May 2022 11:38:33 +0000 (13:38 +0200)]
Remove enforced redirect of `login` and `index` controller in ACP to the `wcf` application
It is not clear why this was added in
d49006fac289699c925a6d5644f102b7ebfc972c,
but it does not appear to still be required. The login check in WCFACP
correctly redirects to the `wcf` app even if an application controller is
requested. The index controller redirect was cleaned up in the previous commit.
Tim Düsterhus [Fri, 27 May 2022 11:44:01 +0000 (13:44 +0200)]
Redirect controller-less ACP requests to IndexPage of `wcf`
Tim Düsterhus [Fri, 27 May 2022 10:51:48 +0000 (12:51 +0200)]
Merge pull request #4827 from WoltLab/api-url
Move the `WSC_API_URL` into com.woltlab.wcf
Tim Düsterhus [Fri, 27 May 2022 10:51:41 +0000 (12:51 +0200)]
Merge pull request #4826 from WoltLab/upgrade-workaround-cleanup
Remove obsolete upgrade workarounds
Tim Düsterhus [Fri, 27 May 2022 10:36:14 +0000 (12:36 +0200)]
Remove support for implicitly routing *Action requests to com.woltlab.wcf
This is no longer required since the removal of multi-domain support
see
5d1c96bc6e92b8b44170922b8abb26b898582f8c
Tim Düsterhus [Fri, 27 May 2022 10:07:13 +0000 (12:07 +0200)]
Tim Düsterhus [Fri, 27 May 2022 10:02:55 +0000 (12:02 +0200)]
Move the `WSC_API_URL` into com.woltlab.wcf
This workaround is no longer required with the removal of multi-domain setups.
see
5d1c96bc6e92b8b44170922b8abb26b898582f8c
Tim Düsterhus [Fri, 27 May 2022 09:28:04 +0000 (11:28 +0200)]
Remove workaround for the WCF app in RoutingCacheBuilder
Tim Düsterhus [Fri, 27 May 2022 09:26:25 +0000 (11:26 +0200)]
Remove upgrade workaround from ApplicationHandler
Tim Düsterhus [Fri, 27 May 2022 09:22:35 +0000 (11:22 +0200)]
Use `->prepare()` instead of `->prepareStatement()` in RoutingCacheBuilder
Tim Düsterhus [Fri, 27 May 2022 09:06:07 +0000 (11:06 +0200)]
Merge pull request #4822 from WoltLab/requesthandler-cleanup
Clean up route processing in RequestHandler
Tim Düsterhus [Fri, 27 May 2022 08:43:43 +0000 (10:43 +0200)]
Merge branch '5.5'
Alexander Ebert [Thu, 26 May 2022 11:45:20 +0000 (13:45 +0200)]
Show a text cursor while the item list accepts items
Alexander Ebert [Thu, 26 May 2022 11:34:29 +0000 (13:34 +0200)]
Reordered the generic search filters
Tim Düsterhus [Wed, 25 May 2022 13:52:38 +0000 (15:52 +0200)]
Tighten up composer version constraints
Tim Düsterhus [Wed, 25 May 2022 13:49:19 +0000 (15:49 +0200)]
Update composer dependencies
Tim Düsterhus [Wed, 25 May 2022 13:48:15 +0000 (15:48 +0200)]
Merge branch '5.5'
Tim Düsterhus [Wed, 25 May 2022 13:48:07 +0000 (15:48 +0200)]
Tim Düsterhus [Wed, 25 May 2022 13:45:38 +0000 (15:45 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Wed, 25 May 2022 13:44:51 +0000 (15:44 +0200)]
Regenerate composer autoloader
Tim Düsterhus [Wed, 25 May 2022 13:43:01 +0000 (15:43 +0200)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Wed, 25 May 2022 13:33:31 +0000 (15:33 +0200)]
Regenerate composer autoloader
Tim Düsterhus [Wed, 25 May 2022 13:31:40 +0000 (15:31 +0200)]
Tim Düsterhus [Wed, 25 May 2022 13:30:33 +0000 (15:30 +0200)]
Regenerate composer autoloader
Alexander Ebert [Tue, 24 May 2022 16:38:52 +0000 (18:38 +0200)]
Improved behavior of the mobile search
An already active overlay such as the mobile menu could cause the page to become scrollable.
See https://www.woltlab.com/community/thread/295731-mobil-%C3%B6ffnen-der-suche-nach-%C3%B6ffnen-eines-men%C3%BCs-fehlerhaft/
Marcel Werk [Tue, 24 May 2022 16:20:38 +0000 (18:20 +0200)]
Improved phrases in search form
Marcel Werk [Tue, 24 May 2022 16:06:21 +0000 (18:06 +0200)]
Fixed wrong language variable
Marcel Werk [Tue, 24 May 2022 12:56:13 +0000 (14:56 +0200)]
Removed time information in account ban duration message
Alexander Ebert [Tue, 24 May 2022 09:48:58 +0000 (11:48 +0200)]
Merge branch '5.4' into 5.5
Alexander Ebert [Mon, 23 May 2022 17:08:46 +0000 (19:08 +0200)]
Force case-insensitive check for smiley codes
The smiley table uses a case-insensitive unique key for the smiley code.
See https://www.woltlab.com/community/thread/295708-bug-beim-erstellen-eines-smileys-mit-bereits-vorhandenem-smileycode-duplikat/
Marcel Werk [Mon, 23 May 2022 17:00:48 +0000 (19:00 +0200)]
Content navigation buttons were unintentionally truncated in mobile version
Alexander Ebert [Mon, 23 May 2022 15:59:45 +0000 (17:59 +0200)]
Merge pull request #4825 from WoltLab/standalone-notification-list
Moved the notification list into the global space
Alexander Ebert [Mon, 23 May 2022 15:23:28 +0000 (17:23 +0200)]
Moved the notification list into the global space
The notification list was placed in the user menu a long time ago, but never really fitted in there. The link was already (and continues to be) reachable through the drop-down menu, removing the need of an additional location.
Moving the notification list into the global page space makes more sense and aligns with similar lists such as the conversations.
Alexander Ebert [Mon, 23 May 2022 15:09:52 +0000 (17:09 +0200)]
The extra profile link now starts the edit mode
See https://www.woltlab.com/community/thread/295243-pro-und-kontra-neues-kontrollzentrum/
Alexander Ebert [Mon, 23 May 2022 15:04:16 +0000 (17:04 +0200)]
Mark quotes that have been stripped empty
See https://www.woltlab.com/community/thread/295675-zitieren-von-zitaten-f%C3%BChrt-zu-leerem-zitat/
Tim Düsterhus [Mon, 23 May 2022 14:42:24 +0000 (16:42 +0200)]
Merge branch '5.5'
Alexander Ebert [Mon, 23 May 2022 14:22:51 +0000 (16:22 +0200)]
Incorrect alignment of the user profile header
See https://www.woltlab.com/community/thread/295692-contenttitle-im-benutzerprofil-leicht-versetzt/
Alexander Ebert [Mon, 23 May 2022 14:01:28 +0000 (16:01 +0200)]
Incorrect handling of HTML elements in `<pre>`
Fixes #4824
Tim Düsterhus [Mon, 23 May 2022 08:01:44 +0000 (10:01 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Mon, 23 May 2022 07:58:20 +0000 (09:58 +0200)]
Fix typo in de.xml
Alexander Ebert [Fri, 20 May 2022 14:20:42 +0000 (16:20 +0200)]
Release 5.5.0 Beta 3
Alexander Ebert [Fri, 20 May 2022 14:12:34 +0000 (16:12 +0200)]
Incorrect visuals when the title is alone
See
405de3b60f453dfca0c11555f653128694b7ecb6
WoltLab [Fri, 20 May 2022 14:01:45 +0000 (14:01 +0000)]
Updating minified JavaScript files
Alexander Ebert [Fri, 20 May 2022 13:50:22 +0000 (15:50 +0200)]
Merge pull request #4823 from WoltLab/page-search
Exclude page versions of disabled languages from search results
Alexander Ebert [Fri, 20 May 2022 13:49:32 +0000 (15:49 +0200)]
Merge pull request #4817 from WoltLab/search-by-author
Support search for multiple authors
Alexander Ebert [Fri, 20 May 2022 13:49:10 +0000 (15:49 +0200)]
Merge branch '5.5' into search-by-author
Marcel Werk [Fri, 20 May 2022 13:43:49 +0000 (15:43 +0200)]
Exclude page versions of disabled languages from search results
ref https://www.woltlab.com/community/thread/295670-inexistente-cms-seiten-im-suchindex-nach-entfernen-der-mehrsprachigkeit/
Tim Düsterhus [Fri, 20 May 2022 13:37:09 +0000 (15:37 +0200)]
Enforce that routes return a controller for non-default-controller routes
Alexander Ebert [Fri, 20 May 2022 13:20:11 +0000 (15:20 +0200)]
Merge pull request #4819 from WoltLab/search-form-subject-only
Improved structure of the search form filter options
Tim Düsterhus [Fri, 20 May 2022 13:01:39 +0000 (15:01 +0200)]
Rewrite condition in RequestHandler::buildRequest() to be more clear
It now has an explicit “then” (ACP) and “else” (Frontend) part.
Tim Düsterhus [Fri, 20 May 2022 12:51:31 +0000 (14:51 +0200)]
Clean up `$classData` in RequestHandler::buildRequest()
Since the recent changes only the `className` member of this array was access.
Simplify this to a simple `$className` variable.
Tim Düsterhus [Fri, 20 May 2022 12:46:47 +0000 (14:46 +0200)]
Make ControllerMap::isLandingPage() take a className, not a classData array
It is only interested in the className field of the given array and taking a
className directly makes the API clearer.
Tim Düsterhus [Fri, 20 May 2022 12:43:57 +0000 (14:43 +0200)]
Remove dead stores in RequestHandler::buildRequest()
These array fields are never accessed after being unset.
Tim Düsterhus [Fri, 20 May 2022 12:40:59 +0000 (14:40 +0200)]
Remove `$pageName` from `wcf\system\request\Request`
The value is unused and badly named, because it refers to the controller name
and not the name of some page.
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.
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.
Tim Düsterhus [Fri, 20 May 2022 12:35:04 +0000 (14:35 +0200)]
Mark RequestHandler as final
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.
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.
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
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
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.
Tim Düsterhus [Fri, 20 May 2022 08:12:09 +0000 (10:12 +0200)]
Add `CheckForEnterpriseNonOwnerAccess` middleware
Tim Düsterhus [Fri, 20 May 2022 08:01:12 +0000 (10:01 +0200)]
Add `CheckForExpiredAppEvaluation` middleware
Tim Düsterhus [Fri, 20 May 2022 07:49:02 +0000 (09:49 +0200)]
Add `CheckForOfflineMode` middleware
Tim Düsterhus [Thu, 19 May 2022 14:35:45 +0000 (16:35 +0200)]
Add `AddAcpSecurityHeaders` middleware