GitHub/WoltLab/WCF.git
2 years agoAdd `type="button"` to jsButtonAttachmentInsertThumbnail
Tim Düsterhus [Fri, 16 Sep 2022 10:53:11 +0000 (12:53 +0200)]
Add `type="button"` to jsButtonAttachmentInsertThumbnail

This was missed in 35c59174f69bbaca5bc72c3a49beb886594ada11.

2 years agoRelease 5.5.5 dev 1 5.5.5_dev_1
Alexander Ebert [Thu, 15 Sep 2022 14:56:56 +0000 (16:56 +0200)]
Release 5.5.5 dev 1

2 years agoUpdating minified JavaScript files
WoltLab [Thu, 15 Sep 2022 14:45:49 +0000 (14:45 +0000)]
Updating minified JavaScript files

2 years agoUnescape the apostrophe in notification messages
Alexander Ebert [Thu, 15 Sep 2022 12:42:09 +0000 (14:42 +0200)]
Unescape the apostrophe in notification messages

See https://www.woltlab.com/community/thread/296665-unicode-dezimal-bei-desktop-benachrichtigungen/

2 years agoAppend a cache buster to upload images
Alexander Ebert [Thu, 15 Sep 2022 12:24:48 +0000 (14:24 +0200)]
Append a cache buster to upload images

See https://www.woltlab.com/community/thread/296221-cache-in-template-uploadfieldcomponent/

2 years agoFix the scroll behavior on iOS when opening the comment editor
Alexander Ebert [Thu, 15 Sep 2022 11:46:42 +0000 (13:46 +0200)]
Fix the scroll behavior on iOS when opening the comment editor

See https://www.woltlab.com/community/thread/297023-kommentare-unter-ios-antworten-springt-mobil-zum-seitenende/

2 years agoMark the attachment controls as plain buttons
Alexander Ebert [Thu, 15 Sep 2022 11:03:16 +0000 (13:03 +0200)]
Mark the attachment controls as plain buttons

See https://www.woltlab.com/community/thread/297057-absenden-des-formulars-via-eingabetaste-m%C3%B6chte-dateianhang-l%C3%B6schen/

2 years agoMerge branch '5.4' into 5.5
Tim Düsterhus [Thu, 15 Sep 2022 11:01:25 +0000 (13:01 +0200)]
Merge branch '5.4' into 5.5

2 years agoDatabaseObjectList::seekTo() lead to an error if the list was empty
Marcel Werk [Thu, 15 Sep 2022 11:00:48 +0000 (13:00 +0200)]
DatabaseObjectList::seekTo() lead to an error if the list was empty

2 years agoMerge pull request #4995 from WoltLab/package-fix-installation
Tim Düsterhus [Thu, 15 Sep 2022 11:00:41 +0000 (13:00 +0200)]
Merge pull request #4995 from WoltLab/package-fix-installation

Fix handling of multi-step upgrades that need to happen in lock-step

2 years agoAdd assertion to PackageInstallationNodeBuilder::buildPluginNodes()
Tim Düsterhus [Thu, 15 Sep 2022 10:44:38 +0000 (12:44 +0200)]
Add assertion to PackageInstallationNodeBuilder::buildPluginNodes()

2 years agoFix handling of multi-step upgrades that need to happen in lock-step
Tim Düsterhus [Thu, 15 Sep 2022 10:34:11 +0000 (12:34 +0200)]
Fix handling of multi-step upgrades that need to happen in lock-step

Consider the following situation:

- Package com.example.foo is installed in version 1.0.0.
- Version 1.0.1 can be upgraded from 1.0.0.
- Version 1.0.2 can be upgraded from 1.0.1 and adds a dependency on
  com.woltlab.bar which is not yet installed.
- Version 1.0.3 can be upgraded from 1.0.2.

Now the PackageinstallationScheduler will build the following plan when it's
desired to upgrade com.woltlab.foo from 1.0.0 to 1.0.2:

- Upgrade com.woltlab.foo to 1.0.1
- Install com.woltlab.bar to satisfy the dependencies for 1.0.2
- Upgrade com.woltlab.foo to 1.0.2
- Upgrade com.woltlab.foo to 1.0.3

Now when build the nodes for this plan, the upgrade instructions for 1.0.2 will
not be detected, as the "previous package" logic used for iterative upgrades
will set the previous package of com.woltlab.foo in 1.0.2 to com.woltlab.bar.
Thus when upgrading to 1.0.2 the node builder will believe that com.woltlab.foo
is installed in 1.0.0 when it actually is already upgraded to 1.0.1.

Fix this by leveraging the $pendingPackages list which is already kept up to
date for dependency resolution.

2 years agoAdd safety check to PackageInstallationNodeBuilder to detect corrupted installation...
Tim Düsterhus [Thu, 15 Sep 2022 10:33:33 +0000 (12:33 +0200)]
Add safety check to PackageInstallationNodeBuilder to detect corrupted installation plans

2 years agoMerge pull request #4994 from WoltLab/insert-real-database-table-names-performance
Tim Düsterhus [Wed, 14 Sep 2022 14:15:38 +0000 (16:15 +0200)]
Merge pull request #4994 from WoltLab/insert-real-database-table-names-performance

Bypass all logic in ApplicationHandler::insertRealDatabaseTableNames() for `WCF_N == 1`

2 years agoBypass all logic in ApplicationHandler::insertRealDatabaseTableNames() for `WCF_N...
Tim Düsterhus [Wed, 14 Sep 2022 14:03:54 +0000 (16:03 +0200)]
Bypass all logic in ApplicationHandler::insertRealDatabaseTableNames() for `WCF_N == 1`

see 1cfa4eb41df8014d1c001f612c46d788e9434144

2 years agoAdd identifiers to the mobile menu items
Alexander Ebert [Tue, 13 Sep 2022 15:15:13 +0000 (17:15 +0200)]
Add identifiers to the mobile menu items

See https://www.woltlab.com/community/thread/297081-eindeutige-bezeichner-f%C3%BCr-mobile-men%C3%BCpunkte-fehlen/

2 years agoAdd the missing language switch to the mobile guest menu
Alexander Ebert [Tue, 13 Sep 2022 15:10:51 +0000 (17:10 +0200)]
Add the missing language switch to the mobile guest menu

Fixes #4990

2 years agoUpdate `@types/google.maps` npm dependency
Tim Düsterhus [Tue, 13 Sep 2022 13:53:19 +0000 (15:53 +0200)]
Update `@types/google.maps` npm dependency

2 years agoUpdate npm dependencies
Tim Düsterhus [Tue, 13 Sep 2022 13:32:33 +0000 (15:32 +0200)]
Update npm dependencies

2 years agoFix FeedArticle::getComments()
Marcel Werk [Tue, 13 Sep 2022 12:46:58 +0000 (14:46 +0200)]
Fix FeedArticle::getComments()

Closes #4983

2 years agoRemove Article::$comments from PHPDoc
Marcel Werk [Tue, 13 Sep 2022 12:26:28 +0000 (14:26 +0200)]
Remove Article::$comments from PHPDoc

Closes #4982

2 years agoMerge pull request #4989 from WoltLab/search-message-abstract-fix
Marcel Werk [Mon, 12 Sep 2022 15:36:06 +0000 (17:36 +0200)]
Merge pull request #4989 from WoltLab/search-message-abstract-fix

Fix consideration of the search query when generating message excerpts in search results

2 years agoFix consideration of the search query when generating message excerpts in search...
Marcel Werk [Mon, 12 Sep 2022 15:22:24 +0000 (17:22 +0200)]
Fix consideration of the search query when generating message excerpts in search results

Since the rebuild of the search function the results are loaded via AJAX. This accidentally broke the generation of the message excerpt, since the highlight parameter is no longer present at this point.

2 years agoReport the timing in error messages in SmtpEmailTransport::read()
Tim Düsterhus [Fri, 9 Sep 2022 09:27:50 +0000 (11:27 +0200)]
Report the timing in error messages in SmtpEmailTransport::read()

2 years agoSet `->lastWrite = '*connect*'` after connecting to the SMTP server
Tim Düsterhus [Fri, 9 Sep 2022 09:09:33 +0000 (11:09 +0200)]
Set `->lastWrite = '*connect*'` after connecting to the SMTP server

2 years agoConsume the response to HELO
Tim Düsterhus [Fri, 9 Sep 2022 09:10:14 +0000 (11:10 +0200)]
Consume the response to HELO

see b04881b5e13300a590c1292461e58116dcbb7d89

2 years agoMerge branch '5.4' into 5.5
Tim Düsterhus [Fri, 9 Sep 2022 09:42:04 +0000 (11:42 +0200)]
Merge branch '5.4' into 5.5

2 years agoFix possible SMTP desync if a timeout strikes
Tim Düsterhus [Fri, 9 Sep 2022 09:34:07 +0000 (11:34 +0200)]
Fix possible SMTP desync if a timeout strikes

see 9ae8a0e5da751e2abfcb00a621056c3a15ed009f

2 years agoExplicitly handle `fgets()` returning `false` in SmtpEmailTransport
Tim Düsterhus [Fri, 9 Sep 2022 08:16:02 +0000 (10:16 +0200)]
Explicitly handle `fgets()` returning `false` in SmtpEmailTransport

(cherry picked from commit a6ed0b255968e9ef44c6e37f7eb71fa4ad5256ea)

2 years agoFix handling of unsupported EHLO in SmtpEmailTransport
Tim Düsterhus [Fri, 9 Sep 2022 08:54:24 +0000 (10:54 +0200)]
Fix handling of unsupported EHLO in SmtpEmailTransport

This was broken, because the SMTP exceptions are no longer `SystemException`s
since 280b49db3ccccb2c3db34d429cf760221d56116f.

2 years agoExplicitly handle `fgets()` returning `false` in SmtpEmailTransport
Tim Düsterhus [Fri, 9 Sep 2022 08:16:02 +0000 (10:16 +0200)]
Explicitly handle `fgets()` returning `false` in SmtpEmailTransport

2 years agoFix condition check for user trophies
Marcel Werk [Wed, 7 Sep 2022 16:04:23 +0000 (18:04 +0200)]
Fix condition check for user trophies

The check was incorrectly not based on trophyID but on userTrophyID.

2 years agoFix outdated cookie policy
Marcel Werk [Wed, 7 Sep 2022 10:32:13 +0000 (12:32 +0200)]
Fix outdated cookie policy

There is no longer a login cookie and the session cookie is no longer temporary.

2 years agoMerge pull request #4984 from WoltLab/notification-delete-email
Tim Düsterhus [Tue, 6 Sep 2022 13:22:21 +0000 (15:22 +0200)]
Merge pull request #4984 from WoltLab/notification-delete-email

Add missing email status update for deleted notifications

2 years agoAdd missing email status update for deleted notifications
Tim Düsterhus [Tue, 6 Sep 2022 11:53:43 +0000 (13:53 +0200)]
Add missing email status update for deleted notifications

2 years agoGuard against throwing unserialize handlers when unserializing session variables
Tim Düsterhus [Mon, 5 Sep 2022 11:58:41 +0000 (13:58 +0200)]
Guard against throwing unserialize handlers when unserializing session variables

2 years agoMerge branch '5.4' into 5.5
Tim Düsterhus [Mon, 5 Sep 2022 09:47:09 +0000 (11:47 +0200)]
Merge branch '5.4' into 5.5

2 years agoMerge pull request #4981 from WoltLab/smtp-transport-desync
Tim Düsterhus [Mon, 5 Sep 2022 09:46:48 +0000 (11:46 +0200)]
Merge pull request #4981 from WoltLab/smtp-transport-desync

Detect possible SMTP connection desync in SmtpEmailTransport

2 years agoAdd `codemirror.tpl` to frontend templates
Tim Düsterhus [Mon, 5 Sep 2022 08:52:29 +0000 (10:52 +0200)]
Add `codemirror.tpl` to frontend templates

Fixes #4780

2 years agoDetect possible SMTP connection desync in SmtpEmailTransport
Tim Düsterhus [Mon, 5 Sep 2022 08:19:44 +0000 (10:19 +0200)]
Detect possible SMTP connection desync in SmtpEmailTransport

see https://www.woltlab.com/community/thread/296850-smtp-probleme-nachdem-erste-mail-fehlschl%C3%A4gt/

2 years agoMerge pull request #4978 from WoltLab/image-proxy-webp
Tim Düsterhus [Fri, 2 Sep 2022 11:30:51 +0000 (13:30 +0200)]
Merge pull request #4978 from WoltLab/image-proxy-webp

Accept WebP payloads in ImageProxyAction

2 years agoUse `str_contains()` in ImageProxyAction
Tim Düsterhus [Fri, 2 Sep 2022 07:22:23 +0000 (09:22 +0200)]
Use `str_contains()` in ImageProxyAction

2 years agoUse `image_type_to_extension()` in ImageProxyAction
Tim Düsterhus [Fri, 2 Sep 2022 07:21:32 +0000 (09:21 +0200)]
Use `image_type_to_extension()` in ImageProxyAction

2 years agoAdd messages to all DomainExceptions in ImageProxyAction
Tim Düsterhus [Fri, 2 Sep 2022 07:19:14 +0000 (09:19 +0200)]
Add messages to all DomainExceptions in ImageProxyAction

2 years agoAccept WebP payloads in ImageProxyAction
Tim Düsterhus [Fri, 2 Sep 2022 07:16:31 +0000 (09:16 +0200)]
Accept WebP payloads in ImageProxyAction

2 years agoMerge branch '5.5' of https://github.com/WoltLab/WCF into 5.5
Marcel Werk [Thu, 1 Sep 2022 11:54:44 +0000 (13:54 +0200)]
Merge branch '5.5' of https://github.com/WoltLab/WCF into 5.5

2 years agoFix error message when a user clicks the activation link multiple times
Marcel Werk [Thu, 1 Sep 2022 11:54:42 +0000 (13:54 +0200)]
Fix error message when a user clicks the activation link multiple times

2 years agoMerge pull request #4974 from WoltLab/oauth-authorize-query
Tim Düsterhus [Thu, 1 Sep 2022 08:35:11 +0000 (10:35 +0200)]
Merge pull request #4974 from WoltLab/oauth-authorize-query

Support URIs with query-string in AbstractOauth2Action::getAuthorizeUrl()

2 years agoDo not assign in `if()` in AbstractOauth2Action
Tim Düsterhus [Thu, 1 Sep 2022 08:21:41 +0000 (10:21 +0200)]
Do not assign in `if()` in AbstractOauth2Action

2 years agoSupport URIs with query-string in AbstractOauth2Action::getAuthorizeUrl()
Tim Düsterhus [Thu, 1 Sep 2022 08:02:58 +0000 (10:02 +0200)]
Support URIs with query-string in AbstractOauth2Action::getAuthorizeUrl()

2 years agoAdd `random_int` to template modifier allow-list
Tim Düsterhus [Tue, 30 Aug 2022 14:19:52 +0000 (16:19 +0200)]
Add `random_int` to template modifier allow-list

Resolves #4967

2 years agoReturn `TIME_NOW` in Session::getLastActivityTime() for the current session
Tim Düsterhus [Tue, 30 Aug 2022 14:10:50 +0000 (16:10 +0200)]
Return `TIME_NOW` in Session::getLastActivityTime() for the current session

Since b1adc239cb469a2c648d56d5e98e57c8a41d9b2c the lastActivityTime is only
updated once per minute to reduce the write traffic on the session table. This
might lead to the current session not appearing at the top in account security.

Fix this by returning the current time in `getLastActivityTime()` if the
session in question is the active session, because the current request is the
latest activity by definition.

2 years agoValidate the `from` with UserUtil::isValidEmail() in UserMailForm
Tim Düsterhus [Tue, 30 Aug 2022 13:13:53 +0000 (15:13 +0200)]
Validate the `from` with UserUtil::isValidEmail() in UserMailForm

see af702ce9b143157350ee2ade5c33c98d3eba6ae9

2 years agoValidate the `from` with UserUtil::isValidEmail() in SendMailUserBulkProcessingAction
Tim Düsterhus [Tue, 30 Aug 2022 13:11:54 +0000 (15:11 +0200)]
Validate the `from` with UserUtil::isValidEmail() in SendMailUserBulkProcessingAction

Do not use the `EmailGrammar` which might not include all the necessary
validation (e.g. for 8-bit characters).

2 years agoUpdate for PHP CS Fixer 3.10.0
Tim Düsterhus [Mon, 29 Aug 2022 12:20:02 +0000 (14:20 +0200)]
Update for PHP CS Fixer 3.10.0

2 years agoUpdate composer dependencies
Tim Düsterhus [Mon, 29 Aug 2022 10:14:46 +0000 (12:14 +0200)]
Update composer dependencies

2 years agoExplicitly convert float to int in GDImageAdapter's alpha values
Sascha Greuel [Sat, 13 Aug 2022 19:06:28 +0000 (21:06 +0200)]
Explicitly convert float to int in GDImageAdapter's alpha values

Implicit conversion from float to int is deprecated in PHP 8.1.

Closes #4958

2 years agoRelease 5.5.4 5.5.4
Alexander Ebert [Fri, 19 Aug 2022 12:59:47 +0000 (14:59 +0200)]
Release 5.5.4

2 years agoMerge branch '5.4' into 5.5
Alexander Ebert [Fri, 19 Aug 2022 12:56:16 +0000 (14:56 +0200)]
Merge branch '5.4' into 5.5

2 years agoRelease 5.4.22 5.4.22
Alexander Ebert [Fri, 19 Aug 2022 12:54:05 +0000 (14:54 +0200)]
Release 5.4.22

2 years agoRelease 5.5.4 dev 3 5.5.4_dev_3
Alexander Ebert [Thu, 18 Aug 2022 15:28:14 +0000 (17:28 +0200)]
Release 5.5.4 dev 3

2 years agoUpdating minified JavaScript files
WoltLab [Thu, 18 Aug 2022 15:15:41 +0000 (15:15 +0000)]
Updating minified JavaScript files

2 years agoPrevent Safari from dispatching search requests twice
Alexander Ebert [Thu, 18 Aug 2022 13:19:38 +0000 (15:19 +0200)]
Prevent Safari from dispatching search requests twice

See https://www.woltlab.com/community/thread/296867-fetch-is-aborted-bei-suchergebnissen/

2 years agoFix the editing of links inside the editor
Alexander Ebert [Thu, 18 Aug 2022 12:08:44 +0000 (14:08 +0200)]
Fix the editing of links inside the editor

See https://www.woltlab.com/community/thread/296868-bearbeiten-von-link-ohne-tld-endung-f%C3%BCgt-https-hinzu/

2 years agoPrevent attachment buttons from submitting the form
Alexander Ebert [Thu, 18 Aug 2022 11:46:22 +0000 (13:46 +0200)]
Prevent attachment buttons from submitting the form

See https://www.woltlab.com/community/thread/296855-drag-drop-eines-bildes-f%C3%BChrt-zum-absenden-eines-neuen-themas-firefox/

2 years agoRelease 5.5.4 dev 2 5.5.4_dev_2
Alexander Ebert [Tue, 16 Aug 2022 11:43:41 +0000 (13:43 +0200)]
Release 5.5.4 dev 2

2 years agoFix issue when a user does not have permissions to use any search object type
Marcel Werk [Mon, 15 Aug 2022 16:30:09 +0000 (18:30 +0200)]
Fix issue when a user does not have permissions to use any search object type

2 years agoRelease 5.5.4 dev 1 5.5.4_dev_1
Alexander Ebert [Fri, 12 Aug 2022 13:18:47 +0000 (15:18 +0200)]
Release 5.5.4 dev 1

2 years agoMerge pull request #4953 from WoltLab/group-permission-check
Alexander Ebert [Fri, 12 Aug 2022 12:52:07 +0000 (14:52 +0200)]
Merge pull request #4953 from WoltLab/group-permission-check

Remove broken check for UserGroupPermissionCache consistency

2 years agoRemove broken check for UserGroupPermissionCache consistency
Tim Düsterhus [Fri, 12 Aug 2022 12:22:37 +0000 (14:22 +0200)]
Remove broken check for UserGroupPermissionCache consistency

The purpose of this check is not entirely clear, as it exists since the very
first commit in git. Back then it was not yet broken, it got broken when the
caching system was refactored to reorder parameters, probably in order to
improve the cache hit rates:

When running the `worker`s using the CLI interface, for some reason, the cache
for guests gets rebuilt with the `$parameters` array (and thus by extension the
`groupIDs` value) being equal to `[2, 1]`, whereas everywhere else the
`$parameters` are consistently `[1, 2]`.

Now when rebuilding the data via the CLI, the cache will have the `[2, 1]`
order and when reloading the cache in a regular HTTP session this check will
fail, as `[2, 1] != [1, 2]`, thus completely disregarding the cache contents
and using an empty permissions array instead. This in turn leads to guests not
being able to access anything.

Fix this by removing the safety check:

- It's exceedingly unlikely for two unrelated `$parameters` to collide in the
  cache filename, thus applying incorrect permissions.
- If the CacheBuilder itself is buggy, then all bets are off anyway.

2 years agoUpdating minified JavaScript files
WoltLab [Fri, 12 Aug 2022 11:38:24 +0000 (11:38 +0000)]
Updating minified JavaScript files

2 years agoMerge branch '5.4' into 5.5
Tim Düsterhus [Fri, 12 Aug 2022 09:24:21 +0000 (11:24 +0200)]
Merge branch '5.4' into 5.5

2 years agoUnify “Datenbanktabelle” in de.xml
Tim Düsterhus [Fri, 12 Aug 2022 09:23:54 +0000 (11:23 +0200)]
Unify “Datenbanktabelle” in de.xml

2 years agoFix typo in de.xml
Tim Düsterhus [Fri, 12 Aug 2022 09:23:11 +0000 (11:23 +0200)]
Fix typo in de.xml

see #4952

2 years agoMerge branch '5.4' into 5.5
Tim Düsterhus [Thu, 11 Aug 2022 12:46:41 +0000 (14:46 +0200)]
Merge branch '5.4' into 5.5

2 years agoImprove character class definition in explanation for PIP identifiers
Tim Düsterhus [Thu, 11 Aug 2022 12:45:33 +0000 (14:45 +0200)]
Improve character class definition in explanation for PIP identifiers

see #4952

2 years agoUnify phrasing for PIP identifier explanations
Tim Düsterhus [Thu, 11 Aug 2022 12:43:58 +0000 (14:43 +0200)]
Unify phrasing for PIP identifier explanations

see #4952

2 years agoImprove phrasing in PIP identifier description
Tim Düsterhus [Thu, 11 Aug 2022 12:40:52 +0000 (14:40 +0200)]
Improve phrasing in PIP identifier description

see #4952

2 years agoFix grammar in de.xml
Tim Düsterhus [Thu, 11 Aug 2022 12:38:50 +0000 (14:38 +0200)]
Fix grammar in de.xml

Resolves #4952

Reported-by: Dennis Kraffczyk <github@dennis-kraffczyk.de>
2 years agoReplace “Example” by “Beispiel” in de.xml
Tim Düsterhus [Thu, 11 Aug 2022 12:37:14 +0000 (14:37 +0200)]
Replace “Example” by “Beispiel” in de.xml

see #4952

2 years agoFix the check for the provided element
Alexander Ebert [Wed, 10 Aug 2022 16:51:14 +0000 (18:51 +0200)]
Fix the check for the provided element

The implementation expects an input element, but an additional guard is in place to only accept DOM elements. The intention was to reject other values such as strings which were common with the previous jQuery implementation.

2 years agoMerge branch '5.4' into 5.5
Tim Düsterhus [Fri, 5 Aug 2022 07:29:45 +0000 (09:29 +0200)]
Merge branch '5.4' into 5.5

2 years agoFix PHPDoc type in IFormField
Tim Düsterhus [Thu, 4 Aug 2022 11:47:22 +0000 (13:47 +0200)]
Fix PHPDoc type in IFormField

2 years agoMerge pull request #4920 from WoltLab/row-format
Tim Düsterhus [Thu, 4 Aug 2022 10:20:26 +0000 (12:20 +0200)]
Merge pull request #4920 from WoltLab/row-format

Set an explicit `ROW_FORMAT=dynamic` in CREATE TABLE

2 years agoMerge pull request #4921 from SoftCreatR/patch-2
Tim Düsterhus [Thu, 4 Aug 2022 07:04:07 +0000 (09:04 +0200)]
Merge pull request #4921 from SoftCreatR/patch-2

Fix Facebook media provider

2 years agoFixed Facebook media provider
Sascha Greuel [Thu, 4 Aug 2022 04:58:21 +0000 (06:58 +0200)]
Fixed Facebook media provider

Usernames CAN contain periods, but they're currently not supported. There's also no need for a trailing slash.

Example: https://www.facebook.com/RaiPlay.it/videos/1059491774481091

2 years agoSet an explicit `ROW_FORMAT=dynamic` in CREATE TABLE
Tim Düsterhus [Wed, 3 Aug 2022 12:14:07 +0000 (14:14 +0200)]
Set an explicit `ROW_FORMAT=dynamic` in CREATE TABLE

Resolves #4910.

2 years agoDetect incorrect system font stack inserted in Chrome
Alexander Ebert [Tue, 2 Aug 2022 15:46:46 +0000 (17:46 +0200)]
Detect incorrect system font stack inserted in Chrome

2 years agoMerge pull request #4917 from WoltLab/attachment-tab-a11y
Alexander Ebert [Tue, 2 Aug 2022 11:46:03 +0000 (13:46 +0200)]
Merge pull request #4917 from WoltLab/attachment-tab-a11y

Add missing button role in attachment management tab

2 years agoAdd missing button role in attachment management tab
Marcel Werk [Tue, 2 Aug 2022 11:38:02 +0000 (13:38 +0200)]
Add missing button role in attachment management tab

2 years agoFix missing copying of conditions when copying boxes
Marcel Werk [Mon, 1 Aug 2022 15:45:32 +0000 (17:45 +0200)]
Fix missing copying of conditions when copying boxes

2 years agoAdd `str_contains`, `str_starts_with`, `str_ends_with` to allowed template modifiers
Tim Düsterhus [Mon, 1 Aug 2022 12:07:32 +0000 (14:07 +0200)]
Add `str_contains`, `str_starts_with`, `str_ends_with` to allowed template modifiers

2 years agoUpdate composer dependencies
Tim Düsterhus [Mon, 1 Aug 2022 09:28:11 +0000 (11:28 +0200)]
Update composer dependencies

2 years agoScroll to the editor after inserting the quote
Alexander Ebert [Thu, 28 Jul 2022 11:11:57 +0000 (13:11 +0200)]
Scroll to the editor after inserting the quote

See https://www.woltlab.com/community/thread/296552-zitieren-von-kompletten-beitr%C3%A4gen-springt-nicht-in-den-editor/

2 years agoUpdate composer dependencies
Tim Düsterhus [Thu, 28 Jul 2022 09:38:39 +0000 (11:38 +0200)]
Update composer dependencies

2 years agoCommit missing file
Tim Düsterhus [Thu, 28 Jul 2022 09:35:17 +0000 (11:35 +0200)]
Commit missing file

see 8443392598404a0334b8770b910437f0592a996b

2 years agoUpdate laminas-progressbar to a custom fork
Tim Düsterhus [Thu, 28 Jul 2022 09:34:40 +0000 (11:34 +0200)]
Update laminas-progressbar to a custom fork

see laminas/laminas-progressbar#14

2 years agoUnify error handling of DatabaseTableIndex with DatabaseTableForeignKey
Tim Düsterhus [Thu, 28 Jul 2022 08:45:37 +0000 (10:45 +0200)]
Unify error handling of DatabaseTableIndex with DatabaseTableForeignKey

This fixes a misleading error message if `->getData()` is called, but no
columns have been set:

> implode(): Argument #1 ($pieces) must be of type array, string given

2 years agoPrevent closing unclosable dialogs with the escape key
Alexander Ebert [Wed, 27 Jul 2022 17:18:27 +0000 (19:18 +0200)]
Prevent closing unclosable dialogs with the escape key

See https://www.woltlab.com/community/thread/296571-esc-schlie%C3%9Ft-login-dialog-im-acp/

2 years agoDetect changes to the HEX value using the `input` event
Alexander Ebert [Wed, 27 Jul 2022 17:07:45 +0000 (19:07 +0200)]
Detect changes to the HEX value using the `input` event

The `keypress` event does not fire while making changes to some parts of the value. This becomes an issue when the dialog is submitted through the enter key without a blur happening.

See https://www.woltlab.com/community/thread/296596-farbw%C3%A4hler-durch-enter-speichert-den-wert-nicht/