GitHub/WoltLab/WCF.git
3 years agoUpgrade to sabberworm/php-css-parser 8.4
Tim Düsterhus [Wed, 15 Dec 2021 08:09:49 +0000 (09:09 +0100)]
Upgrade to sabberworm/php-css-parser 8.4

This comes with native PHP 8.1, avoiding the need to install from our fork.

3 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 14 Dec 2021 10:36:16 +0000 (11:36 +0100)]
Merge branch '5.4'

3 years agoRemove obsolete imports
Tim Düsterhus [Tue, 14 Dec 2021 10:24:35 +0000 (11:24 +0100)]
Remove obsolete imports

3 years agoProperly wrap Guzzle's ConnectException into FontDownloadFailed in FontManager
Tim Düsterhus [Tue, 14 Dec 2021 10:02:18 +0000 (11:02 +0100)]
Properly wrap Guzzle's ConnectException into FontDownloadFailed in FontManager

3 years agoMerge branch '5.4'
joshuaruesweg [Tue, 14 Dec 2021 09:55:43 +0000 (10:55 +0100)]
Merge branch '5.4'

3 years agoMaintain `hasFavicon` attribute during style import
joshuaruesweg [Tue, 14 Dec 2021 09:50:40 +0000 (10:50 +0100)]
Maintain `hasFavicon` attribute during style import

3 years agoAllow file `favicon.ico` for style imports
joshuaruesweg [Tue, 14 Dec 2021 09:49:45 +0000 (10:49 +0100)]
Allow file `favicon.ico` for style imports

3 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 14 Dec 2021 09:43:40 +0000 (10:43 +0100)]
Merge branch '5.4'

3 years agoUpdate scssphp/scssphp once more
Tim Düsterhus [Tue, 14 Dec 2021 09:41:32 +0000 (10:41 +0100)]
Update scssphp/scssphp once more

see aae76af2d247e67d4b812008805ca0f32014366f

3 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 14 Dec 2021 09:35:11 +0000 (10:35 +0100)]
Merge branch '5.4'

3 years agoUpdate scssphp/scssphp to the updated fork
Tim Düsterhus [Tue, 14 Dec 2021 09:32:50 +0000 (10:32 +0100)]
Update scssphp/scssphp to the updated fork

3 years agoUpdate composer dependencies
Tim Düsterhus [Tue, 14 Dec 2021 09:24:54 +0000 (10:24 +0100)]
Update composer dependencies

3 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 14 Dec 2021 09:14:25 +0000 (10:14 +0100)]
Merge branch '5.4'

3 years agoFix database and file system getting out of sync for pageLogo in style
Tim Düsterhus [Tue, 14 Dec 2021 09:10:20 +0000 (10:10 +0100)]
Fix database and file system getting out of sync for pageLogo in style

This can happen if the style editor is opened in two tabs and no logo is
configured yet. In Tab (A) an logo is uploaded and then Tab (B) is submitted.
Tab (B) will not provided the `pageLogo` key in the `uploads` parameter,
because nothing in this field was changed. Thus the processing for the logo
does not run. However all style variables are cleared upon an edit, thus
clearing the database reference.

Closes #4606

3 years agoRemove rating of reactions from reactions data
joshuaruesweg [Mon, 13 Dec 2021 14:39:41 +0000 (15:39 +0100)]
Remove rating of reactions from reactions data

See 25f91a2f3a776571c3e25a028b0d8542803052fb

3 years agoMerge branch '5.4'
joshuaruesweg [Mon, 13 Dec 2021 14:33:04 +0000 (15:33 +0100)]
Merge branch '5.4'

3 years agoFix wrong return type of LikeObject::getReactions()
joshuaruesweg [Mon, 13 Dec 2021 14:32:16 +0000 (15:32 +0100)]
Fix wrong return type of LikeObject::getReactions()

3 years agoFix UiToggleInput
Tim Düsterhus [Mon, 13 Dec 2021 13:53:18 +0000 (14:53 +0100)]
Fix UiToggleInput

Found with `strictPropertyInitialization`.

3 years agoMake Notification/Handler.ts compatible with useUnknownInCatchVariables
Tim Düsterhus [Mon, 13 Dec 2021 13:46:59 +0000 (14:46 +0100)]
Make Notification/Handler.ts compatible with useUnknownInCatchVariables

3 years agoMerge branch '5.4'
Tim Düsterhus [Mon, 13 Dec 2021 13:18:13 +0000 (14:18 +0100)]
Merge branch '5.4'

3 years agoRemove Favico from global.d.ts
Tim Düsterhus [Mon, 13 Dec 2021 13:16:50 +0000 (14:16 +0100)]
Remove Favico from global.d.ts

see e371c17b26d60c7b8b266e4366d3e5c6a8ac7bac

3 years agoFix return of any value in RewriteTest.ts
Tim Düsterhus [Mon, 13 Dec 2021 13:08:10 +0000 (14:08 +0100)]
Fix return of any value in RewriteTest.ts

3 years agoSilence `@typescript-eslint/no-unsafe-argument`
Tim Düsterhus [Mon, 13 Dec 2021 13:05:04 +0000 (14:05 +0100)]
Silence `@typescript-eslint/no-unsafe-argument`

3 years agoUpdate eslint
Tim Düsterhus [Mon, 13 Dec 2021 13:04:53 +0000 (14:04 +0100)]
Update eslint

3 years agoMerge branch '5.4'
Tim Düsterhus [Mon, 13 Dec 2021 12:38:43 +0000 (13:38 +0100)]
Merge branch '5.4'

3 years agoUpdate `@types` packages
Tim Düsterhus [Mon, 13 Dec 2021 12:30:15 +0000 (13:30 +0100)]
Update `@types` packages

3 years agoUpdate to prettier 2.5.1
Tim Düsterhus [Mon, 13 Dec 2021 12:29:10 +0000 (13:29 +0100)]
Update to prettier 2.5.1

3 years agoUpdate to TypeScript 4.5.3
Tim Düsterhus [Mon, 13 Dec 2021 12:28:07 +0000 (13:28 +0100)]
Update to TypeScript 4.5.3

3 years agoMerge branch '5.4'
Alexander Ebert [Sat, 11 Dec 2021 12:41:01 +0000 (13:41 +0100)]
Merge branch '5.4'

3 years agoIncorrect check for the active suggestion
Alexander Ebert [Sat, 11 Dec 2021 12:40:45 +0000 (13:40 +0100)]
Incorrect check for the active suggestion

3 years agoMerge pull request #4604 from WoltLab/focus-trap
Alexander Ebert [Fri, 10 Dec 2021 12:32:29 +0000 (13:32 +0100)]
Merge pull request #4604 from WoltLab/focus-trap

Use the "focus-trap" library for existing components

3 years agoUse `focus-trap` to maintain the focus in dialogs
Alexander Ebert [Thu, 9 Dec 2021 17:41:33 +0000 (18:41 +0100)]
Use `focus-trap` to maintain the focus in dialogs

3 years agoRemove logout confirmation in ACP
Tim Düsterhus [Fri, 10 Dec 2021 11:07:31 +0000 (12:07 +0100)]
Remove logout confirmation in ACP

The one in the frontend has already been removed in #4603.
372f863c3b0bc5bc9e3eb1f9f9cfed1cdd5971c1 is partially related as well.

3 years agoChanged the logout action into a `POST`
Alexander Ebert [Thu, 9 Dec 2021 19:26:59 +0000 (20:26 +0100)]
Changed the logout action into a `POST`

Using `input[type="submit"]` or `button` was not possible due to the styling being applied to these elements.

3 years agoInsert the new style variables as early as possible when upgrading
Alexander Ebert [Thu, 9 Dec 2021 18:52:12 +0000 (19:52 +0100)]
Insert the new style variables as early as possible when upgrading

3 years agoWorkaround for an incorrect width calculation inside `<details>`
Alexander Ebert [Thu, 9 Dec 2021 18:13:55 +0000 (19:13 +0100)]
Workaround for an incorrect width calculation inside `<details>`

3 years agoAllow multiple instances of the quote manager on one page
Alexander Ebert [Thu, 9 Dec 2021 18:07:23 +0000 (19:07 +0100)]
Allow multiple instances of the quote manager on one page

3 years agoUse `focus-trap` to maintain the focus in the reaction picker
Alexander Ebert [Thu, 9 Dec 2021 14:37:26 +0000 (15:37 +0100)]
Use `focus-trap` to maintain the focus in the reaction picker

3 years agoUse `focus-trap` to maintain the focus in date pickers
Alexander Ebert [Thu, 9 Dec 2021 14:19:25 +0000 (15:19 +0100)]
Use `focus-trap` to maintain the focus in date pickers

3 years agoMerge pull request #4603 from WoltLab/user-panel-v2
Alexander Ebert [Thu, 9 Dec 2021 13:59:21 +0000 (14:59 +0100)]
Merge pull request #4603 from WoltLab/user-panel-v2

Overhaul of the user panel menu

3 years agoAdjust the vertical position for fixed buttons
Alexander Ebert [Wed, 8 Dec 2021 20:43:14 +0000 (21:43 +0100)]
Adjust the vertical position for fixed buttons

3 years agoImplemented the overflow behavior
Alexander Ebert [Wed, 8 Dec 2021 18:31:16 +0000 (19:31 +0100)]
Implemented the overflow behavior

3 years agoImproved code clarity
Alexander Ebert [Wed, 8 Dec 2021 15:35:25 +0000 (16:35 +0100)]
Improved code clarity

3 years agoCode cleanup
Alexander Ebert [Wed, 8 Dec 2021 13:56:53 +0000 (14:56 +0100)]
Code cleanup

3 years agoUse tabs for `scss` files
Alexander Ebert [Wed, 8 Dec 2021 13:44:15 +0000 (14:44 +0100)]
Use tabs for `scss` files

3 years agoCode cleanup, module comments
Alexander Ebert [Wed, 8 Dec 2021 13:41:50 +0000 (14:41 +0100)]
Code cleanup, module comments

3 years agoUpdate canonical package server path in install.sql
Tim Düsterhus [Wed, 8 Dec 2021 08:57:32 +0000 (09:57 +0100)]
Update canonical package server path in install.sql

see 4a999c3644268e038a437cf18bfb76c624ffe399
see 10777a62cdcb03dc6924596466affb257dddae50

3 years agoFix upgrade from 5.4.*
Tim Düsterhus [Wed, 8 Dec 2021 08:56:37 +0000 (09:56 +0100)]
Fix upgrade from 5.4.*

see 5de2cc56ee1e5aac19d3320509aa1d2809bca25a

3 years agoFix update_com.woltlab.wcf_5.5.php
Tim Düsterhus [Wed, 8 Dec 2021 08:50:20 +0000 (09:50 +0100)]
Fix update_com.woltlab.wcf_5.5.php

see bb9f9936a48e7c015b144ef2b3cf3ffce2ccc5ae

3 years agoAdd update instructions from 5.4.*
Tim Düsterhus [Wed, 8 Dec 2021 08:32:34 +0000 (09:32 +0100)]
Add update instructions from 5.4.*

3 years agoBad z-index for use in the style editor
Alexander Ebert [Tue, 7 Dec 2021 20:09:56 +0000 (21:09 +0100)]
Bad z-index for use in the style editor

3 years agoSupport for the user menu styling in the style editor
Alexander Ebert [Tue, 7 Dec 2021 20:05:29 +0000 (21:05 +0100)]
Support for the user menu styling in the style editor

3 years agoIncrease version to 5.5.0 Alpha 1
Tim Düsterhus [Tue, 7 Dec 2021 16:07:20 +0000 (17:07 +0100)]
Increase version to 5.5.0 Alpha 1

3 years agoRemoved the separate link color
Alexander Ebert [Tue, 7 Dec 2021 15:45:28 +0000 (16:45 +0100)]
Removed the separate link color

It doesn't play nicely with the UI/UX concept

3 years agoIntroduced a separate link color, use font sizes from the style
Alexander Ebert [Tue, 7 Dec 2021 15:43:24 +0000 (16:43 +0100)]
Introduced a separate link color, use font sizes from the style

3 years agoRemove the "mark all as read" button when there is nothing unread left
Alexander Ebert [Tue, 7 Dec 2021 15:35:27 +0000 (16:35 +0100)]
Remove the "mark all as read" button when there is nothing unread left

3 years agoBackwards compatibility with the legacy mobile menu
Alexander Ebert [Tue, 7 Dec 2021 14:55:01 +0000 (15:55 +0100)]
Backwards compatibility with the legacy mobile menu

3 years agoMerge branch 'master' into user-panel-v2
Alexander Ebert [Tue, 7 Dec 2021 14:54:30 +0000 (15:54 +0100)]
Merge branch 'master' into user-panel-v2

3 years agoMissing action to close reports
Alexander Ebert [Tue, 7 Dec 2021 14:54:20 +0000 (15:54 +0100)]
Missing action to close reports

3 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 7 Dec 2021 14:08:36 +0000 (15:08 +0100)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Tue, 7 Dec 2021 14:08:18 +0000 (15:08 +0100)]
Merge branch '5.3' into 5.4

3 years agoCast `$length` to an actual `int` in TLengthDatabaseTableColumn::length()
mutec [Sun, 28 Nov 2021 10:49:39 +0000 (11:49 +0100)]
Cast `$length` to an actual `int` in TLengthDatabaseTableColumn::length()

When the object is being initialized from the existing structure in the
database, the length will be passed as a string and was previously stored as-is
within the object.

This violates the existing PHPDoc type declaration and breaks consumers that
use a strict comparison (`===`) to check the length, notably
`YearDatabaseTableColumn`.

Fix this by casting the passed parameter to an actual `int`. This should be
adjusted to a proper parameter type in a future version.

Resolves #4594

[Tim: Adjusted commit message]

3 years agoUpdate fileDelete.xml
Tim Düsterhus [Tue, 7 Dec 2021 11:38:14 +0000 (12:38 +0100)]
Update fileDelete.xml

The following script was used to generate the file:

    #!/bin/bash

    cat <<'EOF'
    <?xml version="1.0" encoding="UTF-8"?>
    <data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/2019/fileDelete.xsd">
     <delete>
     <!-- Special files -->
     <file>acp/masterPassword.inc.php</file>
     <!-- /Special files -->
    EOF

    comm -23 <(git log 11ade432290878b6829243ca99131bbf8bc23a66..HEAD --diff-filter=D --no-renames --summary |awk '/delete mode/{print $NF}' |grep wcfsetup/install/files/ |sort -u) <(find wcfsetup/install/files/ |sort -u) \
     |sed 's~^wcfsetup/install/files/~~' \
     |sed 's~^~\t\t<file>~;s~$~</file>~'

    cat <<'EOF'
     </delete>
    </data>
    EOF

And then the fileDelete.xml was re-sorted with vim's `:sort` to keep the diff minimal.

3 years agoUpdate composer dependencies
Tim Düsterhus [Tue, 7 Dec 2021 09:46:32 +0000 (10:46 +0100)]
Update composer dependencies

3 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 7 Dec 2021 08:42:36 +0000 (09:42 +0100)]
Merge branch '5.4'

3 years agoCSS for the user menu
Alexander Ebert [Mon, 6 Dec 2021 21:08:43 +0000 (22:08 +0100)]
CSS for the user menu

3 years agoRedesigned the user menu of the control panel
Alexander Ebert [Mon, 6 Dec 2021 15:55:33 +0000 (16:55 +0100)]
Redesigned the user menu of the control panel

3 years agoMerge pull request #4602 from WoltLab/available-username
Tim Düsterhus [Mon, 6 Dec 2021 14:44:48 +0000 (15:44 +0100)]
Merge pull request #4602 from WoltLab/available-username

Clean up handling of in-use usernames and email addresses

3 years agoStrip ZERO WIDTH SPACE in StringUtil::trim()
Tim Düsterhus [Mon, 6 Dec 2021 11:31:56 +0000 (12:31 +0100)]
Strip ZERO WIDTH SPACE in StringUtil::trim()

3 years agoDo not error out in UserEditForm if the username conflict is the active user
Tim Düsterhus [Mon, 6 Dec 2021 10:53:06 +0000 (11:53 +0100)]
Do not error out in UserEditForm if the username conflict is the active user

3 years agoDo not error out in AccountManagement if the username conflict is the active user
Tim Düsterhus [Mon, 6 Dec 2021 10:48:59 +0000 (11:48 +0100)]
Do not error out in AccountManagement if the username conflict is the active user

3 years agoStop using UserUtil::isAvailableEmail()
Tim Düsterhus [Mon, 6 Dec 2021 10:45:51 +0000 (11:45 +0100)]
Stop using UserUtil::isAvailableEmail()

3 years agoDeprecate UserUtil::isAvailableEmail()
Tim Düsterhus [Mon, 6 Dec 2021 10:43:06 +0000 (11:43 +0100)]
Deprecate UserUtil::isAvailableEmail()

3 years agoStop using UserUtil::isAvailableUsername()
Tim Düsterhus [Mon, 6 Dec 2021 10:42:24 +0000 (11:42 +0100)]
Stop using UserUtil::isAvailableUsername()

3 years agoDeprecate UserUtil::isAvailableUsername()
Tim Düsterhus [Mon, 6 Dec 2021 10:40:42 +0000 (11:40 +0100)]
Deprecate UserUtil::isAvailableUsername()

3 years agoSynchronize the close behavior among all overlays
Alexander Ebert [Sun, 5 Dec 2021 17:23:27 +0000 (18:23 +0100)]
Synchronize the close behavior among all overlays

3 years agoImplemented the user menu for moderation queues
Alexander Ebert [Sun, 5 Dec 2021 17:09:12 +0000 (18:09 +0100)]
Implemented the user menu for moderation queues

3 years agoMerge branch 'master' into user-panel-v2
Alexander Ebert [Sat, 4 Dec 2021 21:58:11 +0000 (22:58 +0100)]
Merge branch 'master' into user-panel-v2

3 years agoRemoving an ACL entry did not persist the current changes to the permissions
Alexander Ebert [Sat, 4 Dec 2021 18:24:58 +0000 (19:24 +0100)]
Removing an ACL entry did not persist the current changes to the permissions

3 years agoDeselecting columns for the user result list was overridden by defaults
Alexander Ebert [Sat, 4 Dec 2021 16:29:59 +0000 (17:29 +0100)]
Deselecting columns for the user result list was overridden by defaults

See https://community.woltlab.com/thread/292760-acp-benutzersuche/

3 years agoRestrict the width of the login form
Alexander Ebert [Sat, 4 Dec 2021 16:10:31 +0000 (17:10 +0100)]
Restrict the width of the login form

See https://community.woltlab.com/thread/293054-xsrf-fehlermeldung-beim-acp-login-sieht-b%C3%A4h-b%C3%A4h-aus/

3 years agoGracefully handle missing permissions to delete cover photos
Alexander Ebert [Sat, 4 Dec 2021 15:48:57 +0000 (16:48 +0100)]
Gracefully handle missing permissions to delete cover photos

3 years agoDo not block the DevTools language switch if viewing a non-CMS page
Alexander Ebert [Sat, 4 Dec 2021 15:14:49 +0000 (16:14 +0100)]
Do not block the DevTools language switch if viewing a non-CMS page

3 years agoIncorrect cleanup of pasted tables
Alexander Ebert [Sat, 4 Dec 2021 14:24:17 +0000 (15:24 +0100)]
Incorrect cleanup of pasted tables

3 years agoTrap the focus inside the menu content
Alexander Ebert [Fri, 3 Dec 2021 14:17:07 +0000 (15:17 +0100)]
Trap the focus inside the menu content

3 years agoDeprecate IExtendedMessageQuickReplyAction
Tim Düsterhus [Fri, 3 Dec 2021 13:11:31 +0000 (14:11 +0100)]
Deprecate IExtendedMessageQuickReplyAction

see #4575

3 years agoInclude the `focus-trap` library for a11y
Alexander Ebert [Fri, 3 Dec 2021 11:12:45 +0000 (12:12 +0100)]
Include the `focus-trap` library for a11y

```
cp node_modules/tabbable/dist/index.umd.min.js wcfsetup/install/files/js/3rdParty/focus-trap/
cp node_modules/tabbable/dist/index.umd.min.js.map wcfsetup/install/files/js/3rdParty/focus-trap/
```

```
cp node_modules/focus-trap/dist/focus-trap.umd.min.js wcfsetup/install/files/js/3rdParty/focus-trap/
cp node_modules/focus-trap/dist/focus-trap.umd.min.js.map wcfsetup/install/files/js/3rdParty/focus-trap/
```

3 years agoReuse data as long as it is not stale, clean-up
Alexander Ebert [Thu, 2 Dec 2021 17:05:29 +0000 (18:05 +0100)]
Reuse data as long as it is not stale, clean-up

3 years agoRemoved `favico.js` and `WCF.User.Panel.Notification`
Alexander Ebert [Thu, 2 Dec 2021 15:01:58 +0000 (16:01 +0100)]
Removed `favico.js` and `WCF.User.Panel.Notification`

Favico.js was used exclusively for the notification badge in the favicon, but was replaced with a lightweight implementation.

The user panel items cannot be properly mapped to the new implementations, if a custom version of `pageHeaderUser.tpl` is being used, then they are screwed anyway.

3 years agoMenu providers are now self-registering
Alexander Ebert [Thu, 2 Dec 2021 14:57:33 +0000 (15:57 +0100)]
Menu providers are now self-registering

3 years agoMerge branch '5.4'
Tim Düsterhus [Thu, 2 Dec 2021 13:57:29 +0000 (14:57 +0100)]
Merge branch '5.4'

3 years agoUpdate composer dependencies
Tim Düsterhus [Thu, 2 Dec 2021 13:56:24 +0000 (14:56 +0100)]
Update composer dependencies

3 years agoIncorrect detection of the last child of a list element when backspacing empty lines
Alexander Ebert [Wed, 1 Dec 2021 18:53:31 +0000 (19:53 +0100)]
Incorrect detection of the last child of a list element when backspacing empty lines

3 years agoIncorrect backspacing of empty paragraphs in list with adjacent lists
Alexander Ebert [Wed, 1 Dec 2021 18:09:28 +0000 (19:09 +0100)]
Incorrect backspacing of empty paragraphs in list with adjacent lists

3 years agoMerge pull request #4597 from WoltLab/buffer-pool-size
Tim Düsterhus [Wed, 1 Dec 2021 12:48:15 +0000 (13:48 +0100)]
Merge pull request #4597 from WoltLab/buffer-pool-size

 Add check for minimum InnoDB buffer pool size to the system check

3 years agoMerge branch '5.4'
Tim Düsterhus [Wed, 1 Dec 2021 09:51:54 +0000 (10:51 +0100)]
Merge branch '5.4'

3 years agoCheck the name of the PRIMARY KEY in PHP DDL
Tim Düsterhus [Wed, 1 Dec 2021 09:51:15 +0000 (10:51 +0100)]
Check the name of the PRIMARY KEY in PHP DDL

Resolves #4592

3 years agoAdd check for the buffer pool size to SystemCheckPage
Tim Düsterhus [Wed, 1 Dec 2021 09:36:36 +0000 (10:36 +0100)]
Add check for the buffer pool size to SystemCheckPage

Resolves #4588

3 years agoUse `SELECT @@<var_name>` instead of `SHOW VARIABLES LIKE '<var_name>'`
Tim Düsterhus [Wed, 1 Dec 2021 09:12:25 +0000 (10:12 +0100)]
Use `SELECT @@<var_name>` instead of `SHOW VARIABLES LIKE '<var_name>'`

> SHOW VARIABLES is subject to a version-dependent display-width limit. For
> variables with very long values that are not completely displayed, use SELECT
> as a workaround. For example:
>
>     SELECT @@GLOBAL.innodb_data_file_path;

(https://dev.mysql.com/doc/refman/5.6/en/show-variables.html)

3 years agoMerge branch '5.4'
Tim Düsterhus [Wed, 1 Dec 2021 09:13:49 +0000 (10:13 +0100)]
Merge branch '5.4'