GitHub/WoltLab/WCF.git
3 years agoMove spiderID out of the environment array
Tim Düsterhus [Wed, 14 Oct 2020 13:47:33 +0000 (15:47 +0200)]
Move spiderID out of the environment array

There is no better replacement as of now.

3 years agoStop accessing the ->lastActivityTime property of the session
Tim Düsterhus [Wed, 14 Oct 2020 12:23:49 +0000 (14:23 +0200)]
Stop accessing the ->lastActivityTime property of the session

Use TIME_NOW instead.

3 years agoStop accessing the ->requestURI/Method properties of the session
Tim Düsterhus [Wed, 14 Oct 2020 12:21:53 +0000 (14:21 +0200)]
Stop accessing the ->requestURI/Method properties of the session

Use UserUtil / $_SERVER instead.

3 years agoStop accessing the ->userAgent property of the session
Tim Düsterhus [Wed, 14 Oct 2020 12:20:02 +0000 (14:20 +0200)]
Stop accessing the ->userAgent property of the session

Use UserUtil::getUserAgent() instead.

3 years agoStop accessing the ->ipAddress property of the session
Tim Düsterhus [Wed, 14 Oct 2020 12:18:53 +0000 (14:18 +0200)]
Stop accessing the ->ipAddress property of the session

Use UserUtil::getIpAddress() instead.

3 years agoDeprecate the 'environment' session variables
Tim Düsterhus [Wed, 14 Oct 2020 12:16:01 +0000 (14:16 +0200)]
Deprecate the 'environment' session variables

3 years agoDrop lastRequestURI and lastRequestMethod
Tim Düsterhus [Wed, 14 Oct 2020 12:10:41 +0000 (14:10 +0200)]
Drop lastRequestURI and lastRequestMethod

They do not appear to be in use and neither are they documented in
property-read of the class documentation.

3 years agoSign the session cookie
Tim Düsterhus [Wed, 14 Oct 2020 09:30:08 +0000 (11:30 +0200)]
Sign the session cookie

3 years agoRequire generation of a valid signature_secret during WCFSetup
Tim Düsterhus [Wed, 14 Oct 2020 09:41:07 +0000 (11:41 +0200)]
Require generation of a valid signature_secret during WCFSetup

3 years agoMove cookie handling into SessionHandler
Tim Düsterhus [Tue, 13 Oct 2020 08:40:35 +0000 (10:40 +0200)]
Move cookie handling into SessionHandler

3 years agoRemove requestURI and requestMethod from wcf1_acp_session
Tim Düsterhus [Mon, 5 Oct 2020 10:14:38 +0000 (12:14 +0200)]
Remove requestURI and requestMethod from wcf1_acp_session

3 years agoRemove legacy session keepAlive from template
Tim Düsterhus [Mon, 5 Oct 2020 10:22:54 +0000 (12:22 +0200)]
Remove legacy session keepAlive from template

Two hours for guests and 14 days for users should be more than reasonable.

3 years agoManage the session timeout automatically
Tim Düsterhus [Mon, 5 Oct 2020 10:11:05 +0000 (12:11 +0200)]
Manage the session timeout automatically

3 years agoMake SessionHandler::keepAlive() a no-op
Tim Düsterhus [Mon, 5 Oct 2020 08:47:05 +0000 (10:47 +0200)]
Make SessionHandler::keepAlive() a no-op

3 years agoFix GDPR export for sessions
Tim Düsterhus [Mon, 5 Oct 2020 09:53:24 +0000 (11:53 +0200)]
Fix GDPR export for sessions

Resolves #3588

3 years agoRemove legacy SID_* constants
Tim Düsterhus [Mon, 5 Oct 2020 09:39:10 +0000 (11:39 +0200)]
Remove legacy SID_* constants

3 years agoDrop sessions if the session variables became corrupted
Tim Düsterhus [Wed, 14 Oct 2020 08:39:35 +0000 (10:39 +0200)]
Drop sessions if the session variables became corrupted

3 years agoReset SessionHandler::variablesChanged after update
Tim Düsterhus [Wed, 14 Oct 2020 08:47:16 +0000 (10:47 +0200)]
Reset SessionHandler::variablesChanged after update

3 years agoUse differing conditions for guests / users when fetching legacy sessions
Tim Düsterhus [Tue, 13 Oct 2020 08:24:08 +0000 (10:24 +0200)]
Use differing conditions for guests / users when fetching legacy sessions

3 years agoDo not refresh ACP session cookies
Tim Düsterhus [Thu, 15 Oct 2020 12:35:59 +0000 (14:35 +0200)]
Do not refresh ACP session cookies

They are scoped as session cookies and thus live until the browser is closed
which is preferable compared to a dated expiry.

3 years agoImplement the new session handling
Tim Düsterhus [Fri, 2 Oct 2020 14:02:49 +0000 (16:02 +0200)]
Implement the new session handling

Unfortunately this can't be sanely split into multiple smaller commits, because
all the methods rely on the correct working of the other methods. A common
issue during testing was the magic SessionHandler::__get() function not
returning the proper data.

3 years agoDeprecated SessionHandler::setCookieSuffix()
Tim Düsterhus [Fri, 2 Oct 2020 13:48:57 +0000 (15:48 +0200)]
Deprecated SessionHandler::setCookieSuffix()

3 years agoAdd wcf1_user_session and update wcf1_acp_session
Tim Düsterhus [Fri, 2 Oct 2020 13:28:49 +0000 (15:28 +0200)]
Add wcf1_user_session and update wcf1_acp_session

3 years agoMake SessionHandler final
Tim Düsterhus [Fri, 2 Oct 2020 13:35:27 +0000 (15:35 +0200)]
Make SessionHandler final

Extending the SessionHandler always was a bit questionable. Going forward the
only supported API for the session system is the public PHP API.

3 years agoMerge branch 'master' into session-meta
Tim Düsterhus [Thu, 15 Oct 2020 14:01:01 +0000 (16:01 +0200)]
Merge branch 'master' into session-meta

3 years agoUse \hash_equals in CryptoUtil::validateSignedString()
Tim Düsterhus [Wed, 14 Oct 2020 09:24:23 +0000 (11:24 +0200)]
Use \hash_equals in CryptoUtil::validateSignedString()

3 years agoMerge pull request #3607 from WoltLab/import-user-group-option-value
Tim Düsterhus [Thu, 15 Oct 2020 10:53:30 +0000 (12:53 +0200)]
Merge pull request #3607 from WoltLab/import-user-group-option-value

Create user group option values during group import

3 years agoMerge branch '5.2' into master
Tim Düsterhus [Thu, 15 Oct 2020 09:31:36 +0000 (11:31 +0200)]
Merge branch '5.2' into master

3 years agoFixed parameter validation of 'captionEnableHtml'
Marcel Werk [Thu, 15 Oct 2020 09:10:50 +0000 (11:10 +0200)]
Fixed parameter validation of 'captionEnableHtml'

3 years agoFix handling of default headers in HttpFactory::makeClient()
Tim Düsterhus [Thu, 15 Oct 2020 08:56:44 +0000 (10:56 +0200)]
Fix handling of default headers in HttpFactory::makeClient()

If a `headers` array is given the default user agent would not be applied, even
if the `user-agent` key is not part of the `headers` that are given. This
caused Guzzle to use its default user agent.

3 years agoCreate user group option values during group import
Tim Düsterhus [Thu, 15 Oct 2020 08:34:56 +0000 (10:34 +0200)]
Create user group option values during group import

Resolves #3534

3 years agoLog NamedUserException to the console when running in debug mode
Alexander Ebert [Wed, 14 Oct 2020 16:47:16 +0000 (18:47 +0200)]
Log NamedUserException to the console when running in debug mode

Closes #3541

3 years agoMerge pull request #3605 from WoltLab/recommend-curl
Tim Düsterhus [Wed, 14 Oct 2020 12:26:09 +0000 (14:26 +0200)]
Merge pull request #3605 from WoltLab/recommend-curl

Recommend cURL during WCFSetup

3 years agoRecommend cURL during WCFSetup
Tim Düsterhus [Wed, 14 Oct 2020 11:41:38 +0000 (13:41 +0200)]
Recommend cURL during WCFSetup

Resolves #3601

3 years agoMerge pull request #3604 from ChristopherWalz/master
Marcel Werk [Wed, 14 Oct 2020 10:25:55 +0000 (12:25 +0200)]
Merge pull request #3604 from ChristopherWalz/master

Add DatabaseObjectList::setConditionBuilder

3 years agoAdd DatabaseObjectList::setConditionBuilder
Christopher Walz [Wed, 14 Oct 2020 10:16:53 +0000 (12:16 +0200)]
Add DatabaseObjectList::setConditionBuilder

3 years agoMerge branch '5.2'
Marcel Werk [Wed, 14 Oct 2020 09:06:37 +0000 (11:06 +0200)]
Merge branch '5.2'

3 years agoAdded link to new manual
Marcel Werk [Wed, 14 Oct 2020 09:06:14 +0000 (11:06 +0200)]
Added link to new manual

3 years agoMerge branch '5.2'
Alexander Ebert [Tue, 13 Oct 2020 16:03:47 +0000 (18:03 +0200)]
Merge branch '5.2'

3 years agoSuppress the edit button for boxes on touch devices
Alexander Ebert [Tue, 13 Oct 2020 16:03:33 +0000 (18:03 +0200)]
Suppress the edit button for boxes on touch devices

The first tap on the box will trigger the hover, preventing any other elements, such as links, from responding.

3 years agoPrevent the official servers from being disabled
Alexander Ebert [Tue, 13 Oct 2020 14:10:10 +0000 (16:10 +0200)]
Prevent the official servers from being disabled

3 years agoPrepared an update script for the missing database columns in 5.3.0 RC 1
Alexander Ebert [Tue, 13 Oct 2020 13:10:34 +0000 (15:10 +0200)]
Prepared an update script for the missing database columns in 5.3.0 RC 1

3 years agoUpdated the files for the pre upgrade deployment
Alexander Ebert [Tue, 13 Oct 2020 12:59:42 +0000 (14:59 +0200)]
Updated the files for the pre upgrade deployment

3 years agoMySQL 5.7 does not support the syntax for non-capturing groups
Alexander Ebert [Tue, 13 Oct 2020 11:26:48 +0000 (13:26 +0200)]
MySQL 5.7 does not support the syntax for non-capturing groups

3 years agoUse `display: inline-table` to mimic the previous behavior
Alexander Ebert [Tue, 13 Oct 2020 11:25:13 +0000 (13:25 +0200)]
Use `display: inline-table` to mimic the previous behavior

The commit 9b6a008c7c15ce8fb61e45f6e592421af9c3dc54 introduced `table` instead of `inline-block`.

3 years agoMerge pull request #3602 from WoltLab/53-update-style
Tim Düsterhus [Tue, 13 Oct 2020 11:03:35 +0000 (13:03 +0200)]
Merge pull request #3602 from WoltLab/53-update-style

Update defaultStyle after migrating styles

3 years agoMerge pull request #3603 from WoltLab/exception-parse-invalid-stack
Tim Düsterhus [Tue, 13 Oct 2020 10:45:23 +0000 (12:45 +0200)]
Merge pull request #3603 from WoltLab/exception-parse-invalid-stack

Convert exceptions during stack trace parsing to InvalidArgumentExcep…

3 years agoConvert exceptions during stack trace parsing to InvalidArgumentException
Tim Düsterhus [Tue, 13 Oct 2020 10:13:22 +0000 (12:13 +0200)]
Convert exceptions during stack trace parsing to InvalidArgumentException

3 years agoUpdate defaultStyle after migrating styles
Tim Düsterhus [Tue, 13 Oct 2020 09:58:01 +0000 (11:58 +0200)]
Update defaultStyle after migrating styles

It appears that importing the defaultStyle causes the style specific asset folder to be created, leading to issues with the style migration.

3 years agoMerge branch 'master' into session-meta
Tim Düsterhus [Tue, 13 Oct 2020 08:06:48 +0000 (10:06 +0200)]
Merge branch 'master' into session-meta

For the version number bump.

3 years agoMerge branch '5.2'
Matthias Schmidt [Mon, 12 Oct 2020 16:52:23 +0000 (18:52 +0200)]
Merge branch '5.2'

3 years agoFix add PIP entry via GUI if only delete element exists in XML file
Matthias Schmidt [Mon, 12 Oct 2020 16:51:54 +0000 (18:51 +0200)]
Fix add PIP entry via GUI if only delete element exists in XML file

Close #3599

3 years agoFix missing language item
Matthias Schmidt [Mon, 12 Oct 2020 16:37:11 +0000 (18:37 +0200)]
Fix missing language item

Close #3597

3 years agoMerge branch '5.2'
Alexander Ebert [Mon, 12 Oct 2020 16:10:59 +0000 (18:10 +0200)]
Merge branch '5.2'

3 years agoMerge pull request #3600 from WoltLab/exception-parse-alphanumeric-code
Alexander Ebert [Mon, 12 Oct 2020 16:10:32 +0000 (18:10 +0200)]
Merge pull request #3600 from WoltLab/exception-parse-alphanumeric-code

Support alphanumeric error code in ExceptionLogUtil::parseException()

3 years agoSupport alphanumeric error code in ExceptionLogUtil::parseException()
Tim Düsterhus [Mon, 12 Oct 2020 16:09:06 +0000 (18:09 +0200)]
Support alphanumeric error code in ExceptionLogUtil::parseException()

PDO error codes might contain letters.

3 years agoFix calling HTTPRequest::getReply() if the response is missing
Tim Düsterhus [Mon, 12 Oct 2020 11:38:32 +0000 (13:38 +0200)]
Fix calling HTTPRequest::getReply() if the response is missing

The only case where the response might be missing is if Guzzle fails to connect
to the remote server (ConnectException). Return default data that is consistent
with 5.2 in this case.

3 years agoMerge branch '5.2'
Alexander Ebert [Sun, 11 Oct 2020 11:42:16 +0000 (13:42 +0200)]
Merge branch '5.2'

3 years agoUse a literal string to avoid escaping
Alexander Ebert [Sun, 11 Oct 2020 11:42:03 +0000 (13:42 +0200)]
Use a literal string to avoid escaping

See #3595

3 years agoMerge branch '3.1' into 5.2
Alexander Ebert [Sun, 11 Oct 2020 11:41:39 +0000 (13:41 +0200)]
Merge branch '3.1' into 5.2

3 years agoUse a literal string to avoid escaping
Alexander Ebert [Sun, 11 Oct 2020 11:41:20 +0000 (13:41 +0200)]
Use a literal string to avoid escaping

See #3595

3 years agoMerge pull request #3598 from WoltLab/php8_form_builder
Alexander Ebert [Sun, 11 Oct 2020 11:38:16 +0000 (13:38 +0200)]
Merge pull request #3598 from WoltLab/php8_form_builder

Fix deprecation warnings in form builder in PHP 8

3 years agoFix deprecation warnings in form builder in PHP 8
Matthias Schmidt [Sat, 10 Oct 2020 15:54:50 +0000 (17:54 +0200)]
Fix deprecation warnings in form builder in PHP 8

Close #3489

3 years agoUpdated the files archive 5.3.0_RC_1
Alexander Ebert [Sat, 10 Oct 2020 12:38:19 +0000 (14:38 +0200)]
Updated the files archive

3 years agoMerge pull request #3596 from WoltLab/guzzle-head-encoding-regression
Tim Düsterhus [Fri, 9 Oct 2020 14:16:22 +0000 (16:16 +0200)]
Merge pull request #3596 from WoltLab/guzzle-head-encoding-regression

Fix HEAD requests with `accept-encoding` header set

3 years agoFix HEAD requests with `accept-encoding` header set
Tim Düsterhus [Fri, 9 Oct 2020 13:47:20 +0000 (15:47 +0200)]
Fix HEAD requests with `accept-encoding` header set

This backports the change in guzzle/guzzle#2804.

3 years agoForce buttons to align with the top of the flex
Alexander Ebert [Fri, 9 Oct 2020 09:52:34 +0000 (11:52 +0200)]
Force buttons to align with the top of the flex

See fff15f8566

3 years agoAdjusted the package date
Alexander Ebert [Thu, 8 Oct 2020 18:00:57 +0000 (20:00 +0200)]
Adjusted the package date

3 years agoInternal release 5.3.0 RC 1
Alexander Ebert [Thu, 8 Oct 2020 11:46:20 +0000 (13:46 +0200)]
Internal release 5.3.0 RC 1

3 years agoIncorrect tag being used
Alexander Ebert [Thu, 8 Oct 2020 10:48:25 +0000 (12:48 +0200)]
Incorrect tag being used

3 years agoUpdating minified JavaScript files
woltlab.com [Thu, 8 Oct 2020 10:40:59 +0000 (10:40 +0000)]
Updating minified JavaScript files

3 years agoMerge pull request #3589 from WoltLab/system-check-gd
Alexander Ebert [Wed, 7 Oct 2020 11:10:25 +0000 (13:10 +0200)]
Merge pull request #3589 from WoltLab/system-check-gd

Check for the "jpeg" and "png" support of GD

3 years agoMerge branch '5.2' into master
Tim Düsterhus [Tue, 6 Oct 2020 07:39:25 +0000 (09:39 +0200)]
Merge branch '5.2' into master

3 years agoFix 'Undefined index: additionalData' in Box
Olaf Braun [Mon, 5 Oct 2020 12:05:24 +0000 (14:05 +0200)]
Fix 'Undefined index: additionalData' in Box

This error can be encountered when calling `new Box(123)` with
`123` not being the ID of a valid box.

Closes #3594

3 years agoMerge branch '5.2'
Matthias Schmidt [Sun, 4 Oct 2020 15:58:45 +0000 (17:58 +0200)]
Merge branch '5.2'

3 years agoFix page title for system check page
Matthias Schmidt [Sun, 4 Oct 2020 15:58:31 +0000 (17:58 +0200)]
Fix page title for system check page

Close #3591

3 years agoRemoved the warning for `innodb_flush_log_at_trx_commit`
Alexander Ebert [Sun, 4 Oct 2020 11:08:39 +0000 (13:08 +0200)]
Removed the warning for `innodb_flush_log_at_trx_commit`

The value is now displayed as a server variable on the index page for manual review.

Closes #3535

3 years agoLog form validation errors to the console when running in debug mode
Alexander Ebert [Sun, 4 Oct 2020 10:54:32 +0000 (12:54 +0200)]
Log form validation errors to the console when running in debug mode

Closes #3541

3 years agoMerge branch '5.2'
Marcel Werk [Sun, 4 Oct 2020 09:09:20 +0000 (11:09 +0200)]
Merge branch '5.2'

3 years agoMerge branch '3.1' into 5.2
Marcel Werk [Sun, 4 Oct 2020 09:09:03 +0000 (11:09 +0200)]
Merge branch '3.1' into 5.2

3 years agoRemoved obsolete code
Marcel Werk [Sun, 4 Oct 2020 09:07:18 +0000 (11:07 +0200)]
Removed obsolete code

There is no article counter for users (wcf1_user.articles) in version 3.1.

3 years agoMerge branch '5.2'
joshuaruesweg [Sun, 4 Oct 2020 08:44:49 +0000 (10:44 +0200)]
Merge branch '5.2'

3 years agoAdd missing language variable `wcf.upload.error.uploadFailed`
joshuaruesweg [Sun, 4 Oct 2020 08:41:58 +0000 (10:41 +0200)]
Add missing language variable `wcf.upload.error.uploadFailed`

3 years agoMerge pull request #3590 from WoltLab/article-meta-tags
Alexander Ebert [Sat, 3 Oct 2020 23:13:03 +0000 (01:13 +0200)]
Merge pull request #3590 from WoltLab/article-meta-tags

Custom meta title and meta description for articles

3 years agoCustom meta title and meta description for articles
Marcel Werk [Sat, 3 Oct 2020 22:42:05 +0000 (00:42 +0200)]
Custom meta title and meta description for articles

Closes #3575

3 years agoRemoved the legacy database encoding converter
Alexander Ebert [Sat, 3 Oct 2020 18:20:40 +0000 (20:20 +0200)]
Removed the legacy database encoding converter

Closes #3570

3 years agoWorkaround for a Safari bug 5.3.0_Beta_2
Alexander Ebert [Fri, 2 Oct 2020 21:26:53 +0000 (23:26 +0200)]
Workaround for a Safari bug

See https://community.woltlab.com/thread/286084-safari-fehlerhaft-dargestellter-schatten-in-code-box/

3 years agoOverhauled the appearance of the list of purchased plugins
Alexander Ebert [Fri, 2 Oct 2020 20:00:42 +0000 (22:00 +0200)]
Overhauled the appearance of the list of purchased plugins

3 years agoCheck for the "jpeg" and "png" support of GD
Alexander Ebert [Fri, 2 Oct 2020 17:42:11 +0000 (19:42 +0200)]
Check for the "jpeg" and "png" support of GD

3 years agoMerge pull request #3587 from WoltLab/session-remove-virtual
Tim Düsterhus [Fri, 2 Oct 2020 13:16:12 +0000 (15:16 +0200)]
Merge pull request #3587 from WoltLab/session-remove-virtual

Remove virtual sessions

3 years agoRelease 5.3.0 Beta 2
Alexander Ebert [Fri, 2 Oct 2020 13:05:40 +0000 (15:05 +0200)]
Release 5.3.0 Beta 2

3 years agoRemove database tables related to virtual sessions
Tim Düsterhus [Fri, 2 Oct 2020 12:27:34 +0000 (14:27 +0200)]
Remove database tables related to virtual sessions

3 years agoRemove virtual session DBO classes
Tim Düsterhus [Fri, 2 Oct 2020 08:53:19 +0000 (10:53 +0200)]
Remove virtual session DBO classes

Virtual sessions are no longer supported. The TODO comments will be fixed with
a later commit.

3 years agoUpdating minified JavaScript files
woltlab.com [Fri, 2 Oct 2020 10:41:53 +0000 (10:41 +0000)]
Updating minified JavaScript files

3 years agoRemove obsolete imports
Tim Düsterhus [Fri, 2 Oct 2020 08:46:17 +0000 (10:46 +0200)]
Remove obsolete imports

3 years agoRemove virtualSession property from SessionHandler
Tim Düsterhus [Fri, 2 Oct 2020 08:43:37 +0000 (10:43 +0200)]
Remove virtualSession property from SessionHandler

This property is always `false`, because it is never written.

3 years agoRemove obsolete SessionHandler::loadVirtualSession() method
Tim Düsterhus [Fri, 2 Oct 2020 08:43:00 +0000 (10:43 +0200)]
Remove obsolete SessionHandler::loadVirtualSession() method

3 years agoStop loading virtual sessions when changeUser() is called
Tim Düsterhus [Fri, 2 Oct 2020 08:38:24 +0000 (10:38 +0200)]
Stop loading virtual sessions when changeUser() is called

As of this commit virtual sessions will no longer be created.

3 years agoStop loading virtual sessions when a new session is created
Tim Düsterhus [Fri, 2 Oct 2020 08:37:21 +0000 (10:37 +0200)]
Stop loading virtual sessions when a new session is created

After this change virtual sessions are only created when `changeUser()` is
being called.

3 years agoBuild form after checking permissions
Matthias Schmidt [Thu, 1 Oct 2020 17:15:52 +0000 (19:15 +0200)]
Build form after checking permissions

Building the form after checking the permissions and the login status allows for the save usage of `WCF::getUser()` as a logged-in user.