GitHub/WoltLab/WCF.git
2 years agoMain menu support for the admin panel
Alexander Ebert [Thu, 30 Dec 2021 14:20:37 +0000 (15:20 +0100)]
Main menu support for the admin panel

2 years agoDefer the main menu creation into a separate module
Alexander Ebert [Thu, 30 Dec 2021 12:46:58 +0000 (13:46 +0100)]
Defer the main menu creation into a separate module

The admin panel uses a completely different markup that has no common logic with the frontend.

2 years agoAdmin panel menu drop-down menus are now accessible
Alexander Ebert [Wed, 29 Dec 2021 18:50:08 +0000 (19:50 +0100)]
Admin panel menu drop-down menus are now accessible

2 years agoPrototype for the mobile menu of the admin panel
Alexander Ebert [Wed, 29 Dec 2021 18:30:42 +0000 (19:30 +0100)]
Prototype for the mobile menu of the admin panel

2 years agoAdded the missing ARIA labels
Alexander Ebert [Wed, 29 Dec 2021 17:12:05 +0000 (18:12 +0100)]
Added the missing ARIA labels

2 years agoImplemented non-link sub menus
Alexander Ebert [Wed, 29 Dec 2021 16:42:47 +0000 (17:42 +0100)]
Implemented non-link sub menus

2 years agoRegular login link in the menu for guests
Alexander Ebert [Wed, 29 Dec 2021 15:12:49 +0000 (16:12 +0100)]
Regular login link in the menu for guests

2 years agoImproved the menu overflow behavior
Alexander Ebert [Tue, 28 Dec 2021 16:41:06 +0000 (17:41 +0100)]
Improved the menu overflow behavior

2 years agoMenu overflow behavior, indicators for overflowing content
Alexander Ebert [Tue, 28 Dec 2021 16:35:24 +0000 (17:35 +0100)]
Menu overflow behavior, indicators for overflowing content

2 years agoGap between menus, safe click area for touch browsers
Alexander Ebert [Mon, 27 Dec 2021 13:42:33 +0000 (14:42 +0100)]
Gap between menus, safe click area for touch browsers

2 years agoRemoved hover states on touch devices
Alexander Ebert [Thu, 23 Dec 2021 16:56:11 +0000 (17:56 +0100)]
Removed hover states on touch devices

2 years agoIncrease the tap target size to 44x44 px
Alexander Ebert [Thu, 23 Dec 2021 16:44:31 +0000 (17:44 +0100)]
Increase the tap target size to 44x44 px

2 years agoIndicator for user menu tabs with unread content
Alexander Ebert [Thu, 23 Dec 2021 16:25:13 +0000 (17:25 +0100)]
Indicator for user menu tabs with unread content

2 years agoMissing indicator for unread content
Alexander Ebert [Thu, 23 Dec 2021 16:08:24 +0000 (17:08 +0100)]
Missing indicator for unread content

2 years agoReintroduced the unread indicators
Alexander Ebert [Mon, 20 Dec 2021 16:50:48 +0000 (17:50 +0100)]
Reintroduced the unread indicators

2 years agoMissing re-enable of body scrolling when the page is not scrolled
Alexander Ebert [Mon, 20 Dec 2021 16:18:44 +0000 (17:18 +0100)]
Missing re-enable of body scrolling when the page is not scrolled

2 years agoImproved the behavior of the search overlay
Alexander Ebert [Mon, 20 Dec 2021 14:43:23 +0000 (15:43 +0100)]
Improved the behavior of the search overlay

2 years agoIntegrate the search bar into the mobile header
Alexander Ebert [Mon, 20 Dec 2021 10:54:52 +0000 (11:54 +0100)]
Integrate the search bar into the mobile header

2 years agoPage menus were too small
Alexander Ebert [Sun, 19 Dec 2021 18:47:47 +0000 (19:47 +0100)]
Page menus were too small

2 years agoIncreased the size of the touch areas of header items
Alexander Ebert [Sun, 19 Dec 2021 18:44:54 +0000 (19:44 +0100)]
Increased the size of the touch areas of header items

2 years agoOverhauled the layout of the mobile header
Alexander Ebert [Sun, 19 Dec 2021 18:11:03 +0000 (19:11 +0100)]
Overhauled the layout of the mobile header

2 years agoAlign the menu to the side on tablets
Alexander Ebert [Wed, 15 Dec 2021 15:58:00 +0000 (16:58 +0100)]
Align the menu to the side on tablets

2 years agoImplicitly close tabs upon navigation
Alexander Ebert [Wed, 15 Dec 2021 14:25:15 +0000 (15:25 +0100)]
Implicitly close tabs upon navigation

This is required to ensure compatibility with the functionality of legacy user panels.

2 years agoSupport legacy user panels in the mobile user menu
Alexander Ebert [Wed, 15 Dec 2021 13:48:20 +0000 (14:48 +0100)]
Support legacy user panels in the mobile user menu

2 years agoBetter code isolation, using consistent types
Alexander Ebert [Tue, 14 Dec 2021 17:17:03 +0000 (18:17 +0100)]
Better code isolation, using consistent types

2 years agoEmbed the control panel into the user menu
Alexander Ebert [Tue, 14 Dec 2021 16:44:11 +0000 (17:44 +0100)]
Embed the control panel into the user menu

2 years agoIntegrate the new user menu providers into the mobile menu
Alexander Ebert [Tue, 14 Dec 2021 14:44:32 +0000 (15:44 +0100)]
Integrate the new user menu providers into the mobile menu

2 years agoImplemented tab activation, keyboard support for a11y
Alexander Ebert [Mon, 13 Dec 2021 16:05:16 +0000 (17:05 +0100)]
Implemented tab activation, keyboard support for a11y

2 years agoDraft for the layout of the user menu
Alexander Ebert [Mon, 13 Dec 2021 13:35:20 +0000 (14:35 +0100)]
Draft for the layout of the user menu

2 years agoConsistent behavior of the mobile menu
Alexander Ebert [Sun, 12 Dec 2021 15:42:31 +0000 (16:42 +0100)]
Consistent behavior of the mobile menu

2 years agoInclude the footer menu at the bottom of the menu
Alexander Ebert [Sun, 12 Dec 2021 14:56:16 +0000 (15:56 +0100)]
Include the footer menu at the bottom of the menu

2 years agoPrototype for a new mobile menu
Alexander Ebert [Sun, 12 Dec 2021 13:49:03 +0000 (14:49 +0100)]
Prototype for a new mobile menu

2 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

2 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

2 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.

2 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.

2 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

2 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>`

2 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

2 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

2 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

2 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

2 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

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

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

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

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

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

2 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

2 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

2 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

2 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.*

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

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

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

2 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

2 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]

2 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.

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

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

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

2 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

2 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

2 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()

2 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

2 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

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

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

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

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

2 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

2 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

2 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

2 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

2 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/

2 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/

2 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

2 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

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

2 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

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

see #4575

2 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/
```

2 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

2 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.

2 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

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

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

2 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

2 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

2 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

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

2 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

2 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