GitHub/WoltLab/WCF.git
3 years agoUse `data:` URIs to load assets in WCFSetup
Tim Düsterhus [Wed, 14 Jul 2021 09:14:03 +0000 (11:14 +0200)]
Use `data:` URIs to load assets in WCFSetup

With this change the HTML responses generated by WCFSetup are completely
self-contained and do not rely on external requests.

This avoids the proxying of the assets using PHP from the temporary folder at
the expense of slightly bloating the HTML with the embedded CSS.

The total size of the HTML is 530kB before gzip and 200kB after gzip.

Resolves #4394

3 years agoMerge branch '5.4'
Tim Düsterhus [Wed, 14 Jul 2021 07:24:55 +0000 (09:24 +0200)]
Merge branch '5.4'

3 years agoRemoved a legacy condition used in the old session system
Alexander Ebert [Tue, 13 Jul 2021 15:32:34 +0000 (17:32 +0200)]
Removed a legacy condition used in the old session system

This is an old condition that dates back to the early days of the keep alive system. The condition does not work with the new session system anymore, because `lastActivityTime` is always mapped to `TIME_NOW`.

3 years agoMerge pull request #4383 from WoltLab/article_embedded
Marcel Werk [Tue, 13 Jul 2021 15:15:06 +0000 (17:15 +0200)]
Merge pull request #4383 from WoltLab/article_embedded

Fix recursively loading embedded objects in articles

3 years agoMerge pull request #4398 from WoltLab/smtp-options
Tim Düsterhus [Tue, 13 Jul 2021 14:48:05 +0000 (16:48 +0200)]
Merge pull request #4398 from WoltLab/smtp-options

Clean Up STARTTLS options

3 years agoMerge branch 'master' into smtp-options
Tim Düsterhus [Tue, 13 Jul 2021 14:44:01 +0000 (16:44 +0200)]
Merge branch 'master' into smtp-options

3 years agoMerge pull request #4346 from mutec/currencydecimals
Alexander Ebert [Tue, 13 Jul 2021 14:43:03 +0000 (16:43 +0200)]
Merge pull request #4346 from mutec/currencydecimals

support custom number of decimals in currency modifier

3 years agoSaving WebP images in GD requires a True Color palette
Alexander Ebert [Tue, 13 Jul 2021 14:31:03 +0000 (16:31 +0200)]
Saving WebP images in GD requires a True Color palette

https://stackoverflow.com/questions/39292617/fatal-error-paletter-image-not-supported-by-webp/47469726#47469726

3 years agoMerge pull request #4399 from WoltLab/mailform-captcha-option
Tim Düsterhus [Tue, 13 Jul 2021 13:27:34 +0000 (15:27 +0200)]
Merge pull request #4399 from WoltLab/mailform-captcha-option

Remove PROFILE_MAIL_USE_CAPTCHA

3 years agoActually check for TLS support in update_com.woltlab.wcf_5.5_starttls.php
Tim Düsterhus [Tue, 13 Jul 2021 12:41:12 +0000 (14:41 +0200)]
Actually check for TLS support in update_com.woltlab.wcf_5.5_starttls.php

3 years agoRemove PROFILE_MAIL_USE_CAPTCHA
Tim Düsterhus [Tue, 13 Jul 2021 09:39:50 +0000 (11:39 +0200)]
Remove PROFILE_MAIL_USE_CAPTCHA

see 67e204a044077c2ad96685386aabaf6803a61d21
see #3032
see #3151

3 years agoMerge branch '5.4'
joshuaruesweg [Tue, 13 Jul 2021 08:39:45 +0000 (10:39 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3'
joshuaruesweg [Tue, 13 Jul 2021 08:39:27 +0000 (10:39 +0200)]
Merge branch '5.3'

3 years agoUse `emailConfirmed` status to exclude unconfirmed emails
joshuaruesweg [Tue, 13 Jul 2021 08:31:43 +0000 (10:31 +0200)]
Use `emailConfirmed` status to exclude unconfirmed emails

With 5.3 we introduced the new `emailConfirmed` status to separate the status of the email and the activation status of the user. Therefore, we want to send emails to users, which emails are enabled. The user activation status is not relevant anymore for sending emails.

3 years agoMerge pull request #4397 from WoltLab/favicon-is-processed
Tim Düsterhus [Tue, 13 Jul 2021 07:32:08 +0000 (09:32 +0200)]
Merge pull request #4397 from WoltLab/favicon-is-processed

Improve Favicon handling in StyleAction

3 years agoDevtools did not work correctly under Windows
Marcel Werk [Mon, 12 Jul 2021 18:07:22 +0000 (20:07 +0200)]
Devtools did not work correctly under Windows

3 years agoIncorrect keystroke
Alexander Ebert [Mon, 12 Jul 2021 14:52:32 +0000 (16:52 +0200)]
Incorrect keystroke

3 years agoMissing `px` units for the image dimensions
Alexander Ebert [Mon, 12 Jul 2021 14:50:47 +0000 (16:50 +0200)]
Missing `px` units for the image dimensions

3 years agoMerge branch '5.4' of https://github.com/WoltLab/WCF into 5.4
Alexander Ebert [Mon, 12 Jul 2021 14:40:03 +0000 (16:40 +0200)]
Merge branch '5.4' of https://github.com/WoltLab/WCF into 5.4

3 years agoMissing cover photo in the list of articles in a footer box
Alexander Ebert [Mon, 12 Jul 2021 14:39:56 +0000 (16:39 +0200)]
Missing cover photo in the list of articles in a footer box

Replaces #4378

3 years agoRemove support for MAIL_SMTP_STARTTLS = 'may'
Tim Düsterhus [Mon, 12 Jul 2021 14:06:16 +0000 (16:06 +0200)]
Remove support for MAIL_SMTP_STARTTLS = 'may'

Resolves #4246

3 years agoMerge branch '5.4'
Tim Düsterhus [Mon, 12 Jul 2021 14:28:34 +0000 (16:28 +0200)]
Merge branch '5.4'

3 years agoUpgrade the default STARTTLS level to `encrypt`
Tim Düsterhus [Mon, 12 Jul 2021 14:27:34 +0000 (16:27 +0200)]
Upgrade the default STARTTLS level to `encrypt`

see #4246

3 years agoUpdate the default SMTP port to 587
Tim Düsterhus [Mon, 12 Jul 2021 13:55:57 +0000 (15:55 +0200)]
Update the default SMTP port to 587

25 is not meant for submission.

3 years agoExplicitly mark styles for 5.2+ as compatible with 5.4
Alexander Ebert [Mon, 12 Jul 2021 13:40:28 +0000 (15:40 +0200)]
Explicitly mark styles for 5.2+ as compatible with 5.4

3 years agoRegenerate Favicon images only when the template changes
Tim Düsterhus [Mon, 12 Jul 2021 12:55:31 +0000 (14:55 +0200)]
Regenerate Favicon images only when the template changes

3 years agoDelete manifest.json and browserconfig.xml when deleting a favicon
Tim Düsterhus [Mon, 12 Jul 2021 12:53:05 +0000 (14:53 +0200)]
Delete manifest.json and browserconfig.xml when deleting a favicon

3 years agoMerge pull request #4384 from WoltLab/cronjob_xsd
Tim Düsterhus [Mon, 12 Jul 2021 09:13:39 +0000 (11:13 +0200)]
Merge pull request #4384 from WoltLab/cronjob_xsd

Remove obsolete elements from `cronjob.xsd`

3 years agoMerge branch '5.4'
joshuaruesweg [Sun, 11 Jul 2021 16:03:42 +0000 (18:03 +0200)]
Merge branch '5.4'

3 years agoMerge pull request #4392 from WoltLab/rename-totp-field
Joshua Rüsweg [Sun, 11 Jul 2021 16:02:54 +0000 (18:02 +0200)]
Merge pull request #4392 from WoltLab/rename-totp-field

Rename TOTP code form field to `onetimecode`

3 years agosupport custom number of decimals in currency modifier
mutec [Sat, 26 Jun 2021 17:17:46 +0000 (19:17 +0200)]
support custom number of decimals in currency modifier

3 years agoRename TOTP code form field to `onetimecode`
joshuaruesweg [Sun, 11 Jul 2021 09:28:07 +0000 (11:28 +0200)]
Rename TOTP code form field to `onetimecode`

The name `code` for the form field is too generic and should be specified. `onetimecode` is a more fitting identifier for the input name. In addition, 1password fills the totp code automatically, if the field is named `onetimecode` (See https://1password.community/discussion/comment/604200/#Comment_604200).

3 years agoMerge branch '5.4'
joshuaruesweg [Sun, 11 Jul 2021 08:53:10 +0000 (10:53 +0200)]
Merge branch '5.4'

3 years agoConvert tabs to spaces
joshuaruesweg [Sun, 11 Jul 2021 08:50:15 +0000 (10:50 +0200)]
Convert tabs to spaces

3 years agoMerge branch '5.3'
joshuaruesweg [Sun, 11 Jul 2021 08:48:21 +0000 (10:48 +0200)]
Merge branch '5.3'

3 years agoMerge branch '5.2'
joshuaruesweg [Sun, 11 Jul 2021 08:34:16 +0000 (10:34 +0200)]
Merge branch '5.2'

3 years agoMerge branch '3.1'
joshuaruesweg [Sun, 11 Jul 2021 08:31:21 +0000 (10:31 +0200)]
Merge branch '3.1'

3 years agoDon't leak an account's activation status (#4365)
Sascha Greuel [Sun, 11 Jul 2021 08:24:24 +0000 (10:24 +0200)]
Don't leak an account's activation status (#4365)

* Don't leak an account's activation status

* Update wcfsetup/install/files/lib/form/RegisterNewActivationCodeForm.class.php

Co-authored-by: Tim Düsterhus <timwolla@googlemail.com>
Co-authored-by: Tim Düsterhus <timwolla@googlemail.com>
3 years agoMerge branch '5.4'
joshuaruesweg [Sat, 10 Jul 2021 09:47:04 +0000 (11:47 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3'
joshuaruesweg [Sat, 10 Jul 2021 09:44:09 +0000 (11:44 +0200)]
Merge branch '5.3'

3 years agoSet new activation code on rerequesting them
joshuaruesweg [Sat, 10 Jul 2021 09:39:33 +0000 (11:39 +0200)]
Set new activation code on rerequesting them

3 years agoMerge pull request #4389 from WoltLab/email-serialize-size
Tim Düsterhus [Fri, 9 Jul 2021 11:32:15 +0000 (13:32 +0200)]
Merge pull request #4389 from WoltLab/email-serialize-size

Reduce the size of the Mailbox objects

3 years agoReduce the size of the Mailbox objects
Tim Düsterhus [Fri, 9 Jul 2021 10:26:44 +0000 (12:26 +0200)]
Reduce the size of the Mailbox objects

This introduces a small BC break for classes inheriting from Mailbox or
UserMailbox that directly access the `language` or `user` properties instead of
the getter methods. But this is easily fixed.

Resolves #4387

3 years agoRelease 5.4.0 RC 2 5.4.0_RC_2
Alexander Ebert [Thu, 8 Jul 2021 13:38:43 +0000 (15:38 +0200)]
Release 5.4.0 RC 2

3 years agoMerge pull request #4385 from WoltLab/package-update-compat
Tim Düsterhus [Thu, 8 Jul 2021 11:33:34 +0000 (13:33 +0200)]
Merge pull request #4385 from WoltLab/package-update-compat

Do not store package compatibility from update servers within the database

3 years agoDo not store package compatibility from update servers within the database
Tim Düsterhus [Thu, 8 Jul 2021 10:31:49 +0000 (12:31 +0200)]
Do not store package compatibility from update servers within the database

These do not appear to be used anywhere and the official package servers do not
expose them either, making them effectively empty even in current versions.

see #4371

3 years agoMerge branch '5.4'
Tim Düsterhus [Thu, 8 Jul 2021 08:51:13 +0000 (10:51 +0200)]
Merge branch '5.4'

3 years agoRemove obsolete elements from `cronjob.xsd`
Matthias Schmidt [Thu, 8 Jul 2021 08:06:41 +0000 (10:06 +0200)]
Remove obsolete elements from `cronjob.xsd`

These elements are no longer (if ever) used.

3 years agoFix recursively loading embedded objects in articles
Matthias Schmidt [Thu, 8 Jul 2021 07:36:37 +0000 (09:36 +0200)]
Fix recursively loading embedded objects in articles

Close #4382
See 3af7b77d40ed93c95cebb22004ab745bf69683e2

3 years agoAdd update_com.woltlab.wcf_5.4_styleCoverPhoto.php to package.xml
Tim Düsterhus [Thu, 8 Jul 2021 07:25:39 +0000 (09:25 +0200)]
Add update_com.woltlab.wcf_5.4_styleCoverPhoto.php to package.xml

3 years agoDo not use the cache in update_com.woltlab.wcf_5.4_styleCoverPhoto.php
Tim Düsterhus [Thu, 8 Jul 2021 07:25:20 +0000 (09:25 +0200)]
Do not use the cache in update_com.woltlab.wcf_5.4_styleCoverPhoto.php

3 years agoFix variable name in `ViewableArticleContentList::readObjects()`
Matthias Schmidt [Thu, 8 Jul 2021 06:50:43 +0000 (08:50 +0200)]
Fix variable name in `ViewableArticleContentList::readObjects()`

3 years agoDo not block matching abbreviation if the package is the same
Alexander Ebert [Wed, 7 Jul 2021 16:16:32 +0000 (18:16 +0200)]
Do not block matching abbreviation if the package is the same

The previous code would block the installation of an update of the same package.

Fix for #4357

3 years agoRelease 5.4.0 RC 2
Alexander Ebert [Wed, 7 Jul 2021 15:58:23 +0000 (17:58 +0200)]
Release 5.4.0 RC 2

3 years agoUpdating minified JavaScript files
WoltLab [Wed, 7 Jul 2021 15:41:36 +0000 (15:41 +0000)]
Updating minified JavaScript files

3 years agoImproved the visuals of the list of MFA options
Alexander Ebert [Wed, 7 Jul 2021 15:14:55 +0000 (17:14 +0200)]
Improved the visuals of the list of MFA options

The content is now vertically centered and the somewhat tiny smartphone icon is enlarged to better match the other icons.

3 years agoUse `<small>` instead of `<p class="small">`
Alexander Ebert [Wed, 7 Jul 2021 15:08:28 +0000 (17:08 +0200)]
Use `<small>` instead of `<p class="small">`

3 years agoAvoid use of escapeString() in UserNotificationEventAction
Tim Düsterhus [Wed, 7 Jul 2021 13:42:15 +0000 (15:42 +0200)]
Avoid use of escapeString() in UserNotificationEventAction

This part of the code appears to be completely unused, but the same logic can
be found in UserNotificationEventPackageInstallationPlugin, so it should be
correct.

3 years agoMerge pull request #4371 from WoltLab/api-compat-no-store
Tim Düsterhus [Wed, 7 Jul 2021 12:08:39 +0000 (14:08 +0200)]
Merge pull request #4371 from WoltLab/api-compat-no-store

Do not store API compatibility information within the database

3 years agoMerge pull request #4381 from WoltLab/gzopen64
Tim Düsterhus [Wed, 7 Jul 2021 12:07:57 +0000 (14:07 +0200)]
Merge pull request #4381 from WoltLab/gzopen64

Remove gzopen64() workaround

3 years agoRemove gzopen64() workaround
Tim Düsterhus [Wed, 7 Jul 2021 11:56:29 +0000 (13:56 +0200)]
Remove gzopen64() workaround

PHP bug #53829 (https://bugs.php.net/bug.php?id=53829) is fixed. This should no
longer be required.

3 years agoMark wcf1_package_compatibility as deprecated in install.sql
Tim Düsterhus [Wed, 7 Jul 2021 11:45:11 +0000 (13:45 +0200)]
Mark wcf1_package_compatibility as deprecated in install.sql

3 years agoRemove list of compatible API versions in PackagePage
Tim Düsterhus [Tue, 6 Jul 2021 12:41:34 +0000 (14:41 +0200)]
Remove list of compatible API versions in PackagePage

3 years agoClear wcf1_package_compatibility when upgrading to 5.5
Tim Düsterhus [Tue, 6 Jul 2021 12:30:14 +0000 (14:30 +0200)]
Clear wcf1_package_compatibility when upgrading to 5.5

3 years agoDo not store API compatibility information within the database
Tim Düsterhus [Mon, 5 Jul 2021 14:17:49 +0000 (16:17 +0200)]
Do not store API compatibility information within the database

These are automatically converted into an exclude of Core 6.0.0 Alpha 1 in
PackageArchive and thus redundant.

3 years agoMerge branch '5.4'
Matthias Schmidt [Wed, 7 Jul 2021 10:49:58 +0000 (12:49 +0200)]
Merge branch '5.4'

3 years agoFix `this` value for `Core.enableLegacyInheritance()` (#4380)
Matthias Schmidt [Wed, 7 Jul 2021 10:48:12 +0000 (12:48 +0200)]
Fix `this` value for `Core.enableLegacyInheritance()` (#4380)

Without explicitly binding `this` to `thisValue`, it will be `constructed` resulting in missing data only present in `thisValue`.

3 years agoMerge branch '5.4'
Matthias Schmidt [Wed, 7 Jul 2021 08:25:44 +0000 (10:25 +0200)]
Merge branch '5.4'

3 years agoExplicitly show error message if import queue is empty
Matthias Schmidt [Wed, 7 Jul 2021 08:25:33 +0000 (10:25 +0200)]
Explicitly show error message if import queue is empty

Close #3804
See #4379

3 years agoMerge branch '5.4'
Matthias Schmidt [Wed, 7 Jul 2021 07:06:09 +0000 (09:06 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Matthias Schmidt [Wed, 7 Jul 2021 07:05:42 +0000 (09:05 +0200)]
Merge branch '5.3' into 5.4

3 years agoFix reading value of `CheckboxFormField`
Matthias Schmidt [Wed, 7 Jul 2021 07:01:14 +0000 (09:01 +0200)]
Fix reading value of `CheckboxFormField`

In contrast to `BooleanFormField` for which an explicit "no" input field exists, a normal checkbox does not submit any data if no checked.

3 years agoMerge pull request #4376 from WoltLab/rebuild-active-app
Tim Düsterhus [Tue, 6 Jul 2021 12:56:59 +0000 (14:56 +0200)]
Merge pull request #4376 from WoltLab/rebuild-active-app

Remove the need to rebuild the active application

3 years agoMerge branch '5.4' of https://github.com/WoltLab/WCF into 5.4
Alexander Ebert [Tue, 6 Jul 2021 12:47:11 +0000 (14:47 +0200)]
Merge branch '5.4' of https://github.com/WoltLab/WCF into 5.4

3 years agoIncorrect type cast to `number`
Alexander Ebert [Tue, 6 Jul 2021 12:47:03 +0000 (14:47 +0200)]
Incorrect type cast to `number`

3 years agoFix conversion of `Dictionary` to `Map` in `Acp/Ui/Menu/Item/Handler`
Matthias Schmidt [Tue, 6 Jul 2021 12:34:01 +0000 (14:34 +0200)]
Fix conversion of `Dictionary` to `Map` in `Acp/Ui/Menu/Item/Handler`

See 2727575fbe8a2ca2fe4a19288c7a982969170882

3 years agoSearch for articles toggled the incorrect container
Alexander Ebert [Tue, 6 Jul 2021 12:33:14 +0000 (14:33 +0200)]
Search for articles toggled the incorrect container

3 years agoExplicitly delete obsolete style logo description phrases
Matthias Schmidt [Tue, 6 Jul 2021 12:26:22 +0000 (14:26 +0200)]
Explicitly delete obsolete style logo description phrases

See dcb0fe8ec9560f4a7905d9fd1241bc72d1a5c337

3 years agoMerge branch '5.4'
Matthias Schmidt [Tue, 6 Jul 2021 12:24:24 +0000 (14:24 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Matthias Schmidt [Tue, 6 Jul 2021 12:24:10 +0000 (14:24 +0200)]
Merge branch '5.3' into 5.4

3 years agoRemove obsolete style logo upload field descriptions
Matthias Schmidt [Tue, 6 Jul 2021 12:23:51 +0000 (14:23 +0200)]
Remove obsolete style logo upload field descriptions

See #3456

3 years agoMerge pull request #4375 from WoltLab/controller-workaround
Tim Düsterhus [Tue, 6 Jul 2021 11:52:40 +0000 (13:52 +0200)]
Merge pull request #4375 from WoltLab/controller-workaround

Remove old workaround for the upgrade from 2.1 to 3.0

3 years agoMerge pull request #4370 from WoltLab/devtools-api-compat
Tim Düsterhus [Tue, 6 Jul 2021 11:47:30 +0000 (13:47 +0200)]
Merge pull request #4370 from WoltLab/devtools-api-compat

Remove support for the API compatibility tags from dev tools

3 years agoMerge branch '5.4'
Marcel Werk [Tue, 6 Jul 2021 11:15:10 +0000 (13:15 +0200)]
Merge branch '5.4'

3 years agoFixed missing language version for embedded articles
Marcel Werk [Tue, 6 Jul 2021 11:08:46 +0000 (13:08 +0200)]
Fixed missing language version for embedded articles

3 years agoUse temporary variables for `Request` objects in FontManager
Tim Düsterhus [Tue, 6 Jul 2021 10:49:19 +0000 (12:49 +0200)]
Use temporary variables for `Request` objects in FontManager

This is for consistency with other code sending HTTP requests and to shorten
the lines, as one of them exceeded 120 characters.

3 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 6 Jul 2021 10:49:01 +0000 (12:49 +0200)]
Merge branch '5.4'

3 years agoMerge remote-tracking branch 'origin/5.4' into 5.4
Tim Düsterhus [Tue, 6 Jul 2021 10:48:04 +0000 (12:48 +0200)]
Merge remote-tracking branch 'origin/5.4' into 5.4

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Tue, 6 Jul 2021 10:47:52 +0000 (12:47 +0200)]
Merge branch '5.3' into 5.4

3 years agoAdd missing encoding of `$family` in font download requests
Tim Düsterhus [Tue, 6 Jul 2021 10:46:01 +0000 (12:46 +0200)]
Add missing encoding of `$family` in font download requests

3 years agoRemove the need to rebuild the active application
Tim Düsterhus [Tue, 6 Jul 2021 10:11:09 +0000 (12:11 +0200)]
Remove the need to rebuild the active application

Calculating this value live does not come with a relevant performance loss and
simplifies the request handling logic.

3 years agoSimplify extraction of abbreviation for active application check
Tim Düsterhus [Tue, 6 Jul 2021 10:04:55 +0000 (12:04 +0200)]
Simplify extraction of abbreviation for active application check

3 years agoMerge branch '5.4'
Matthias Schmidt [Tue, 6 Jul 2021 09:42:44 +0000 (11:42 +0200)]
Merge branch '5.4'

3 years agoAdd missing since tag for `User::requiresMultifactor()`
Matthias Schmidt [Tue, 6 Jul 2021 09:42:35 +0000 (11:42 +0200)]
Add missing since tag for `User::requiresMultifactor()`

3 years agoMove call to `checkAppEvaluation()` into `handle()`
Tim Düsterhus [Tue, 6 Jul 2021 09:34:17 +0000 (11:34 +0200)]
Move call to `checkAppEvaluation()` into `handle()`

It fits better here to cleanly separate the handling from the building. No
behavioral change was found.

3 years agoMove the check for expired app evaluations into a dedicated method
Tim Düsterhus [Tue, 6 Jul 2021 09:32:06 +0000 (11:32 +0200)]
Move the check for expired app evaluations into a dedicated method

3 years agoMake the evaluation check independent of local variables
Tim Düsterhus [Tue, 6 Jul 2021 09:30:33 +0000 (11:30 +0200)]
Make the evaluation check independent of local variables

3 years agoSimplify extraction of abbreviation for evaluation check
Tim Düsterhus [Tue, 6 Jul 2021 09:29:44 +0000 (11:29 +0200)]
Simplify extraction of abbreviation for evaluation check

3 years agoAdd `@since` to RequestHandler::checkOfflineMode()
Tim Düsterhus [Tue, 6 Jul 2021 09:29:14 +0000 (11:29 +0200)]
Add `@since` to RequestHandler::checkOfflineMode()

see 60fff547e76067211270f9f5eb7da9f257f847fc

3 years agoMove the check for offline mode into a dedicated method
Tim Düsterhus [Tue, 6 Jul 2021 09:19:37 +0000 (11:19 +0200)]
Move the check for offline mode into a dedicated method