GitHub/WoltLab/WCF.git
4 years agoMerge branch '5.2'
Matthias Schmidt [Wed, 8 Jul 2020 12:08:55 +0000 (14:08 +0200)]
Merge branch '5.2'

4 years agoFix duplicate data handler registration for captcha form fields
Matthias Schmidt [Wed, 8 Jul 2020 12:08:30 +0000 (14:08 +0200)]
Fix duplicate data handler registration for captcha form fields

Close #3441

4 years agoFixed error message in Form Builder
Peter Frühwirt [Wed, 8 Jul 2020 06:39:53 +0000 (08:39 +0200)]
Fixed error message in Form Builder

4 years agoMerge pull request #3438 from WoltLab/style-editor-relative
Tim Düsterhus [Wed, 8 Jul 2020 07:59:26 +0000 (09:59 +0200)]
Merge pull request #3438 from WoltLab/style-editor-relative

Return relative paths for logos uploaded in style editor

4 years agoWhitelist `unserialize()` when running in enterprise mode
Alexander Ebert [Tue, 7 Jul 2020 16:26:16 +0000 (18:26 +0200)]
Whitelist `unserialize()` when running in enterprise mode

4 years agoMerge branch '5.2'
Tim Düsterhus [Tue, 7 Jul 2020 13:11:31 +0000 (15:11 +0200)]
Merge branch '5.2'

4 years agoMerge branch '3.1' into 5.2
Tim Düsterhus [Tue, 7 Jul 2020 13:09:04 +0000 (15:09 +0200)]
Merge branch '3.1' into 5.2

4 years agoMerge pull request #3439 from WoltLab/cronjob-fix2
Tim Düsterhus [Tue, 7 Jul 2020 13:07:09 +0000 (15:07 +0200)]
Merge pull request #3439 from WoltLab/cronjob-fix2

Fix calculation of nextExec of cronjobs

4 years agoFix calculation of nextExec of cronjobs
Tim Düsterhus [Tue, 7 Jul 2020 12:26:20 +0000 (14:26 +0200)]
Fix calculation of nextExec of cronjobs

To properly calculate nextExec we must not specify the TIME_NOW parameter,
because if the cronjob is run on the scheduled time the nextExec() will
return the current time.

Not passing the TIME_NOW parameter adds at least 120 seconds of delay to
prevent this issue.

This bug was introduced in commit 485f8e1888824b862823de983e019afcb9bca7ce.
When moving the update of the execution time the calls were not correctly
moved and the explicit passing of TIME_NOW was added.

4 years agoMerge pull request #3415 from WoltLab/scssphp
Tim Düsterhus [Tue, 7 Jul 2020 09:04:32 +0000 (11:04 +0200)]
Merge pull request #3415 from WoltLab/scssphp

Upgrade leafo/scssphp to scssphp/scssphp

4 years agoMerge pull request #3403 from WoltLab/media_file_replacement
Matthias Schmidt [Mon, 6 Jul 2020 16:01:06 +0000 (18:01 +0200)]
Merge pull request #3403 from WoltLab/media_file_replacement

Support replacing existing media files

4 years agoRelease 5.2.8
Alexander Ebert [Mon, 6 Jul 2020 15:53:12 +0000 (17:53 +0200)]
Release 5.2.8

4 years agoMerge branch '5.2'
Tim Düsterhus [Mon, 6 Jul 2020 15:21:50 +0000 (17:21 +0200)]
Merge branch '5.2'

4 years agoMerge branch '3.1' into 5.2
Tim Düsterhus [Mon, 6 Jul 2020 15:21:01 +0000 (17:21 +0200)]
Merge branch '3.1' into 5.2

4 years agoMerge pull request #3428 from WoltLab/url-is
Tim Düsterhus [Mon, 6 Jul 2020 15:20:12 +0000 (17:20 +0200)]
Merge pull request #3428 from WoltLab/url-is

Fix Url::is()

4 years agoFix duplicate semicolon
Tim Düsterhus [Mon, 6 Jul 2020 15:10:31 +0000 (17:10 +0200)]
Fix duplicate semicolon

4 years agoReturn relative paths for logos uploaded in style editor
Tim Düsterhus [Mon, 6 Jul 2020 15:01:34 +0000 (17:01 +0200)]
Return relative paths for logos uploaded in style editor

Resolves #3283

4 years agoMerge branch '5.2'
Marcel Werk [Mon, 6 Jul 2020 12:16:46 +0000 (14:16 +0200)]
Merge branch '5.2'

4 years agoCaptcha setting was not considered
Marcel Werk [Mon, 6 Jul 2020 12:16:33 +0000 (14:16 +0200)]
Captcha setting was not considered

4 years agoUpdating minified JavaScript files
woltlab.com [Mon, 6 Jul 2020 11:25:05 +0000 (11:25 +0000)]
Updating minified JavaScript files

4 years agoMerge branch '5.2'
Marcel Werk [Mon, 6 Jul 2020 09:58:26 +0000 (11:58 +0200)]
Merge branch '5.2'

4 years agoRemoved misleading description
Marcel Werk [Mon, 6 Jul 2020 09:57:40 +0000 (11:57 +0200)]
Removed misleading description

4 years agoMissing module setting check
Marcel Werk [Mon, 6 Jul 2020 09:57:14 +0000 (11:57 +0200)]
Missing module setting check

4 years agoFixed parameter validation
Marcel Werk [Mon, 6 Jul 2020 09:56:56 +0000 (11:56 +0200)]
Fixed parameter validation

4 years agoRemove version-specific information in README file
Matthias Schmidt [Sun, 5 Jul 2020 15:27:54 +0000 (17:27 +0200)]
Remove version-specific information in README file

4 years agoRemove TODO and fix code style issue
Matthias Schmidt [Sun, 5 Jul 2020 15:19:41 +0000 (17:19 +0200)]
Remove TODO and fix code style issue

4 years agoAdd third gender option (#3436)
Matthias Schmidt [Sun, 5 Jul 2020 14:45:12 +0000 (16:45 +0200)]
Add third gender option (#3436)

Close #3389

4 years agoAlways confirm email on confirmEmail action
joshuaruesweg [Sun, 5 Jul 2020 08:42:10 +0000 (10:42 +0200)]
Always confirm email on confirmEmail action

4 years agoFix checking user status in RegisterNewActivationCodeForm
joshuaruesweg [Sun, 5 Jul 2020 08:26:31 +0000 (10:26 +0200)]
Fix checking user status in RegisterNewActivationCodeForm

4 years agoadapted tagInput template for multilingualism
Marcel Werk [Sat, 4 Jul 2020 16:27:04 +0000 (18:27 +0200)]
adapted tagInput template for multilingualism

4 years agoMerge pull request #3435 from xopez/patch-1
Alexander Ebert [Fri, 3 Jul 2020 23:03:22 +0000 (01:03 +0200)]
Merge pull request #3435 from xopez/patch-1

Remove unused Packageservers for 5.2

4 years agoUpdate install.sql
xopez [Fri, 3 Jul 2020 18:00:39 +0000 (20:00 +0200)]
Update install.sql

4 years agoMerge branch '5.2'
Tim Düsterhus [Fri, 3 Jul 2020 15:16:17 +0000 (17:16 +0200)]
Merge branch '5.2'

4 years agoMerge pull request #3434 from WoltLab/fix-shadow-groups
Tim Düsterhus [Fri, 3 Jul 2020 15:15:49 +0000 (17:15 +0200)]
Merge pull request #3434 from WoltLab/fix-shadow-groups

Properly support multiple instances of WoltLabSuite/Core/Ui/ItemList/User

4 years agoProperly support multiple instances of WoltLabSuite/Core/Ui/ItemList/User
Tim Düsterhus [Fri, 3 Jul 2020 14:46:26 +0000 (16:46 +0200)]
Properly support multiple instances of WoltLabSuite/Core/Ui/ItemList/User

WoltLabSuite/Core/Ui/ItemList/User is a singleton and thus only has a single
instance of each object member. This lead to the `_shadowGroups` value being
fixed to the first input used.

Move the `_shadowGroups` into the existing `data` object (where the regular
`shadow` resides) to fix this issue.

Introduced in 8faf6ea10ac894b87b3e357f5248f67b4fd7b716.
Fixes #3433.

4 years agoMerge pull request #3343 from WoltLab/parallel-worker
Tim Düsterhus [Fri, 3 Jul 2020 14:12:00 +0000 (16:12 +0200)]
Merge pull request #3343 from WoltLab/parallel-worker

Allow executing CLI worker in parallel

4 years agoMerge branch 'master' into parallel-worker
Tim Düsterhus [Fri, 3 Jul 2020 14:07:10 +0000 (16:07 +0200)]
Merge branch 'master' into parallel-worker

4 years agoMerge remote-tracking branch 'origin/master'
Tim Düsterhus [Fri, 3 Jul 2020 13:57:03 +0000 (15:57 +0200)]
Merge remote-tracking branch 'origin/master'

4 years agoMerge branch '5.2'
Tim Düsterhus [Fri, 3 Jul 2020 13:55:51 +0000 (15:55 +0200)]
Merge branch '5.2'

4 years agoMerge branch '3.1' into 5.2
Tim Düsterhus [Fri, 3 Jul 2020 13:55:33 +0000 (15:55 +0200)]
Merge branch '3.1' into 5.2

4 years agoMerge pull request #3432 from WoltLab/linked-blocked-img
Tim Düsterhus [Fri, 3 Jul 2020 13:53:39 +0000 (15:53 +0200)]
Merge pull request #3432 from WoltLab/linked-blocked-img

Fix markup for linked, blocked images in UGC

4 years agoFix markup for linked, blocked images in UGC
Tim Düsterhus [Fri, 3 Jul 2020 13:10:38 +0000 (15:10 +0200)]
Fix markup for linked, blocked images in UGC

Fixes #3384

4 years agoRemove --packageID from help in cli.php
Tim Düsterhus [Fri, 3 Jul 2020 09:35:23 +0000 (11:35 +0200)]
Remove --packageID from help in cli.php

see 476915c53fada2827fd381c974973371cc05c832
see #3425

4 years agoMerge pull request #3431 from WoltLab/comment-smileypicker
Tim Düsterhus [Fri, 3 Jul 2020 09:30:21 +0000 (11:30 +0200)]
Merge pull request #3431 from WoltLab/comment-smileypicker

Add smiley picker to comment WYSIWYG

4 years agoRemove --packageID option on cli.php
Tim Düsterhus [Fri, 3 Jul 2020 09:20:12 +0000 (11:20 +0200)]
Remove --packageID option on cli.php

Resolves #3425

4 years agoAdd smiley picker to comment WYSIWYG
Tim Düsterhus [Fri, 3 Jul 2020 09:04:53 +0000 (11:04 +0200)]
Add smiley picker to comment WYSIWYG

Resolves #3252

4 years agoMerge pull request #3426 from WoltLab/sql-graceful-drop
Tim Düsterhus [Fri, 3 Jul 2020 07:23:28 +0000 (09:23 +0200)]
Merge pull request #3426 from WoltLab/sql-graceful-drop

Ignore errors if a to-be-dropped key / column does not exist in DatabaseEditor

4 years agoMerge pull request #3417 from WoltLab/email-signature-html
Tim Düsterhus [Fri, 3 Jul 2020 07:23:17 +0000 (09:23 +0200)]
Merge pull request #3417 from WoltLab/email-signature-html

Add option for HTML based email signature

4 years agoMerge pull request #3412 from WoltLab/list-unsubscribe
Tim Düsterhus [Fri, 3 Jul 2020 07:22:55 +0000 (09:22 +0200)]
Merge pull request #3412 from WoltLab/list-unsubscribe

Add List-Unsubscribe header

4 years agoFix validating style when editing users in ACP
Matthias Schmidt [Thu, 2 Jul 2020 17:03:19 +0000 (19:03 +0200)]
Fix validating style when editing users in ACP

See #3254

4 years agoMerge branch '5.2'
Matthias Schmidt [Thu, 2 Jul 2020 16:46:40 +0000 (18:46 +0200)]
Merge branch '5.2'

4 years agoAdd missing closing quotation mark in English language item
Matthias Schmidt [Thu, 2 Jul 2020 16:46:13 +0000 (18:46 +0200)]
Add missing closing quotation mark in English language item

4 years agoFix Url::is()
Tim Düsterhus [Thu, 2 Jul 2020 14:40:16 +0000 (16:40 +0200)]
Fix Url::is()

`parse_url()` cannot be used to validate an URL, because it will accept
roughly everything. In fact this is documented in the parse_url() docs:

> This function is not meant to validate the given URL, it only breaks
> it up into the above listed parts. Partial URLs are also accepted,
> parse_url() tries its best to parse them correctly.

Fixes #3391

4 years agoIgnore errors if a to-be-dropped key / column does not exist in DatabaseEditor
Tim Düsterhus [Thu, 2 Jul 2020 13:40:19 +0000 (15:40 +0200)]
Ignore errors if a to-be-dropped key / column does not exist in DatabaseEditor

Resolves #3166

4 years agoCorrectly handle non-numeric exception codes in core.functions.php
Tim Düsterhus [Thu, 2 Jul 2020 13:32:19 +0000 (15:32 +0200)]
Correctly handle non-numeric exception codes in core.functions.php

Database exceptions use the SQLSTATE as the error code. SQLSTATEs can
contains letters.

4 years agoFix indentation of signature in email_html.tpl
Tim Düsterhus [Thu, 2 Jul 2020 12:07:08 +0000 (14:07 +0200)]
Fix indentation of signature in email_html.tpl

Co-authored-by: Alexander Ebert <ebert@woltlab.com>
4 years agoMerge pull request #3421 from WoltLab/void-pip
Tim Düsterhus [Thu, 2 Jul 2020 11:57:42 +0000 (13:57 +0200)]
Merge pull request #3421 from WoltLab/void-pip

Add <void/> instruction

4 years agoMerge branch '5.2'
Tim Düsterhus [Thu, 2 Jul 2020 11:43:15 +0000 (13:43 +0200)]
Merge branch '5.2'

4 years agoResolve review requests for List-Unsubscribe
Tim Düsterhus [Thu, 2 Jul 2020 11:42:07 +0000 (13:42 +0200)]
Resolve review requests for List-Unsubscribe

Co-authored-by: Alexander Ebert <ebert@woltlab.com>
4 years agoMerge pull request #3413 from WoltLab/existingMapping
Alexander Ebert [Thu, 2 Jul 2020 11:20:39 +0000 (13:20 +0200)]
Merge pull request #3413 from WoltLab/existingMapping

Improve wording regarding existing import mapping

4 years agoPrefix WORKER_STATUS_FD with WCF_
Tim Düsterhus [Thu, 2 Jul 2020 10:48:58 +0000 (12:48 +0200)]
Prefix WORKER_STATUS_FD with WCF_

4 years agoPass the sessionID using the environment instead of argv
Tim Düsterhus [Thu, 2 Jul 2020 10:48:10 +0000 (12:48 +0200)]
Pass the sessionID using the environment instead of argv

4 years agoAdd missing language items for parallel workers
Tim Düsterhus [Thu, 2 Jul 2020 10:36:43 +0000 (12:36 +0200)]
Add missing language items for parallel workers

4 years agoPrevent windows users from using --threads=
Tim Düsterhus [Wed, 1 Jul 2020 10:37:57 +0000 (12:37 +0200)]
Prevent windows users from using --threads=

4 years agoAdd multithreading support to WorkerCLICommand
Tim Düsterhus [Wed, 1 Jul 2020 10:35:52 +0000 (12:35 +0200)]
Add multithreading support to WorkerCLICommand

4 years agoAdd WORKER_STATUS_FD to WorkerCLICommand
Tim Düsterhus [Wed, 1 Jul 2020 09:48:58 +0000 (11:48 +0200)]
Add WORKER_STATUS_FD to WorkerCLICommand

4 years agoAllow logging into cli.php by giving an existing sessionID
Tim Düsterhus [Wed, 1 Jul 2020 09:40:18 +0000 (11:40 +0200)]
Allow logging into cli.php by giving an existing sessionID

4 years agoUpdating minified JavaScript files
woltlab.com [Thu, 2 Jul 2020 10:32:06 +0000 (10:32 +0000)]
Updating minified JavaScript files

4 years agoMerge branch '5.2'
Tim Düsterhus [Thu, 2 Jul 2020 09:56:13 +0000 (11:56 +0200)]
Merge branch '5.2'

4 years agoFix formatting of text/plain notifications
Tim Düsterhus [Thu, 2 Jul 2020 09:55:33 +0000 (11:55 +0200)]
Fix formatting of text/plain notifications

see #325

4 years agoMerge pull request #3424 from WoltLab/resizer-strip-exif
Tim Düsterhus [Thu, 2 Jul 2020 09:44:58 +0000 (11:44 +0200)]
Merge pull request #3424 from WoltLab/resizer-strip-exif

Strip exif information from loaded image in Resizer#loadFile

4 years agoStrip exif information from loaded image in Resizer#loadFile
Tim Düsterhus [Thu, 2 Jul 2020 08:11:59 +0000 (10:11 +0200)]
Strip exif information from loaded image in Resizer#loadFile

Modern browsers take the Exif orientation into account when showing a JPEG
within an HTMLImageElement. Unfortunately this orientation is not only
visual, but extends to the blob received when reading this image into a
canvas.

The JavaScript based image resizer using within the attachment system takes
care reinsert the original Exif data after fetching the resized blob from
pica.js.

This causes the image to be reoriented multiple times, ultimately leading
to an incorrectly oriented image:

1. The browser rotates the image.
2. The server rotates the image again, because the original Exif information
   has been preserved.

To fix this issue we strip the Exif information before handing the blob over
to the HTMLImageElement, forcing the browser to use the raw pixels instead
of pretending to be smart. When the Exif information is reinserted after
resizing the image that will be uploaded will then be reoriented only once:
On the server.

During fixing of this bug it was also investigated whether one can find out
whether the browser reoriented the image, it looks like one cannot. It was
also tested whether setting `image-orientation: none` will have any effect.

It only has in Firefox: When image-orientation: none is set you will get
the behavior as if no Exif information is present.
In Chrome the source image will not be be reoriented when rendered inside
of the DOM. Reading the pixel values however still returns the reoriented
garbage.

Thus stripping the exif information is the best solution to combat web
browsers attempting to be smart. Unfortunately it comes with an increased
processing requirement, because the raw blob (possible multiple megabytes)
will need to be processed to strip the Exif data.

4 years agoFix formatting of wcf.acp.user.activation.mail.plaintext
Tim Düsterhus [Thu, 2 Jul 2020 09:16:59 +0000 (11:16 +0200)]
Fix formatting of wcf.acp.user.activation.mail.plaintext

4 years agoFix layout of text/plain version of userRegistration notification mail
Tim Düsterhus [Thu, 2 Jul 2020 09:00:18 +0000 (11:00 +0200)]
Fix layout of text/plain version of userRegistration notification mail

Whitespace is significant within the text/plain version, thus remove the
tabs like within all the other notifications.

4 years agoMerge pull request #3423 from WoltLab/deprecate-uploadhandler-isimage
Joshua Rüsweg [Thu, 2 Jul 2020 07:52:35 +0000 (09:52 +0200)]
Merge pull request #3423 from WoltLab/deprecate-uploadhandler-isimage

Deprecation of UploadHandler::isValidImage()

4 years agoMerge branch '5.2'
joshuaruesweg [Wed, 1 Jul 2020 19:52:08 +0000 (21:52 +0200)]
Merge branch '5.2'

4 years agoSimplify checking of existing of conditions on revoking trophies
joshuaruesweg [Wed, 1 Jul 2020 19:51:20 +0000 (21:51 +0200)]
Simplify checking of existing of conditions on revoking trophies
See #3422

4 years agoIncorrect check for legacy attachment dimensions
Alexander Ebert [Wed, 1 Jul 2020 19:16:26 +0000 (21:16 +0200)]
Incorrect check for legacy attachment dimensions

4 years agoDeprecation of UploadHandler::isValidImage()
joshuaruesweg [Wed, 1 Jul 2020 19:09:52 +0000 (21:09 +0200)]
Deprecation of UploadHandler::isValidImage()
Resolves #3380

4 years agoMerge branch '5.2'
joshuaruesweg [Wed, 1 Jul 2020 18:44:58 +0000 (20:44 +0200)]
Merge branch '5.2'

4 years agoFix revoking trophies w/o conditions yield an SQL error
joshuaruesweg [Wed, 1 Jul 2020 18:44:14 +0000 (20:44 +0200)]
Fix revoking trophies w/o conditions yield an SQL error
Fixes #3422

4 years agoAdd <void/> instruction
Tim Düsterhus [Wed, 1 Jul 2020 12:30:10 +0000 (14:30 +0200)]
Add <void/> instruction

The <void/> instruction may only be used during updates and only when no
other package installation plugin is used. It will result in a noop
when running the upgrade, allowing an upgrade to adjust package metadata
without actually changing anything.

Example usage:

<instructions type="update" fromversion="*">
<void/>
</instructions>

Resolves #3411

4 years agoMerge branch '5.2'
Tim Düsterhus [Wed, 1 Jul 2020 10:59:18 +0000 (12:59 +0200)]
Merge branch '5.2'

4 years agoMerge branch '3.1' into 5.2
Alexander Ebert [Wed, 1 Jul 2020 09:15:46 +0000 (11:15 +0200)]
Merge branch '3.1' into 5.2

4 years agoMerge pull request #3418 from WoltLab/cronjob-fix
Alexander Ebert [Wed, 1 Jul 2020 09:15:01 +0000 (11:15 +0200)]
Merge pull request #3418 from WoltLab/cronjob-fix

Fix detection of stuck cronjobs

4 years agoMerge pull request #3416 from WoltLab/upload-acceptable
Tim Düsterhus [Tue, 30 Jun 2020 20:34:51 +0000 (22:34 +0200)]
Merge pull request #3416 from WoltLab/upload-acceptable

Allow specifying allowed file extensions for form builder's UploadFormField

4 years agoSupport setting user's style when editing user in ACP
Matthias Schmidt [Tue, 30 Jun 2020 16:10:50 +0000 (18:10 +0200)]
Support setting user's style when editing user in ACP

Close #3254

4 years agoGet rid of useless class attribute CronjobScheduler::$cronjobEditors
Tim Düsterhus [Tue, 30 Jun 2020 12:16:42 +0000 (14:16 +0200)]
Get rid of useless class attribute CronjobScheduler::$cronjobEditors

Just use a simple return value here. It avoids having to carefully manage
class state.

4 years agoFix detection of stuck cronjobs
Tim Düsterhus [Tue, 30 Jun 2020 12:15:03 +0000 (14:15 +0200)]
Fix detection of stuck cronjobs

Consider the following scenario:

A cronjob is scheduled to run `0 * * * *` (i.e. every hour). The cronjob
successfully executes it's 23:00 execution belated on 23:30. Then the
nextExec will be 00:00. afterNextExec will be 01:00.

During night time nothing happens within the community, until at 05:xx when
the first user wakes up and opens their web browser. It restores two tabs
with our community and fetches them. Now the following will happen:

1. Request 1: Notices that the cronjob is due (00:00 < 05:xx). Setting
              the cronjob's state to pending and starting execution.
2. Request 2: Notices that the cronjob is overdue (01:00 < 05:xx,
              state = pending). Logging an error about a stuck job and
              setting the cronjob's state to ready.
3. Request 1: Finishes executing the cronjob and updates nextExec = 06:00,
              afterNextExec = 07:00, also setting the cronjob's state to
              ready.

Fix this issue by updating the times for the next executions together with
the update of the state in a single database query / transaction. This will
prevent other requests from seeing the cronjob with state = pending or
state = executing and an way outdated date.

A side effect of this change is that cronjobs will match the intended
schedule better.

Consider the following:

A cronjob running every minute, taking 5 seconds to execute. The execution
is triggered at 00:00:58. It will finish executing 00:01:03. Previously the
nextExec would be set to 00:02:00, now it will be 00:01:00. Thus the first
request after 00:01:03 (i.e. once the state is set back to ready) will
trigger execution, more closely matching the intended schedule.

4 years agoImprove error message for stuck cronjobs
Tim Düsterhus [Tue, 30 Jun 2020 12:07:51 +0000 (14:07 +0200)]
Improve error message for stuck cronjobs

4 years agoAdd option for HTML based email signature
Tim Düsterhus [Tue, 30 Jun 2020 11:57:31 +0000 (13:57 +0200)]
Add option for HTML based email signature

Resolves #3224

4 years agoUse consistent wording 'acceptable' in Upload.js
Tim Düsterhus [Tue, 30 Jun 2020 09:47:51 +0000 (11:47 +0200)]
Use consistent wording 'acceptable' in Upload.js

4 years agoAdd support for acceptable types to UploadFormField of form builder
Tim Düsterhus [Tue, 30 Jun 2020 09:27:58 +0000 (11:27 +0200)]
Add support for acceptable types to UploadFormField of form builder

Resolves #3414

4 years agoAdd support for acceptable types to lib/system/file/upload/ functionality
Tim Düsterhus [Tue, 30 Jun 2020 09:27:19 +0000 (11:27 +0200)]
Add support for acceptable types to lib/system/file/upload/ functionality

see #3414

4 years agoAdd support for acceptable types to WoltLabSuite/Core/Upload
Tim Düsterhus [Tue, 30 Jun 2020 09:26:46 +0000 (11:26 +0200)]
Add support for acceptable types to WoltLabSuite/Core/Upload

see #3414

4 years agoDirectly use scssphp/scssphp in StyleCompiler
Tim Düsterhus [Tue, 30 Jun 2020 07:36:18 +0000 (09:36 +0200)]
Directly use scssphp/scssphp in StyleCompiler

4 years agoAdd compatibility layer from leafo/scssphp to scssphp/scssphp
Tim Düsterhus [Tue, 30 Jun 2020 07:30:09 +0000 (09:30 +0200)]
Add compatibility layer from leafo/scssphp to scssphp/scssphp

The basic usage of this compatibility layer appears to work well:

A CSS file can be compiled from the default style, without needing any
additional adjustments.

What this compatibility layer cannot do is rewrite the Exceptions that
are thrown by scssphp/scssphp. A strict catch block catching a specific
Exception, such as `\Leafo\ScssPhp\Exception\ParserException` will not
match the aliased `ScssPhp\ScssPhp\Exception\ParserException`.

Resolves #3398

4 years agoReplace leafo/scssphp by scssphp/scssphp in composer.json
Tim Düsterhus [Tue, 30 Jun 2020 07:28:54 +0000 (09:28 +0200)]
Replace leafo/scssphp by scssphp/scssphp in composer.json

see #3398

4 years agoMerge branch 'registerActivationMethodByUserAndAdmin'
joshuaruesweg [Mon, 29 Jun 2020 20:01:58 +0000 (22:01 +0200)]
Merge branch 'registerActivationMethodByUserAndAdmin'

4 years agoMerge pull request #3323 from WoltLab/registerActivationMethodByUserAndAdmin
Joshua Rüsweg [Mon, 29 Jun 2020 19:59:51 +0000 (21:59 +0200)]
Merge pull request #3323 from WoltLab/registerActivationMethodByUserAndAdmin

Register activation method by user and admin