GitHub/WoltLab/WCF.git
3 years agoMerge pull request #4280 from WoltLab/mathutil-getRandomValue
Tim Düsterhus [Thu, 10 Jun 2021 14:56:44 +0000 (16:56 +0200)]
Merge pull request #4280 from WoltLab/mathutil-getRandomValue

Deprecate MathUtil::getRandomValue()

3 years agoDeprecate MathUtil::getRandomValue()
Tim Düsterhus [Thu, 10 Jun 2021 13:54:53 +0000 (15:54 +0200)]
Deprecate MathUtil::getRandomValue()

This method is a thin wrapper around `\mt_rand()` without any usability
benefits. Users of this method should either switch to `\random_int()` or
`\mt_rand()` directly.

3 years agoMerge pull request #4277 from WoltLab/codemirror
Matthias Schmidt [Thu, 10 Jun 2021 09:22:29 +0000 (11:22 +0200)]
Merge pull request #4277 from WoltLab/codemirror

Update CodeMirror to version 5.61.1 and use it with requireJS

3 years agoUse Sass highlighter for CodeMirror Sass inputs
Matthias Schmidt [Thu, 10 Jun 2021 09:13:38 +0000 (11:13 +0200)]
Use Sass highlighter for CodeMirror Sass inputs

3 years agoUse requireJS to load CodeMirror
Matthias Schmidt [Thu, 10 Jun 2021 09:12:56 +0000 (11:12 +0200)]
Use requireJS to load CodeMirror

3 years agoUpdate CodeMirror to version 5.61.1
Matthias Schmidt [Thu, 10 Jun 2021 09:06:32 +0000 (11:06 +0200)]
Update CodeMirror to version 5.61.1

With this change, the original folder structure from CodeMirror is preserved, i.e. `codemirror.js` and `codemirror.css` being in a `lib` folder.
To preserve backward-compatibility if codemirror is used directly, these files are also kept in the `codemirror` folder directly.

3 years agoMerge branch '5.4'
Tim Düsterhus [Thu, 10 Jun 2021 08:52:12 +0000 (10:52 +0200)]
Merge branch '5.4'

3 years agoPrevent caching of redirects in shared caches
Tim Düsterhus [Thu, 10 Jun 2021 08:49:15 +0000 (10:49 +0200)]
Prevent caching of redirects in shared caches

see #4273

3 years agoMerge branch '5.4'
Matthias Schmidt [Thu, 10 Jun 2021 07:02:40 +0000 (09:02 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Matthias Schmidt [Thu, 10 Jun 2021 07:02:27 +0000 (09:02 +0200)]
Merge branch '5.3' into 5.4

3 years agoSync client-side poll validation with server-side validation
Matthias Schmidt [Thu, 10 Jun 2021 07:01:57 +0000 (09:01 +0200)]
Sync client-side poll validation with server-side validation

`PollManager` marks an empty question field as empty if poll options are given, while `WCF.Poll.Management` aborted validation once the question field is empty, no matter whether options are given or not.

3 years agoHandle poll question validation errors for quick replies
Matthias Schmidt [Thu, 10 Jun 2021 06:56:53 +0000 (08:56 +0200)]
Handle poll question validation errors for quick replies

3 years agoShow embedded objects after editing comments
Matthias Schmidt [Thu, 10 Jun 2021 05:52:01 +0000 (07:52 +0200)]
Show embedded objects after editing comments

3 years agoFix embedded object handling after editing comment responses
Matthias Schmidt [Thu, 10 Jun 2021 05:51:43 +0000 (07:51 +0200)]
Fix embedded object handling after editing comment responses

3 years agoRemove `email_mail` template
Matthias Schmidt [Wed, 9 Jun 2021 16:03:19 +0000 (18:03 +0200)]
Remove `email_mail` template

Close #4203

3 years agoUnescape BBCode attributes on editor load
Alexander Ebert [Wed, 9 Jun 2021 14:59:57 +0000 (16:59 +0200)]
Unescape BBCode attributes on editor load

3 years agoMerge pull request #4275 from WoltLab/comment_embedded
Matthias Schmidt [Wed, 9 Jun 2021 14:56:47 +0000 (16:56 +0200)]
Merge pull request #4275 from WoltLab/comment_embedded

Support embedded objects in comments and comment responses

3 years agoExplicitly delete old file
Matthias Schmidt [Wed, 9 Jun 2021 14:55:36 +0000 (16:55 +0200)]
Explicitly delete old file

These files were deleted in the repository so that they are not part of releases after that point in time. In older installations that were updated, these obsolete files might still exist, however.

3 years agoRemove the master password (#4272)
Matthias Schmidt [Wed, 9 Jun 2021 13:26:52 +0000 (15:26 +0200)]
Remove the master password (#4272)

Close #3913

3 years agoSupport embedded objects when rendering comment (responses) activities
Matthias Schmidt [Wed, 9 Jun 2021 13:17:56 +0000 (15:17 +0200)]
Support embedded objects when rendering comment (responses) activities

3 years agoSupport embedded objects when rendering liked comment (responses)
Matthias Schmidt [Wed, 9 Jun 2021 13:17:32 +0000 (15:17 +0200)]
Support embedded objects when rendering liked comment (responses)

3 years agoLoad embedded objects for structured/viewable comment (response) lists
Matthias Schmidt [Wed, 9 Jun 2021 13:16:18 +0000 (15:16 +0200)]
Load embedded objects for structured/viewable comment (response) lists

3 years agoAdd `ViewableComment(Response)RuntimeCache`
Matthias Schmidt [Wed, 9 Jun 2021 13:13:42 +0000 (15:13 +0200)]
Add `ViewableComment(Response)RuntimeCache`

3 years agoSupport mentions and media in comment (responses)
Matthias Schmidt [Wed, 9 Jun 2021 13:11:20 +0000 (15:11 +0200)]
Support mentions and media in comment (responses)

3 years agoUpdate `hasEmbeddedObjects` in comment (response) rebuild data worker
Matthias Schmidt [Wed, 9 Jun 2021 13:09:31 +0000 (15:09 +0200)]
Update `hasEmbeddedObjects` in comment (response) rebuild data worker

3 years agoProcess embedded objects when creating/updating/deleting comment (responses)
Matthias Schmidt [Wed, 9 Jun 2021 13:08:47 +0000 (15:08 +0200)]
Process embedded objects when creating/updating/deleting comment (responses)

3 years agoUpgrade to PHP-CS-Fixer 3
Tim Düsterhus [Wed, 9 Jun 2021 10:19:52 +0000 (12:19 +0200)]
Upgrade to PHP-CS-Fixer 3

see WoltLab/WCF#4183

3 years agoUse `static::class` instead of `get_called_class()` / `get_class($this)`
Tim Düsterhus [Wed, 9 Jun 2021 12:41:29 +0000 (14:41 +0200)]
Use `static::class` instead of `get_called_class()` / `get_class($this)`

3 years agoFix code style
Tim Düsterhus [Wed, 9 Jun 2021 11:36:16 +0000 (13:36 +0200)]
Fix code style

see 76ee04b0c0c96b657edaf953e4adacc3ceebb457

3 years agoPrevent errors due to subsequent price changes for active subscriptions
Marcel Werk [Wed, 9 Jun 2021 10:30:34 +0000 (12:30 +0200)]
Prevent errors due to subsequent price changes for active subscriptions

3 years agoUpdate composer dependencies
Tim Düsterhus [Wed, 9 Jun 2021 09:46:31 +0000 (11:46 +0200)]
Update composer dependencies

3 years agoDelete DownloadRankImageJob
Tim Düsterhus [Wed, 9 Jun 2021 08:46:28 +0000 (10:46 +0200)]
Delete DownloadRankImageJob

see 60cb68989dc3968a0a29eb71f00c16645b5f63f3

3 years agoMerge branch '5.4'
Tim Düsterhus [Wed, 9 Jun 2021 08:41:28 +0000 (10:41 +0200)]
Merge branch '5.4'

3 years agoFix SearchEngineConvertInnoDbWorker when MySQL is not the active engine
Tim Düsterhus [Wed, 9 Jun 2021 08:40:33 +0000 (10:40 +0200)]
Fix SearchEngineConvertInnoDbWorker when MySQL is not the active engine

Fixes #4192

3 years agoAdd `hasEmbeddedObjects` for comments and comment responses
Matthias Schmidt [Wed, 9 Jun 2021 07:19:02 +0000 (09:19 +0200)]
Add `hasEmbeddedObjects` for comments and comment responses

3 years agoMerge branch '5.4'
Matthias Schmidt [Wed, 9 Jun 2021 06:26:08 +0000 (08:26 +0200)]
Merge branch '5.4'

3 years agoUpdate developer documentation links in PIP info phrases
Matthias Schmidt [Wed, 9 Jun 2021 06:25:56 +0000 (08:25 +0200)]
Update developer documentation links in PIP info phrases

Close #4266

3 years agoMerge pull request #4271 from WoltLab/mysql-search-index-deprecated
Tim Düsterhus [Tue, 8 Jun 2021 15:22:40 +0000 (17:22 +0200)]
Merge pull request #4271 from WoltLab/mysql-search-index-deprecated

Make MysqlSearchIndexManager implement set()

3 years agoMerge pull request #4269 from WoltLab/template_delete_pip
Matthias Schmidt [Tue, 8 Jun 2021 15:18:05 +0000 (17:18 +0200)]
Merge pull request #4269 from WoltLab/template_delete_pip

Add PIPs to delete ACP and frontend templates

3 years agoAdd `TemplateDeletePackageInstallationPlugin`
Matthias Schmidt [Tue, 8 Jun 2021 11:48:03 +0000 (13:48 +0200)]
Add `TemplateDeletePackageInstallationPlugin`

3 years agoAdd `AcpTemplateDeletePackageInstallationPlugin`
Matthias Schmidt [Tue, 8 Jun 2021 11:47:54 +0000 (13:47 +0200)]
Add `AcpTemplateDeletePackageInstallationPlugin`

3 years agoAdd `AbstractTemplateDeletePackageInstallationPlugin`
Matthias Schmidt [Tue, 8 Jun 2021 11:47:22 +0000 (13:47 +0200)]
Add `AbstractTemplateDeletePackageInstallationPlugin`

3 years agoProperly size `kbd` elements in `small` elements
Matthias Schmidt [Tue, 8 Jun 2021 11:46:54 +0000 (13:46 +0200)]
Properly size `kbd` elements in `small` elements

3 years agoMove parts of `FileDeletePackageInstallationPlugin` into abstract parent class
Matthias Schmidt [Tue, 8 Jun 2021 11:45:08 +0000 (13:45 +0200)]
Move parts of `FileDeletePackageInstallationPlugin` into abstract parent class

3 years agoMake MysqlSearchIndexManager implement set()
Tim Düsterhus [Tue, 8 Jun 2021 14:51:27 +0000 (16:51 +0200)]
Make MysqlSearchIndexManager implement set()

The use of `add()` is deprecated. `set()` should be the canonical method.

3 years agoMerge branch '5.3' into 5.4
Alexander Ebert [Tue, 8 Jun 2021 13:09:36 +0000 (15:09 +0200)]
Merge branch '5.3' into 5.4

3 years agoFully clickable notification items
Alexander Ebert [Tue, 8 Jun 2021 13:09:10 +0000 (15:09 +0200)]
Fully clickable notification items

3 years agoAdd `import` element to language XML files
Matthias Schmidt [Tue, 8 Jun 2021 07:44:11 +0000 (09:44 +0200)]
Add `import` element to language XML files

See #4261

3 years agoMerge branch '5.4'
joshuaruesweg [Tue, 8 Jun 2021 07:12:08 +0000 (09:12 +0200)]
Merge branch '5.4'

3 years agoFix iconContainer identifier
joshuaruesweg [Tue, 8 Jun 2021 07:10:05 +0000 (09:10 +0200)]
Fix iconContainer identifier

3 years agoAdd PIP to delete files (#4267)
Matthias Schmidt [Mon, 7 Jun 2021 13:08:06 +0000 (15:08 +0200)]
Add PIP to delete files (#4267)

See #4180

3 years agoMake event listeners' `eventname` default to `:default` (#4265)
Matthias Schmidt [Mon, 7 Jun 2021 12:13:48 +0000 (14:13 +0200)]
Make event listeners' `eventname` default to `:default` (#4265)

See #4000

3 years agoMerge pull request #4000 from WoltLab/reusable-event-poc
Tim Düsterhus [Mon, 7 Jun 2021 11:54:58 +0000 (13:54 +0200)]
Merge pull request #4000 from WoltLab/reusable-event-poc

Reusable Events

3 years agoRevert "Add PoC events to user authentication"
Tim Düsterhus [Mon, 7 Jun 2021 08:26:13 +0000 (10:26 +0200)]
Revert "Add PoC events to user authentication"

This was a PoC commit. It is reverted so that it remains in the commit history.

This reverts commit 60255db1da3198ea86294c770ae41dedca878573.

3 years agoRevert "Add PoC event listeners for authentication events"
Tim Düsterhus [Mon, 7 Jun 2021 08:24:53 +0000 (10:24 +0200)]
Revert "Add PoC event listeners for authentication events"

This was a PoC commit. It is reverted so that it remains in the commit history.

This reverts commit 5c8dc3b07bc3ad128975f7378744be58037b42ef.

3 years agoAdd PoC event listeners for authentication events
Tim Düsterhus [Wed, 17 Feb 2021 10:34:19 +0000 (11:34 +0100)]
Add PoC event listeners for authentication events

3 years agoAdd PoC events to user authentication
Tim Düsterhus [Wed, 17 Feb 2021 10:25:46 +0000 (11:25 +0100)]
Add PoC events to user authentication

3 years agoRename cancelable events to interruptable events
Tim Düsterhus [Mon, 7 Jun 2021 08:19:19 +0000 (10:19 +0200)]
Rename cancelable events to interruptable events

3 years agoAdd support for reusable events to EventHandler
Tim Düsterhus [Wed, 17 Feb 2021 10:25:13 +0000 (11:25 +0100)]
Add support for reusable events to EventHandler

3 years agoAdd interfaces and traits for reusable events
Tim Düsterhus [Wed, 17 Feb 2021 10:24:42 +0000 (11:24 +0100)]
Add interfaces and traits for reusable events

3 years agoMerge pull request #4261 from WoltLab/languagePIP_delete
Matthias Schmidt [Mon, 7 Jun 2021 11:33:43 +0000 (13:33 +0200)]
Merge pull request #4261 from WoltLab/languagePIP_delete

Add deletion support for language PIP

3 years agoMerge pull request #4264 from WoltLab/file_log_normalize
Matthias Schmidt [Mon, 7 Jun 2021 11:20:13 +0000 (13:20 +0200)]
Merge pull request #4264 from WoltLab/file_log_normalize

Normalize file paths in `Installer::install()`

3 years agoAdd update script to normalize package installation file logs
Matthias Schmidt [Mon, 7 Jun 2021 08:16:44 +0000 (10:16 +0200)]
Add update script to normalize package installation file logs

3 years agoMerge branch '5.4'
Tim Düsterhus [Mon, 7 Jun 2021 08:41:46 +0000 (10:41 +0200)]
Merge branch '5.4'

3 years agoNormalize file paths in `Installer::install()`
Matthias Schmidt [Mon, 7 Jun 2021 07:57:04 +0000 (09:57 +0200)]
Normalize file paths in `Installer::install()`

The missing normalization can result in duplicate log entries like `.gitignore` and `./.gitignore`, for example.

3 years agoMerge pull request #4263 from Fabii547/patch-76
Tim Düsterhus [Mon, 7 Jun 2021 07:43:29 +0000 (09:43 +0200)]
Merge pull request #4263 from Fabii547/patch-76

Fix visibility check in `Condition/Page/Dependence`

3 years agoFix visibility check in `Condition/Page/Dependence`
Fabii547 [Mon, 7 Jun 2021 07:37:31 +0000 (09:37 +0200)]
Fix visibility check in `Condition/Page/Dependence`

3 years agoMerge remote-tracking branch 'origin/master'
Tim Düsterhus [Fri, 4 Jun 2021 15:17:24 +0000 (17:17 +0200)]
Merge remote-tracking branch 'origin/master'

3 years agoMerge pull request #4259 from WoltLab/session-ip-address
Tim Düsterhus [Fri, 4 Jun 2021 14:31:48 +0000 (16:31 +0200)]
Merge pull request #4259 from WoltLab/session-ip-address

Mask IP address in session list

3 years agoEnsure that either old or new language XML structure is used
Matthias Schmidt [Fri, 4 Jun 2021 14:17:45 +0000 (16:17 +0200)]
Ensure that either old or new language XML structure is used

3 years agoUpdate `language.xsd` to support `import`/`delete` elements
Matthias Schmidt [Fri, 4 Jun 2021 13:45:40 +0000 (15:45 +0200)]
Update `language.xsd` to support `import`/`delete` elements

3 years agoSupport deleting language items via language PIP
Matthias Schmidt [Thu, 3 Jun 2021 10:52:21 +0000 (12:52 +0200)]
Support deleting language items via language PIP

The old `<language><category/></language>` structure is deprecated and replaced with `<language><import><category/></import></language>` like in most other XML-based PIPs so that language items can be deleted via `<language><delete><item name="…"/></delete></language>`.

Close #4178

3 years agoRemove obsolete update instructions for 5.3 to 5.4 (#4260)
Matthias Schmidt [Fri, 4 Jun 2021 13:31:25 +0000 (15:31 +0200)]
Remove obsolete update instructions for 5.3 to 5.4 (#4260)

3 years agoMerge pull request #4243 from WoltLab/x-xss-protection
Tim Düsterhus [Fri, 4 Jun 2021 13:28:46 +0000 (15:28 +0200)]
Merge pull request #4243 from WoltLab/x-xss-protection

Remove X-XSS-Protection response header

3 years agoMerge pull request #4258 from WoltLab/userAgent-final
Joshua Rüsweg [Fri, 4 Jun 2021 12:59:44 +0000 (14:59 +0200)]
Merge pull request #4258 from WoltLab/userAgent-final

Mark `\wcf\util\UserAgent` as final

3 years agoMerge branch 'master' of https://github.com/WoltLab/WCF
Alexander Ebert [Fri, 4 Jun 2021 12:05:54 +0000 (14:05 +0200)]
Merge branch 'master' of https://github.com/WoltLab/WCF

3 years agoCode style fix
Alexander Ebert [Fri, 4 Jun 2021 12:05:47 +0000 (14:05 +0200)]
Code style fix

3 years agoUse `->toBulletMasked()` in `accountSecurity.tpl`
Tim Düsterhus [Fri, 4 Jun 2021 11:43:07 +0000 (13:43 +0200)]
Use `->toBulletMasked()` in `accountSecurity.tpl`

3 years agoAdd `IpAddress::toBulletMasked()`
Tim Düsterhus [Fri, 4 Jun 2021 11:40:00 +0000 (13:40 +0200)]
Add `IpAddress::toBulletMasked()`

3 years agoRename `IpAddress::mask()` to `IpAddress::toMasked()`
Tim Düsterhus [Fri, 4 Jun 2021 11:27:57 +0000 (13:27 +0200)]
Rename `IpAddress::mask()` to `IpAddress::toMasked()`

3 years agoShow a masked IP address in accountSecurity.tpl
Tim Düsterhus [Fri, 4 Jun 2021 10:16:13 +0000 (12:16 +0200)]
Show a masked IP address in accountSecurity.tpl

3 years agoReturn an IP address in Session::getIpAddress()
Tim Düsterhus [Fri, 4 Jun 2021 10:08:20 +0000 (12:08 +0200)]
Return an IP address in Session::getIpAddress()

3 years agoAdd `\wcf\util\IpAddress`
Tim Düsterhus [Thu, 15 Nov 2018 12:30:59 +0000 (13:30 +0100)]
Add `\wcf\util\IpAddress`

3 years agoFix SCSS code style
Tim Düsterhus [Fri, 4 Jun 2021 11:52:52 +0000 (13:52 +0200)]
Fix SCSS code style

3 years agoImproved UX and visuals of embedded URLs
Alexander Ebert [Fri, 4 Jun 2021 11:45:09 +0000 (13:45 +0200)]
Improved UX and visuals of embedded URLs

The link now has a proper title and the tab focus will highlight the headline.

3 years agoMerge branch '5.3'
Matthias Schmidt [Fri, 4 Jun 2021 11:10:04 +0000 (13:10 +0200)]
Merge branch '5.3'

3 years agoMerge branch '5.2' into 5.3
Matthias Schmidt [Fri, 4 Jun 2021 11:09:51 +0000 (13:09 +0200)]
Merge branch '5.2' into 5.3

3 years agoAdd missing `wcf.acp.devtools.pip.error.className` phrase
Matthias Schmidt [Fri, 4 Jun 2021 11:09:34 +0000 (13:09 +0200)]
Add missing `wcf.acp.devtools.pip.error.className` phrase

Close #4256

3 years agoMark `\wcf\util\UserAgent` as final
Tim Düsterhus [Fri, 4 Jun 2021 10:22:47 +0000 (12:22 +0200)]
Mark `\wcf\util\UserAgent` as final

3 years agoMerge pull request #4257 from WoltLab/abstract-event-listener-error
Tim Düsterhus [Fri, 4 Jun 2021 08:51:44 +0000 (10:51 +0200)]
Merge pull request #4257 from WoltLab/abstract-event-listener-error

Make error message in AbstractEventListener more useful

3 years agoMake error message in AbstractEventListener more useful
Tim Düsterhus [Fri, 4 Jun 2021 08:16:30 +0000 (10:16 +0200)]
Make error message in AbstractEventListener more useful

3 years agoMerge branch '5.3'
Tim Düsterhus [Fri, 4 Jun 2021 08:30:45 +0000 (10:30 +0200)]
Merge branch '5.3'

3 years agoEnsure the style logo is properly preserved in the database when not performing changes
Tim Düsterhus [Fri, 4 Jun 2021 08:25:54 +0000 (10:25 +0200)]
Ensure the style logo is properly preserved in the database when not performing changes

This bug was introduced recently when the `!$file->isProcessed()` condition was
added. It was verified that the logo's filename remained stable within the file
system. However it was not verified that it was properly stored within the
database. As the previous style variables are deleted during the update we must
explicitly set the corresponding variable, otherwise it will be empty and the
logo will not be found.

see c72c06dc7bb21c5098613ab8fafc8596c8f6ce41
see #4240

3 years agoFix displaying `runStandalone` in devtools (#4255)
Fabii547 [Thu, 3 Jun 2021 10:09:41 +0000 (12:09 +0200)]
Fix displaying `runStandalone` in devtools (#4255)

3 years agoFix ids of instruction items in devtools (#4254)
Fabii547 [Thu, 3 Jun 2021 10:07:18 +0000 (12:07 +0200)]
Fix ids of instruction items in devtools (#4254)

3 years agoAdd 5.4 branch to GitHub workflows
Tim Düsterhus [Mon, 31 May 2021 14:19:13 +0000 (16:19 +0200)]
Add 5.4 branch to GitHub workflows

3 years agoRemove obsolete meta keywords input for monolingual pages (#4251)
Matthias Schmidt [Wed, 2 Jun 2021 14:35:36 +0000 (16:35 +0200)]
Remove obsolete meta keywords input for monolingual pages (#4251)

See #3637

3 years agoRelease 5.4.0 Beta 1 5.4.0_Beta_1
Alexander Ebert [Wed, 2 Jun 2021 12:58:45 +0000 (14:58 +0200)]
Release 5.4.0 Beta 1

3 years agoRemove obsolete private property/method from `MediaImporter`
Matthias Schmidt [Wed, 2 Jun 2021 08:12:57 +0000 (10:12 +0200)]
Remove obsolete private property/method from `MediaImporter`

See b3b5e461e0291d25d06f8d2b07bcdc18a4c5a391

3 years agoIncorrect property name
Marcel Werk [Tue, 1 Jun 2021 14:44:22 +0000 (16:44 +0200)]
Incorrect property name