GitHub/WoltLab/WCF.git
4 years agoMake marking required fields optional with form builder (#3764)
Matthias Schmidt [Tue, 8 Dec 2020 17:03:41 +0000 (18:03 +0100)]
Make marking required fields optional with form builder (#3764)

Close #3758

4 years agoMerge branch '5.3'
joshuaruesweg [Tue, 8 Dec 2020 12:57:21 +0000 (13:57 +0100)]
Merge branch '5.3'

4 years agoFix `wcf.user.register.needEmailConfirmation`
joshuaruesweg [Tue, 8 Dec 2020 12:56:41 +0000 (13:56 +0100)]
Fix `wcf.user.register.needEmailConfirmation`

4 years agoFix `wcf.user.register.needEmailConfirmation`
joshuaruesweg [Tue, 8 Dec 2020 12:54:49 +0000 (13:54 +0100)]
Fix `wcf.user.register.needEmailConfirmation`

4 years agoMerge branch '5.2' into 5.3
Alexander Ebert [Mon, 7 Dec 2020 20:00:31 +0000 (21:00 +0100)]
Merge branch '5.2' into 5.3

4 years agoMerge branch '3.1' into 5.2
Alexander Ebert [Mon, 7 Dec 2020 20:00:11 +0000 (21:00 +0100)]
Merge branch '3.1' into 5.2

4 years agoForce the use of the attachment thumbnail if the original is inaccessible
Alexander Ebert [Mon, 7 Dec 2020 19:58:02 +0000 (20:58 +0100)]
Force the use of the attachment thumbnail if the original is inaccessible

4 years agoWorkaround for the misaligned caret in Safari caused by 0x200B
Alexander Ebert [Mon, 7 Dec 2020 19:02:58 +0000 (20:02 +0100)]
Workaround for the misaligned caret in Safari caused by 0x200B

4 years agoImproved the iOS WebKit click detection inside the editor margin
Alexander Ebert [Mon, 7 Dec 2020 17:16:08 +0000 (18:16 +0100)]
Improved the iOS WebKit click detection inside the editor margin

4 years agoForce a whitespace before and after inserted smileys
Alexander Ebert [Mon, 7 Dec 2020 16:27:54 +0000 (17:27 +0100)]
Force a whitespace before and after inserted smileys

4 years agoMerge pull request #3793 from WoltLab/style-import-permissions
Tim Düsterhus [Mon, 7 Dec 2020 15:52:12 +0000 (16:52 +0100)]
Merge pull request #3793 from WoltLab/style-import-permissions

Validate package installation permissions in StyleImportForm

4 years agoValidate package installation permissions in StyleImportForm
Tim Düsterhus [Mon, 7 Dec 2020 14:56:53 +0000 (15:56 +0100)]
Validate package installation permissions in StyleImportForm

4 years agoMerge pull request #3786 from WoltLab/like-rebuild
Joshua Rüsweg [Mon, 7 Dec 2020 12:59:44 +0000 (13:59 +0100)]
Merge pull request #3786 from WoltLab/like-rebuild

Optimize LikeRebuildDataWorker performance

4 years agoMerge branch '5.3'
Tim Düsterhus [Mon, 7 Dec 2020 10:05:02 +0000 (11:05 +0100)]
Merge branch '5.3'

4 years agoMerge pull request #3782 from WoltLab/deprecate-memcached
Tim Düsterhus [Mon, 7 Dec 2020 08:07:57 +0000 (09:07 +0100)]
Merge pull request #3782 from WoltLab/deprecate-memcached

Deprecate memcached

4 years agoOnly close the user panel drop-downs if no key modifier was pressed
Alexander Ebert [Sun, 6 Dec 2020 21:48:54 +0000 (22:48 +0100)]
Only close the user panel drop-downs if no key modifier was pressed

4 years agoDiscard the current selection when saving a quote
Alexander Ebert [Sun, 6 Dec 2020 20:16:16 +0000 (21:16 +0100)]
Discard the current selection when saving a quote

4 years agoPrevent the tooltip being selectable while the user changes the selection
Alexander Ebert [Sun, 6 Dec 2020 20:10:59 +0000 (21:10 +0100)]
Prevent the tooltip being selectable while the user changes the selection

4 years agoUnified behavior of the notification list and the corresponding menu drop-down
Alexander Ebert [Sun, 6 Dec 2020 19:35:08 +0000 (20:35 +0100)]
Unified behavior of the notification list and the corresponding menu drop-down

4 years agoConsistent width of menus in the mobile menu
Alexander Ebert [Sun, 6 Dec 2020 19:19:58 +0000 (20:19 +0100)]
Consistent width of menus in the mobile menu

4 years agoFix merge conflict
Matthias Schmidt [Sun, 6 Dec 2020 14:11:50 +0000 (15:11 +0100)]
Fix merge conflict

4 years agoMerge branch '5.3'
Matthias Schmidt [Sun, 6 Dec 2020 14:11:26 +0000 (15:11 +0100)]
Merge branch '5.3'

4 years agoMerge branch '5.2' into 5.3
Matthias Schmidt [Sun, 6 Dec 2020 14:09:45 +0000 (15:09 +0100)]
Merge branch '5.2' into 5.3

4 years agoFix dependencies for single media form field
Matthias Schmidt [Sun, 6 Dec 2020 14:09:17 +0000 (15:09 +0100)]
Fix dependencies for single media form field

4 years agoAdd form field for active user's password (#3783)
Matthias Schmidt [Sun, 6 Dec 2020 12:48:28 +0000 (13:48 +0100)]
Add form field for active user's password (#3783)

Close #3777

4 years agoAdd missing space after comma in ReactionHandler::renderInlineList()
Tim Düsterhus [Sat, 5 Dec 2020 18:08:14 +0000 (19:08 +0100)]
Add missing space after comma in ReactionHandler::renderInlineList()

4 years agoMerge pull request #3785 from WoltLab/54-typescript-acp-article
Alexander Ebert [Fri, 4 Dec 2020 17:53:33 +0000 (18:53 +0100)]
Merge pull request #3785 from WoltLab/54-typescript-acp-article

Convert the ACP article modules to TypeScript

4 years agoSimplify selection of existing like objects in LikeRebuildDataWorker
Tim Düsterhus [Fri, 4 Dec 2020 14:59:43 +0000 (15:59 +0100)]
Simplify selection of existing like objects in LikeRebuildDataWorker

Since the previous commit it is expected that only a single objectTypeID is hit
per worker execution in the usual case, because all objects for a single
objectTypeID are processed before proceeding to the next objectTypeID. This
patch optimizes this case by sending a separate query per objectTypeID to fetch
the existing like objects instead of combining all the objects in a single
query.

This should help MySQL in optimizing the query, because the objectTypeID (which
is the first column in the UNIQUE KEY on wcf1_like_object) is fixed for a
single query and this is immediately obvious without needing to scan all the
tuples passed to the IN(…) condition.

In the general case the number of queries does not change. In the iterations
where the last objectID for an objectTypeID is reached two queries will be sent
instead of a single one. Those two combined should be more efficient that the
single old query, though.

4 years agoAllow LikeRebuildDataWorker to leverage the wcf1_like.objectTypeID key for sorting
Tim Düsterhus [Fri, 4 Dec 2020 14:52:10 +0000 (15:52 +0100)]
Allow LikeRebuildDataWorker to leverage the wcf1_like.objectTypeID key for sorting

4 years agoFix resetting user sessions when editing users via ACP
joshuaruesweg [Fri, 4 Dec 2020 13:10:23 +0000 (14:10 +0100)]
Fix resetting user sessions when editing users via ACP
Fixes #3780

4 years agoAdjusted handling of empty breadcrumbs
Marcel Werk [Fri, 4 Dec 2020 11:27:04 +0000 (12:27 +0100)]
Adjusted handling of empty breadcrumbs

4 years agoMerge branch '5.3'
joshuaruesweg [Fri, 4 Dec 2020 10:38:21 +0000 (11:38 +0100)]
Merge branch '5.3'

4 years agoMerge branch '5.2'
joshuaruesweg [Fri, 4 Dec 2020 10:35:16 +0000 (11:35 +0100)]
Merge branch '5.2'

4 years agoIgnore invalid file ids during deleting uploaded files
joshuaruesweg [Fri, 4 Dec 2020 10:33:53 +0000 (11:33 +0100)]
Ignore invalid file ids during deleting uploaded files
There can be several reasons why the files are no longer known. We can ignore this and simply return a success message so that it doesn't pop up in the frontend when unknown files are deleted.

4 years agoFix detecting images with capitalised file extensions
joshuaruesweg [Fri, 4 Dec 2020 10:23:53 +0000 (11:23 +0100)]
Fix detecting images with capitalised file extensions

4 years agoOnly rebuild favicons if there is a new image uploaded
joshuaruesweg [Fri, 4 Dec 2020 10:05:10 +0000 (11:05 +0100)]
Only rebuild favicons if there is a new image uploaded

4 years agoFix updating pageLogo in StyleAction
joshuaruesweg [Fri, 4 Dec 2020 09:09:32 +0000 (10:09 +0100)]
Fix updating pageLogo in StyleAction

4 years agoUse 'Not Recommended' in favor of 'Deprecated' for English memcached deprecation
Tim Düsterhus [Fri, 4 Dec 2020 08:08:34 +0000 (09:08 +0100)]
Use 'Not Recommended' in favor of 'Deprecated' for English memcached deprecation

4 years agoConsistently use 'Obsolet' for German memcached deprecation
Tim Düsterhus [Fri, 4 Dec 2020 08:07:46 +0000 (09:07 +0100)]
Consistently use 'Obsolet' for German memcached deprecation

4 years agoConvert `Acp/Ui/Article/InlineEditor` to TypeScript
Alexander Ebert [Fri, 4 Dec 2020 00:44:36 +0000 (01:44 +0100)]
Convert `Acp/Ui/Article/InlineEditor` to TypeScript

4 years agoDeprecated memcached
Tim Düsterhus [Thu, 3 Dec 2020 10:24:30 +0000 (11:24 +0100)]
Deprecated memcached

Resolves #3638

4 years agoImproved wrapping of reaction filter buttons on mobile
Marcel Werk [Wed, 2 Dec 2020 15:38:11 +0000 (16:38 +0100)]
Improved wrapping of reaction filter buttons on mobile

4 years agoConvert `Acp/Ui/Article/Add` to TypeScript
Alexander Ebert [Thu, 26 Nov 2020 00:16:50 +0000 (01:16 +0100)]
Convert `Acp/Ui/Article/Add` to TypeScript

4 years agoMerge branch '5.3'
Tim Düsterhus [Tue, 1 Dec 2020 13:45:23 +0000 (14:45 +0100)]
Merge branch '5.3'

4 years agoMerge branch '5.2' into 5.3
Alexander Ebert [Tue, 1 Dec 2020 12:35:47 +0000 (13:35 +0100)]
Merge branch '5.2' into 5.3

4 years agoMerge branch '3.1' into 5.2
Alexander Ebert [Tue, 1 Dec 2020 12:34:59 +0000 (13:34 +0100)]
Merge branch '3.1' into 5.2

4 years agoIncorrect version comparison for accessible packages
Alexander Ebert [Tue, 1 Dec 2020 12:32:47 +0000 (13:32 +0100)]
Incorrect version comparison for accessible packages

4 years agoPrevent rewriting filenames for processed files
joshuaruesweg [Tue, 1 Dec 2020 10:58:14 +0000 (11:58 +0100)]
Prevent rewriting filenames for processed files

4 years agoMerge pull request #3768 from WoltLab/54-typescript-clipboard
Alexander Ebert [Mon, 30 Nov 2020 13:45:30 +0000 (14:45 +0100)]
Merge pull request #3768 from WoltLab/54-typescript-clipboard

Convert the clipboard handler to TypeScript

4 years agoMerge pull request #3769 from WoltLab/54-typescript-acp-box
Alexander Ebert [Mon, 30 Nov 2020 13:30:16 +0000 (14:30 +0100)]
Merge pull request #3769 from WoltLab/54-typescript-acp-box

Convert ACP box modules to TypeScript

4 years agoMerge pull request #3771 from WoltLab/54-typescript-acp-option
Alexander Ebert [Mon, 30 Nov 2020 13:29:36 +0000 (14:29 +0100)]
Merge pull request #3771 from WoltLab/54-typescript-acp-option

Convert the ACP option modules to TypeScript

4 years agoSimplified the check by inverting the logic
Alexander Ebert [Mon, 30 Nov 2020 13:26:56 +0000 (14:26 +0100)]
Simplified the check by inverting the logic

4 years agoMerge pull request #3772 from WoltLab/54-typescript-acp-package
Alexander Ebert [Mon, 30 Nov 2020 13:14:39 +0000 (14:14 +0100)]
Merge pull request #3772 from WoltLab/54-typescript-acp-package

Convert the ACP package modules to TypeScript

4 years agoMerge pull request #3773 from WoltLab/54-typescript-acp-page
Alexander Ebert [Mon, 30 Nov 2020 13:14:05 +0000 (14:14 +0100)]
Merge pull request #3773 from WoltLab/54-typescript-acp-page

Convert the ACP page modules to TypeScript

4 years agoMerge pull request #3770 from WoltLab/54-typescript-acp-menuitem
Alexander Ebert [Mon, 30 Nov 2020 12:19:58 +0000 (13:19 +0100)]
Merge pull request #3770 from WoltLab/54-typescript-acp-menuitem

Convert `Acp/Ui/Menu/Item/Handler` to TypeScript

4 years agoReformat the code using Prettier
Alexander Ebert [Mon, 30 Nov 2020 11:59:55 +0000 (12:59 +0100)]
Reformat the code using Prettier

4 years agoMerge pull request #3767 from WoltLab/resetSessions
Tim Düsterhus [Mon, 30 Nov 2020 08:14:03 +0000 (09:14 +0100)]
Merge pull request #3767 from WoltLab/resetSessions

Remove calls to SessionHandler::resetSessions()

4 years agoConvert `Acp/Ui/Page/Menu` to TypeScript
Alexander Ebert [Mon, 30 Nov 2020 01:02:29 +0000 (02:02 +0100)]
Convert `Acp/Ui/Page/Menu` to TypeScript

4 years agoConvert `Acp/Ui/Page/Copy` to TypeScript
Alexander Ebert [Mon, 30 Nov 2020 00:39:47 +0000 (01:39 +0100)]
Convert `Acp/Ui/Page/Copy` to TypeScript

4 years agoConvert `Acp/Ui/Page/BoxOrder` to TypeScript
Alexander Ebert [Mon, 30 Nov 2020 00:18:26 +0000 (01:18 +0100)]
Convert `Acp/Ui/Page/BoxOrder` to TypeScript

4 years agoConvert `Acp/Ui/Page/Add` to TypeScript
Alexander Ebert [Sun, 29 Nov 2020 23:45:20 +0000 (00:45 +0100)]
Convert `Acp/Ui/Page/Add` to TypeScript

4 years agoConvert `Acp/Ui/Package/Search` to TypeScript
Alexander Ebert [Sun, 29 Nov 2020 23:34:02 +0000 (00:34 +0100)]
Convert `Acp/Ui/Package/Search` to TypeScript

4 years agoConvert `Acp/Ui/Package/PrepareInstallation` to TypeScript
Alexander Ebert [Sun, 29 Nov 2020 23:22:45 +0000 (00:22 +0100)]
Convert `Acp/Ui/Package/PrepareInstallation` to TypeScript

4 years agoIncorrect element type
Alexander Ebert [Sun, 29 Nov 2020 19:47:54 +0000 (20:47 +0100)]
Incorrect element type

4 years agoResolved some minor issues
Alexander Ebert [Sun, 29 Nov 2020 19:46:18 +0000 (20:46 +0100)]
Resolved some minor issues

4 years agoConvert `Acp/Ui/Option/RewriteTest` to TypeScript
Alexander Ebert [Sun, 29 Nov 2020 19:37:44 +0000 (20:37 +0100)]
Convert `Acp/Ui/Option/RewriteTest` to TypeScript

4 years agoConvert `Acp/Ui/Option/RewriteGenerator` to TypeScript
Alexander Ebert [Sun, 29 Nov 2020 18:57:59 +0000 (19:57 +0100)]
Convert `Acp/Ui/Option/RewriteGenerator` to TypeScript

4 years agoConvert `Acp/Ui/Option/EmailSmtpTest` to TypeScript
Alexander Ebert [Sun, 29 Nov 2020 18:48:55 +0000 (19:48 +0100)]
Convert `Acp/Ui/Option/EmailSmtpTest` to TypeScript

4 years agoConvert `Acp/Ui/Menu/Item/Handler` to TypeScript
Alexander Ebert [Sat, 28 Nov 2020 18:05:55 +0000 (19:05 +0100)]
Convert `Acp/Ui/Menu/Item/Handler` to TypeScript

4 years agoConvert `Acp/Ui/Box/Controller/Handler` to TypeScript
Alexander Ebert [Sat, 28 Nov 2020 17:04:56 +0000 (18:04 +0100)]
Convert `Acp/Ui/Box/Controller/Handler` to TypeScript

4 years agoConvert `Acp/Ui/Box/Handler` to TypeScript
Alexander Ebert [Sat, 28 Nov 2020 16:52:03 +0000 (17:52 +0100)]
Convert `Acp/Ui/Box/Handler` to TypeScript

4 years agoConvert `Acp/Ui/Box/Copy` to TypeScript
Alexander Ebert [Sat, 28 Nov 2020 15:48:43 +0000 (16:48 +0100)]
Convert `Acp/Ui/Box/Copy` to TypeScript

4 years agoConvert `Acp/Ui/Box/Add` to TypeScript
Alexander Ebert [Sat, 28 Nov 2020 15:45:26 +0000 (16:45 +0100)]
Convert `Acp/Ui/Box/Add` to TypeScript

4 years agoIntroduce a helper interface for the FileUpload class
Alexander Ebert [Sat, 28 Nov 2020 15:15:26 +0000 (16:15 +0100)]
Introduce a helper interface for the FileUpload class

This interface prevents a circular dependency of the modules `./Delete` and `./Upload`.

4 years agoMerge branch 'master' into 54-typescript-clipboard
Alexander Ebert [Fri, 27 Nov 2020 19:02:50 +0000 (20:02 +0100)]
Merge branch 'master' into 54-typescript-clipboard

4 years agoResolved a few compatibility issues
Alexander Ebert [Fri, 27 Nov 2020 18:51:14 +0000 (19:51 +0100)]
Resolved a few compatibility issues

The internal ids must remain strings, because the legacy `Dictionary` implementation relied on a plain object. In JavaScript objects, all keys are implicitly converted to strings, but Map treats `1` and `"1"` to be different.

4 years agoWorkaround for the legacy inheritance support
Alexander Ebert [Fri, 27 Nov 2020 16:59:51 +0000 (17:59 +0100)]
Workaround for the legacy inheritance support

4 years agoMerge pull request #3761 from WoltLab/54-typescript-misc
Alexander Ebert [Fri, 27 Nov 2020 12:32:32 +0000 (13:32 +0100)]
Merge pull request #3761 from WoltLab/54-typescript-misc

Converted remaining UI modules to TypeScript

4 years agoRemove call to SessionHandler::resetSessions() from UserMergeForm
Tim Düsterhus [Fri, 27 Nov 2020 11:03:15 +0000 (12:03 +0100)]
Remove call to SessionHandler::resetSessions() from UserMergeForm

4 years agoRemove call to SessionHandler::resetSessions() from UserEditor
Tim Düsterhus [Fri, 27 Nov 2020 11:01:26 +0000 (12:01 +0100)]
Remove call to SessionHandler::resetSessions() from UserEditor

4 years agoRemove call to SessionHandler::resetSessions() from acp/install.php
Tim Düsterhus [Fri, 27 Nov 2020 10:59:44 +0000 (11:59 +0100)]
Remove call to SessionHandler::resetSessions() from acp/install.php

4 years agoRemove call to SessionHandler::resetSessions() from UserGroupEditor
Tim Düsterhus [Fri, 27 Nov 2020 10:58:34 +0000 (11:58 +0100)]
Remove call to SessionHandler::resetSessions() from UserGroupEditor

4 years agoRemove call to SessionHandler::resetSessions() from UserAssignToGroupForm
Tim Düsterhus [Fri, 27 Nov 2020 10:51:58 +0000 (11:51 +0100)]
Remove call to SessionHandler::resetSessions() from UserAssignToGroupForm

UserEditor::resetCache() already is responsible to clear the cached data.

4 years agoFix copy and paste error in en.xml
Tim Düsterhus [Fri, 27 Nov 2020 08:40:14 +0000 (09:40 +0100)]
Fix copy and paste error in en.xml

see 9e2ccd976daa8646b2b86f4d27e52d3f226ff94e

4 years agoIncorrect method name
Alexander Ebert [Thu, 26 Nov 2020 17:45:03 +0000 (18:45 +0100)]
Incorrect method name

4 years agoConvert `Controller/Clipboard` to TypeScript
Alexander Ebert [Thu, 26 Nov 2020 17:08:17 +0000 (18:08 +0100)]
Convert `Controller/Clipboard` to TypeScript

4 years agoFix package check in update_com.woltlab.wcf_5.4_removeFiles.php
Tim Düsterhus [Thu, 26 Nov 2020 13:36:36 +0000 (14:36 +0100)]
Fix package check in update_com.woltlab.wcf_5.4_removeFiles.php

`fetchSingleColumn()` returns false for non-existing rows.

4 years agoUpdate the upgrade instructions from WoltLab Suite 5.3
Tim Düsterhus [Thu, 26 Nov 2020 13:18:56 +0000 (14:18 +0100)]
Update the upgrade instructions from WoltLab Suite 5.3

- A few PIPs were missing, most notably the language items.
- Additional commentary.
- Reordering for better resiliency.

4 years agoMerge branch '5.3'
Tim Düsterhus [Thu, 26 Nov 2020 12:51:39 +0000 (13:51 +0100)]
Merge branch '5.3'

4 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Thu, 26 Nov 2020 12:51:25 +0000 (13:51 +0100)]
Merge branch '5.2' into 5.3

4 years agoMerge pull request #3629 from WoltLab/session-update
Tim Düsterhus [Thu, 26 Nov 2020 12:31:10 +0000 (13:31 +0100)]
Merge pull request #3629 from WoltLab/session-update

Update instructions for new sessions

4 years agoImprove variable naming in update_com.woltlab.wcf_5.4_session_1_cookies.php
Tim Düsterhus [Thu, 26 Nov 2020 11:35:21 +0000 (12:35 +0100)]
Improve variable naming in update_com.woltlab.wcf_5.4_session_1_cookies.php

4 years agoMerge pull request #3763 from WoltLab/http-request-timeout
Tim Düsterhus [Thu, 26 Nov 2020 11:33:41 +0000 (12:33 +0100)]
Merge pull request #3763 from WoltLab/http-request-timeout

HTTP request timeouts

4 years agoSet an explicit timeout for ImageProxyAction's HttpClient
Tim Düsterhus [Thu, 26 Nov 2020 11:29:23 +0000 (12:29 +0100)]
Set an explicit timeout for ImageProxyAction's HttpClient

4 years agoSet an explicit timeout for FontManager's HttpClient
Tim Düsterhus [Thu, 26 Nov 2020 11:28:03 +0000 (12:28 +0100)]
Set an explicit timeout for FontManager's HttpClient

4 years agoReplace HTTPRequest's timeout by connect_timeout + read_timeout
Tim Düsterhus [Thu, 26 Nov 2020 11:26:00 +0000 (12:26 +0100)]
Replace HTTPRequest's timeout by connect_timeout + read_timeout

The timeout in 5.2 only applied to the connect() syscall. Guzzle's timeout
option applies to the total transfer. Replace it by connect_timeout +
read_timeout for backwards compatibility for code that expected the actual
transfer to take an arbitrary amount of time.

4 years agoDrop wcf1_session.sessionVariables
Tim Düsterhus [Thu, 26 Nov 2020 11:20:39 +0000 (12:20 +0100)]
Drop wcf1_session.sessionVariables

4 years agoAdd update instructions for session refactoring
Tim Düsterhus [Thu, 22 Oct 2020 12:47:56 +0000 (14:47 +0200)]
Add update instructions for session refactoring

4 years agoAdd skipStyleUpdate paramter to file PIP
Tim Düsterhus [Thu, 22 Oct 2020 12:37:53 +0000 (14:37 +0200)]
Add skipStyleUpdate paramter to file PIP

4 years agoAllow returning a Document in ScriptPackageInstallationPlugin
Tim Düsterhus [Thu, 22 Oct 2020 10:14:48 +0000 (12:14 +0200)]
Allow returning a Document in ScriptPackageInstallationPlugin