GitHub/WoltLab/WCF.git
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.

3 years agoMerge branch '5.2'
Marcel Werk [Thu, 1 Oct 2020 16:27:35 +0000 (18:27 +0200)]
Merge branch '5.2'

3 years agoAutomatic removal of commas from tag names
Marcel Werk [Thu, 1 Oct 2020 16:27:19 +0000 (18:27 +0200)]
Automatic removal of commas from tag names

3 years agoUse a separate element to repesent the "limit reached" state of item lists
Alexander Ebert [Thu, 1 Oct 2020 16:26:38 +0000 (18:26 +0200)]
Use a separate element to repesent the "limit reached" state of item lists

3 years agoMerge branch '3.1' into 5.2
Alexander Ebert [Thu, 1 Oct 2020 15:45:52 +0000 (17:45 +0200)]
Merge branch '3.1' into 5.2

3 years agoMerge pull request #3585 from WoltLab/overdue-cronjob
Alexander Ebert [Thu, 1 Oct 2020 15:45:29 +0000 (17:45 +0200)]
Merge pull request #3585 from WoltLab/overdue-cronjob

Improved the wording of the cronjob error message

3 years agoImproved readability
Alexander Ebert [Thu, 1 Oct 2020 15:45:10 +0000 (17:45 +0200)]
Improved readability

Co-authored-by: Matthias Schmidt <gravatronics@live.com>
3 years agoMerge branch '5.2'
Marcel Werk [Thu, 1 Oct 2020 15:16:15 +0000 (17:16 +0200)]
Merge branch '5.2'

3 years agoRemoved obsolete code
Marcel Werk [Thu, 1 Oct 2020 15:16:01 +0000 (17:16 +0200)]
Removed obsolete code

3 years agoMerge branch '5.2'
Marcel Werk [Thu, 1 Oct 2020 14:53:21 +0000 (16:53 +0200)]
Merge branch '5.2'

3 years agoMerge branch '3.1' into 5.2
Marcel Werk [Thu, 1 Oct 2020 14:52:57 +0000 (16:52 +0200)]
Merge branch '3.1' into 5.2

3 years agoDefault value blocked saving of empty date fields
Marcel Werk [Thu, 1 Oct 2020 14:52:40 +0000 (16:52 +0200)]
Default value blocked saving of empty date fields

3 years agoFixed parameter documentation
Marcel Werk [Thu, 1 Oct 2020 14:47:43 +0000 (16:47 +0200)]
Fixed parameter documentation

3 years agoIncorrect parameter order
Alexander Ebert [Thu, 1 Oct 2020 14:41:22 +0000 (16:41 +0200)]
Incorrect parameter order

Co-authored-by: Tim Düsterhus <duesterhus@woltlab.com>
3 years agoMerge branch 'master' of https://github.com/WoltLab/WCF
Marcel Werk [Thu, 1 Oct 2020 14:28:21 +0000 (16:28 +0200)]
Merge branch 'master' of https://github.com/WoltLab/WCF

3 years agoHide language chooser on cms pages if only one active language is available
Marcel Werk [Thu, 1 Oct 2020 14:28:18 +0000 (16:28 +0200)]
Hide language chooser on cms pages if only one active language is available

3 years agoStop loading virtual sessions when a session is being resumed
Tim Düsterhus [Thu, 1 Oct 2020 09:32:15 +0000 (11:32 +0200)]
Stop loading virtual sessions when a session is being resumed

This change causes the wcf1_session_virtual table to not necessarily contain a
row matching the current userAgent and ipAddress, even if the user has a valid
session. This is not too bad, considered that after the previous commits the
lastActivityTime was not being updated anyway.

3 years agoStop maintaining the virtual session's lastActivityTime
Tim Düsterhus [Thu, 1 Oct 2020 09:24:04 +0000 (11:24 +0200)]
Stop maintaining the virtual session's lastActivityTime

Virtual sessions are about to be removed. This change does not affect user
visible behavior, apart from possibly expiring the session faster.

3 years agoRemove session_enable_virtualization option
Tim Düsterhus [Wed, 30 Sep 2020 14:42:02 +0000 (16:42 +0200)]
Remove session_enable_virtualization option

This option became useless with the previous commit that removed the support
for disabling virtual sessions.

3 years agoAlways enable virtual sessions
Tim Düsterhus [Wed, 30 Sep 2020 14:39:52 +0000 (16:39 +0200)]
Always enable virtual sessions

Virtual sessions will be removed shortly, making this commit technically
useless. However it allows us to remove some code paths, allowing this future
commit to be smaller.

3 years agoRemove loading of the virtual session from SessionHandler::getExistingSession()
Tim Düsterhus [Wed, 30 Sep 2020 14:36:54 +0000 (16:36 +0200)]
Remove loading of the virtual session from SessionHandler::getExistingSession()

The loading will be performed in loadVirtualSession(), so this change does not
result in a visible behavioral change.

3 years agoMerge pull request #3583 from WoltLab/session-remove-validation
Tim Düsterhus [Thu, 1 Oct 2020 14:09:43 +0000 (16:09 +0200)]
Merge pull request #3583 from WoltLab/session-remove-validation

Remove session validation options

3 years agoRemove SessionHandler::validate()
Tim Düsterhus [Wed, 30 Sep 2020 14:36:14 +0000 (16:36 +0200)]
Remove SessionHandler::validate()

This method became a no-op since the validation options were removed.

3 years agoRemove session_validate_user_agent option
Tim Düsterhus [Wed, 30 Sep 2020 14:34:07 +0000 (16:34 +0200)]
Remove session_validate_user_agent option

This option will not play well with long-lived user sessions and the security
benefit is roughly nil. After all almost anyone is using Google Chrome on
either Windows or Android.

Additionally since the session ID is no longer embedded within the URL losing
the session ID to a 3rd party is hard.

3 years agoRemove session_validate_ip_address option
Tim Düsterhus [Wed, 30 Sep 2020 14:32:46 +0000 (16:32 +0200)]
Remove session_validate_ip_address option

This option basically is useless in the age of CGNAT and mobile networks.

3 years agoMerge pull request #3586 from WoltLab/session-cleanup
Tim Düsterhus [Thu, 1 Oct 2020 11:14:13 +0000 (13:14 +0200)]
Merge pull request #3586 from WoltLab/session-cleanup

Remove dead code in SessionHandler

3 years agoRemove dead store to `$session` in SessionHandler::create()
Tim Düsterhus [Thu, 1 Oct 2020 09:46:55 +0000 (11:46 +0200)]
Remove dead store to `$session` in SessionHandler::create()

This variable is always rewritten before it is read.

3 years agoRemove `createNewSession` variable in SessionHandler::create()
Tim Düsterhus [Thu, 1 Oct 2020 09:46:07 +0000 (11:46 +0200)]
Remove `createNewSession` variable in SessionHandler::create()

This always was `true` since the previous commits.

3 years agoRemove useless condition in SessionHandler::create()
Tim Düsterhus [Thu, 1 Oct 2020 09:45:23 +0000 (11:45 +0200)]
Remove useless condition in SessionHandler::create()

`$session` is always `null` at this point since the previous commit.

3 years agoRemove obsolete call to getSessionByUserID in SessionHandler::create()
Tim Düsterhus [Thu, 1 Oct 2020 09:42:09 +0000 (11:42 +0200)]
Remove obsolete call to getSessionByUserID in SessionHandler::create()

This call will always return `null`, since the user always is a guest at that
point, passing a `null` to the database query selecting rows `WHERE userID = ?`.

Incidentally it took me a while to understand why this would not return
existing guest sessions, until I remembered that `NULL` does not equal anything
in SQL and instead `IS NULL` needs to be used. It's good that this slightly
misleading part of the code is gone.

3 years agoRemove useless condition in SessionHandler::create()
Tim Düsterhus [Thu, 1 Oct 2020 09:37:35 +0000 (11:37 +0200)]
Remove useless condition in SessionHandler::create()

This condition always was true since the removal of the legacy autologin in
commit 95953c7a4b18c70d569c4bafc9de2726a1727ef9.

3 years agoForce buttons to align with the top of the flex
Alexander Ebert [Wed, 30 Sep 2020 20:58:05 +0000 (22:58 +0200)]
Force buttons to align with the top of the flex

This change causes buttons of different height to be placed at the top-most spot without extending downwards. One good example are the Filebase's language changer and the purchase button.

3 years agoImproved the wording of the cronjob error message
Alexander Ebert [Wed, 30 Sep 2020 18:39:39 +0000 (20:39 +0200)]
Improved the wording of the cronjob error message

3 years agoMerge branch '5.2'
Marcel Werk [Wed, 30 Sep 2020 14:09:50 +0000 (16:09 +0200)]
Merge branch '5.2'

3 years agoPage title could not be renamed via page management
Marcel Werk [Wed, 30 Sep 2020 14:09:23 +0000 (16:09 +0200)]
Page title could not be renamed via page management

3 years agoMerge pull request #3580 from WoltLab/session-password-refactor
Tim Düsterhus [Wed, 30 Sep 2020 13:58:42 +0000 (15:58 +0200)]
Merge pull request #3580 from WoltLab/session-password-refactor

Add new password hashing framework

3 years agoAdd explicit namespace for used methods
joshuaruesweg [Wed, 30 Sep 2020 11:36:00 +0000 (13:36 +0200)]
Add explicit namespace for used methods

3 years agoAdd 'Smf2' password algorithm
joshuaruesweg [Wed, 30 Sep 2020 11:16:09 +0000 (13:16 +0200)]
Add 'Smf2' password algorithm

3 years agoAdd 'Smf1' password algorithm
joshuaruesweg [Wed, 30 Sep 2020 11:15:21 +0000 (13:15 +0200)]
Add 'Smf1' password algorithm

3 years agoAdd 'CryptMD5' password algorithm
joshuaruesweg [Wed, 30 Sep 2020 10:21:29 +0000 (12:21 +0200)]
Add 'CryptMD5' password algorithm

3 years agoAdd 'Phpfox3' password algorithm
joshuaruesweg [Wed, 30 Sep 2020 10:03:38 +0000 (12:03 +0200)]
Add 'Phpfox3' password algorithm

3 years agoAdd 'Joomla3' password algorithm
joshuaruesweg [Wed, 30 Sep 2020 10:00:48 +0000 (12:00 +0200)]
Add 'Joomla3' password algorithm

3 years agoAdd 'Joomla2' password algorithm
joshuaruesweg [Wed, 30 Sep 2020 09:59:59 +0000 (11:59 +0200)]
Add 'Joomla2' password algorithm

3 years agoAdd 'Joomla1' password algorithm
joshuaruesweg [Wed, 30 Sep 2020 09:59:07 +0000 (11:59 +0200)]
Add 'Joomla1' password algorithm

3 years agoAdd 'Xf12' password algorithm
joshuaruesweg [Wed, 30 Sep 2020 09:56:42 +0000 (11:56 +0200)]
Add 'Xf12' password algorithm

3 years agoAdd 'Xf1' password algorithm
joshuaruesweg [Wed, 30 Sep 2020 09:54:45 +0000 (11:54 +0200)]
Add 'Xf1' password algorithm

3 years agoAdd 'Wcf2' password algorithm
joshuaruesweg [Wed, 30 Sep 2020 09:51:53 +0000 (11:51 +0200)]
Add 'Wcf2' password algorithm

3 years agoAdd 'Wcf1e' password algorithm
joshuaruesweg [Tue, 29 Sep 2020 17:19:14 +0000 (19:19 +0200)]
Add 'Wcf1e' password algorithm

3 years agoAdd 'Wcf1' password algorithm
joshuaruesweg [Tue, 29 Sep 2020 16:40:25 +0000 (18:40 +0200)]
Add 'Wcf1' password algorithm

3 years agoAdd 'Wbb2' password algorithm
joshuaruesweg [Tue, 29 Sep 2020 16:37:36 +0000 (18:37 +0200)]
Add 'Wbb2' password algorithm