GitHub/WoltLab/WCF.git
4 years agoMissing link target causes buttons to be unresponsive in some touch browers
Alexander Ebert [Fri, 18 Sep 2020 15:02:47 +0000 (17:02 +0200)]
Missing link target causes buttons to be unresponsive in some touch browers

4 years agoPrevent Android from collapsing the keyboard on [Enter]
Tim Düsterhus [Tue, 8 Sep 2020 07:43:31 +0000 (09:43 +0200)]
Prevent Android from collapsing the keyboard on [Enter]

Somehow the linkify redactor plugin causes Android to collapse the on-screen
keyboard if a new line is entered.

This plugin was already removed for 5.2 in commit 19af26fc22bc31d699db6021dee2eda1d23b8a14,
so let's effectively disable it for 3.1 as well.

see https://community.woltlab.com/thread/285573-wsc-3-1-17-smartphone-tastatur-schlie%C3%9Ft-sich-unbeabsichtigt/?postID=1816848#post1816848

4 years agoIncorrect calculation of the last 2 digits of the year
Alexander Ebert [Wed, 2 Sep 2020 13:47:34 +0000 (15:47 +0200)]
Incorrect calculation of the last 2 digits of the year

Fixes #3547

4 years agoRelease 3.1.17 3.1.17
Alexander Ebert [Fri, 28 Aug 2020 11:09:35 +0000 (13:09 +0200)]
Release 3.1.17

4 years agoUpdating minified JavaScript files
woltlab.com [Wed, 26 Aug 2020 13:29:47 +0000 (13:29 +0000)]
Updating minified JavaScript files

4 years agoRemove fullscreen mode in template diff
joshuaruesweg [Sat, 22 Aug 2020 14:26:44 +0000 (16:26 +0200)]
Remove fullscreen mode in template diff
The fullscreen mode does not have any advantage at this point because the diff is also displayed with a height of 700px (just like without fullscreen mode).

4 years agoImproved visuals of the fullscreen template comparison
Alexander Ebert [Sat, 22 Aug 2020 13:35:42 +0000 (15:35 +0200)]
Improved visuals of the fullscreen template comparison

Fixes #3473

4 years agoFix trophy icon size in badges on groupedUserTrophyList
joshuaruesweg [Sat, 22 Aug 2020 12:22:21 +0000 (14:22 +0200)]
Fix trophy icon size in badges on groupedUserTrophyList

4 years agoAdjusted appearance of the "sign in with google" button
Marcel Werk [Fri, 21 Aug 2020 15:42:29 +0000 (17:42 +0200)]
Adjusted appearance of the "sign in with google" button

4 years agoReopened dialogs were hidden behind new dialogs
Alexander Ebert [Fri, 21 Aug 2020 11:43:04 +0000 (13:43 +0200)]
Reopened dialogs were hidden behind new dialogs

4 years agoMerge pull request #3500 from Krymonota/patch-12
Alexander Ebert [Thu, 13 Aug 2020 11:31:16 +0000 (13:31 +0200)]
Merge pull request #3500 from Krymonota/patch-12

Add missing phrases to English 3rd party register language items

4 years agoPrevent username overflow in the message sidebar
Marcel Werk [Wed, 12 Aug 2020 16:22:37 +0000 (18:22 +0200)]
Prevent username overflow in the message sidebar

4 years agoPrevent changes to the showOrder setting of system boxes during an update
Marcel Werk [Wed, 12 Aug 2020 15:51:25 +0000 (17:51 +0200)]
Prevent changes to the showOrder setting of system boxes during an update

4 years agoPrevent changes to the visibility settings of system boxes during an update/upgrade
Alexander Ebert [Wed, 29 Jan 2020 13:38:56 +0000 (14:38 +0100)]
Prevent changes to the visibility settings of system boxes during an update/upgrade

4 years agoAdd missing phrases to English 3rd party register language items
Niklas [Tue, 11 Aug 2020 16:16:41 +0000 (18:16 +0200)]
Add missing phrases to English 3rd party register language items

4 years agoMerge pull request #3466 from Sir-Will/patch-1
Marcel Werk [Wed, 5 Aug 2020 16:49:12 +0000 (18:49 +0200)]
Merge pull request #3466 from Sir-Will/patch-1

Fixes exception when not using primary PayPal email

4 years agoFix PHP 5.5 compatibility
Tim Düsterhus [Wed, 5 Aug 2020 14:17:16 +0000 (16:17 +0200)]
Fix PHP 5.5 compatibility

see b044815dd9b6509fc44219684d7076cd28a80aa6
see #3480

4 years agoVerify if business argument is set in PayPal callback
Sir-Will [Wed, 5 Aug 2020 13:51:26 +0000 (15:51 +0200)]
Verify if business argument is set in PayPal callback

4 years agoMerge pull request #3462 from SoftCreatR/patch-14
Alexander Ebert [Wed, 5 Aug 2020 10:56:18 +0000 (12:56 +0200)]
Merge pull request #3462 from SoftCreatR/patch-14

Add detection for Chromium based Edge browser

4 years agoDo not decrement wcf1_user.articles when deleting unpublished articles
Tim Düsterhus [Wed, 5 Aug 2020 10:05:08 +0000 (12:05 +0200)]
Do not decrement wcf1_user.articles when deleting unpublished articles

see b044815dd9b6509fc44219684d7076cd28a80aa6
see #3480

4 years agoUpdate wcf1_user.articles when deleting articles
Tim Düsterhus [Wed, 5 Aug 2020 09:58:13 +0000 (11:58 +0200)]
Update wcf1_user.articles when deleting articles

Fixes #3480

4 years agoAdded detection for Chromium based Edge browser
Sascha Greuel [Sun, 26 Jul 2020 15:19:00 +0000 (17:19 +0200)]
Added detection for Chromium based Edge browser

4 years agoFix updating `requireObjectID` for existing pages
joshuaruesweg [Mon, 3 Aug 2020 16:12:07 +0000 (18:12 +0200)]
Fix updating `requireObjectID` for existing pages

4 years agoInclude PayPal business email in exception
Sir-Will [Tue, 28 Jul 2020 17:09:30 +0000 (19:09 +0200)]
Include PayPal business email in exception

4 years agoFixes exception when not using primary PayPal email
Sir-Will [Tue, 28 Jul 2020 00:57:32 +0000 (02:57 +0200)]
Fixes exception when not using primary PayPal email

PayPal allows adding multiple emails, if you are using one of the alternative emails instead of the primary email then WoltLab will throw the exception.
The `receiver_email` is always the primary email while `business` is the secondary in the IPN.

4 years agoMoved the remark on the cleanup script
Alexander Ebert [Sat, 18 Jul 2020 13:29:14 +0000 (15:29 +0200)]
Moved the remark on the cleanup script

4 years agoMerge pull request #3450 from WoltLab/cms-embedded-object-remove
Alexander Ebert [Sat, 18 Jul 2020 13:28:13 +0000 (15:28 +0200)]
Merge pull request #3450 from WoltLab/cms-embedded-object-remove

Removed embedded object references when deleting articles / pages

4 years agoAdd update_com.woltlab.wcf_embeddedObjectOrphans.php
Tim Düsterhus [Fri, 17 Jul 2020 12:12:28 +0000 (14:12 +0200)]
Add update_com.woltlab.wcf_embeddedObjectOrphans.php

4 years agoAdd note about deletion of orphaned embedded objects
Tim Düsterhus [Fri, 17 Jul 2020 09:36:44 +0000 (11:36 +0200)]
Add note about deletion of orphaned embedded objects

see #3429

4 years agoRemove embedded object references when deleting pages
Tim Düsterhus [Fri, 17 Jul 2020 09:32:27 +0000 (11:32 +0200)]
Remove embedded object references when deleting pages

see #3429

4 years agoRemove embedded object references when deleting articles
Tim Düsterhus [Fri, 17 Jul 2020 09:25:24 +0000 (11:25 +0200)]
Remove embedded object references when deleting articles

see #3429

4 years agoFix PHP 5.5 compatibility
Tim Düsterhus [Thu, 16 Jul 2020 09:25:48 +0000 (11:25 +0200)]
Fix PHP 5.5 compatibility

4 years agoFix copy and paste bug
Tim Düsterhus [Thu, 16 Jul 2020 09:24:05 +0000 (11:24 +0200)]
Fix copy and paste bug

see 3cd8f5f63c1327c1534a4e24908b3e49d4074871

4 years agoProperly update page search index when editing
Tim Düsterhus [Thu, 16 Jul 2020 08:41:09 +0000 (10:41 +0200)]
Properly update page search index when editing

see #3430

4 years agoProperly update article search index when editing
Tim Düsterhus [Thu, 16 Jul 2020 08:40:38 +0000 (10:40 +0200)]
Properly update article search index when editing

see #3430

4 years agoImproved detection of the links to twitch's clips
Marcel Werk [Tue, 14 Jul 2020 17:09:26 +0000 (19:09 +0200)]
Improved detection of the links to twitch's clips

4 years agoRelease 3.1.16 3.1.16
Alexander Ebert [Mon, 13 Jul 2020 10:59:02 +0000 (12:59 +0200)]
Release 3.1.16

4 years agoPrevent Chromium browser form injecting base64 encoded images
Alexander Ebert [Thu, 9 Jul 2020 19:08:44 +0000 (21:08 +0200)]
Prevent Chromium browser form injecting base64 encoded images

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 #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 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 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 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 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 agoHide empty tag box on tagged page
Matthias Schmidt [Sun, 28 Jun 2020 12:35:35 +0000 (14:35 +0200)]
Hide empty tag box on tagged page

4 years agoRelease 3.1.15 3.1.15
Alexander Ebert [Sat, 27 Jun 2020 10:54:23 +0000 (12:54 +0200)]
Release 3.1.15

4 years agoUpdating minified JavaScript files
woltlab.com [Sat, 27 Jun 2020 09:58:45 +0000 (09:58 +0000)]
Updating minified JavaScript files

4 years agoMerge branch '3.0' into 3.1
Alexander Ebert [Sat, 27 Jun 2020 09:56:53 +0000 (11:56 +0200)]
Merge branch '3.0' into 3.1

4 years agoPreparing the release 3.0.25 3.0.25
Alexander Ebert [Sat, 27 Jun 2020 09:52:48 +0000 (11:52 +0200)]
Preparing the release 3.0.25

4 years agoRevert "Preparing the release 3.1.15"
Alexander Ebert [Sat, 27 Jun 2020 09:51:15 +0000 (11:51 +0200)]
Revert "Preparing the release 3.1.15"

This reverts commit bd4d9de5fc28d17643c109fc87ae88f2d9265817.

4 years agoPreparing the release 3.1.15
Alexander Ebert [Sat, 27 Jun 2020 09:50:30 +0000 (11:50 +0200)]
Preparing the release 3.1.15

4 years agoIncorrect encoding of conditions
Alexander Ebert [Sat, 27 Jun 2020 09:41:29 +0000 (11:41 +0200)]
Incorrect encoding of conditions

4 years agoMerge branch '3.0' into 3.1
Alexander Ebert [Sat, 27 Jun 2020 09:40:49 +0000 (11:40 +0200)]
Merge branch '3.0' into 3.1

4 years agoIncorrect encoding of conditions
Alexander Ebert [Sat, 27 Jun 2020 09:39:05 +0000 (11:39 +0200)]
Incorrect encoding of conditions

4 years agoFixed 'data too long for column username' issue
Marcel Werk [Thu, 25 Jun 2020 09:03:06 +0000 (11:03 +0200)]
Fixed 'data too long for column username' issue

4 years agoArticle image did not always have the right content language
Marcel Werk [Tue, 23 Jun 2020 15:37:07 +0000 (17:37 +0200)]
Article image did not always have the right content language

4 years agoFixed 'Prepared statement contains too many placeholders' error in bulk processing
Marcel Werk [Tue, 23 Jun 2020 10:03:01 +0000 (12:03 +0200)]
Fixed 'Prepared statement contains too many placeholders' error in bulk processing

4 years agoMessage with the content "0" led to empty entries in recent activities
Marcel Werk [Mon, 22 Jun 2020 22:02:56 +0000 (00:02 +0200)]
Message with the content "0" led to empty entries in recent activities

4 years agoMerge pull request #3368 from WoltLab/twitch-bbcode-fix
Marcel Werk [Mon, 15 Jun 2020 16:22:59 +0000 (18:22 +0200)]
Merge pull request #3368 from WoltLab/twitch-bbcode-fix

Fixed broken twitch bbcode

4 years agoApplied code suggestions
Marcel Werk [Mon, 15 Jun 2020 16:14:40 +0000 (18:14 +0200)]
Applied code suggestions

4 years agoFixed broken twitch bbcode
Marcel Werk [Sun, 14 Jun 2020 16:32:26 +0000 (18:32 +0200)]
Fixed broken twitch bbcode

Embedding now requires the new 'parent' parameter

4 years agoFix sitemaps added multiple times in index file
joshuaruesweg [Thu, 11 Jun 2020 19:06:06 +0000 (21:06 +0200)]
Fix sitemaps added multiple times in index file

4 years agoFixed bug with multiple comment widgets on a single page
Marcel Werk [Wed, 10 Jun 2020 18:10:23 +0000 (20:10 +0200)]
Fixed bug with multiple comment widgets on a single page

4 years agoTypo
Alexander Ebert [Tue, 9 Jun 2020 12:08:14 +0000 (14:08 +0200)]
Typo

4 years agoTemplate event for reported user profiles
Alexander Ebert [Wed, 3 Jun 2020 16:18:01 +0000 (18:18 +0200)]
Template event for reported user profiles

4 years agoMerge branch '3.0' into 3.1
Tim Düsterhus [Wed, 3 Jun 2020 10:19:11 +0000 (12:19 +0200)]
Merge branch '3.0' into 3.1

4 years agoMerge pull request #3342 from Krymonota/remove-obsolete-user-signature-properties
Tim Düsterhus [Tue, 2 Jun 2020 17:02:42 +0000 (19:02 +0200)]
Merge pull request #3342 from Krymonota/remove-obsolete-user-signature-properties

Remove obsolete signature properties documentation

4 years agoRemove obsolete signature properties documentation
Niklas (Krymonota) [Sat, 30 May 2020 17:31:46 +0000 (19:31 +0200)]
Remove obsolete signature properties documentation

See bc7adcda6be815367889eaa8cdecf851119009e4 and 291e9fe55c71023bdf3f18565be1c3ae098f77c6

4 years agoImproved notifications for expiring paid subscriptions
Marcel Werk [Fri, 29 May 2020 18:49:30 +0000 (20:49 +0200)]
Improved notifications for expiring paid subscriptions

4 years agoMerge pull request #3337 from Krymonota/patch-10
Alexander Ebert [Tue, 26 May 2020 21:59:58 +0000 (23:59 +0200)]
Merge pull request #3337 from Krymonota/patch-10

Log invalid receiver email in PayPal callback

4 years agoFixed issue caused by an invalid default value for date user options
Marcel Werk [Tue, 26 May 2020 10:32:45 +0000 (12:32 +0200)]
Fixed issue caused by an invalid default value for date user options

4 years agoRemove font-size from trophy images
joshuaruesweg [Tue, 26 May 2020 09:29:07 +0000 (11:29 +0200)]
Remove font-size from trophy images

4 years agoAdd missing long class for user trophy description
joshuaruesweg [Tue, 26 May 2020 09:10:37 +0000 (11:10 +0200)]
Add missing long class for user trophy description

4 years agoFix symlink issue during synchronisation of file pip
joshuaruesweg [Tue, 26 May 2020 09:01:11 +0000 (11:01 +0200)]
Fix symlink issue during synchronisation of file pip

4 years agoLog invalid receiver email in PayPal callback
Niklas (Krymonota) [Mon, 25 May 2020 15:43:08 +0000 (17:43 +0200)]
Log invalid receiver email in PayPal callback

This adjustment should make it easier for administrators to identify the cause of this exception.

4 years agoIncorrect import in PHP 5.5
Alexander Ebert [Sun, 24 May 2020 19:38:15 +0000 (21:38 +0200)]
Incorrect import in PHP 5.5

4 years agoIgnore tainted apps for the landing page
Alexander Ebert [Sun, 24 May 2020 19:26:59 +0000 (21:26 +0200)]
Ignore tainted apps for the landing page

See #3332

4 years agoBackport of CVE-2019-11358
Alexander Ebert [Sat, 23 May 2020 20:12:44 +0000 (22:12 +0200)]
Backport of CVE-2019-11358

4 years agoMerge branch '3.0' into 3.1
Alexander Ebert [Sat, 23 May 2020 20:11:16 +0000 (22:11 +0200)]
Merge branch '3.0' into 3.1

4 years agoBackport of CVE-2019-11358
Alexander Ebert [Sat, 23 May 2020 20:10:54 +0000 (22:10 +0200)]
Backport of CVE-2019-11358

See #3159

4 years agoFixed wrong cli command
Marcel Werk [Sat, 23 May 2020 17:37:45 +0000 (19:37 +0200)]
Fixed wrong cli command

4 years agoMerge branch 'Krymonota-fix-en-interval-full-past-insentence' into 3.1
Tim Düsterhus [Thu, 21 May 2020 23:50:19 +0000 (01:50 +0200)]
Merge branch 'Krymonota-fix-en-interval-full-past-insentence' into 3.1

4 years agoRemove unnecessary conditions in wcf.date.interval.full.past.inSentence
Niklas [Thu, 21 May 2020 23:37:54 +0000 (01:37 +0200)]
Remove unnecessary conditions in wcf.date.interval.full.past.inSentence

4 years agoFix day in wcf.date.interval.full.past.inSentence
Niklas [Fri, 24 Jan 2020 16:30:31 +0000 (17:30 +0100)]
Fix day in wcf.date.interval.full.past.inSentence

e. g. "day, an hour and 49 minutes ago" -> "a day, an hour and 49 minutes ago"

Closes #3142

4 years agoImplement StringUtil::getRandomID() using PasswordUtil::getRandomPassword()
Tim Düsterhus [Wed, 20 May 2020 13:05:54 +0000 (15:05 +0200)]
Implement StringUtil::getRandomID() using PasswordUtil::getRandomPassword()

see 2ca6835c56fd478b8a685bcf2be72245a8231c37
Closes #3262

4 years agoFix column classes in menuList template (#3313)
Niklas [Sun, 17 May 2020 15:16:39 +0000 (17:16 +0200)]
Fix column classes in menuList template (#3313)

4 years agoFix column classes in boxList template (#3312)
Niklas [Sun, 17 May 2020 15:15:46 +0000 (17:15 +0200)]
Fix column classes in boxList template (#3312)

* Fix ID column name in boxList.tpl

* Add missing columnID class

4 years agoMerge pull request #3306 from WoltLab/editorconfig
Joshua Rüsweg [Sun, 17 May 2020 14:17:10 +0000 (16:17 +0200)]
Merge pull request #3306 from WoltLab/editorconfig

Add .editorconfig file

4 years agoAdd .editorconfig file
joshuaruesweg [Fri, 15 May 2020 15:05:52 +0000 (17:05 +0200)]
Add .editorconfig file

4 years agoerrors while executing cronjobs were missing in the global error log
Marcel Werk [Thu, 14 May 2020 18:44:28 +0000 (20:44 +0200)]
errors while executing cronjobs were missing in the global error log

4 years agoFix typo in CustomOption PHPDoc (#3303)
Niklas [Tue, 12 May 2020 14:38:36 +0000 (16:38 +0200)]
Fix typo in CustomOption PHPDoc (#3303)

4 years agoDeploy the cleanup script first 3.1.14
Alexander Ebert [Sun, 10 May 2020 19:56:13 +0000 (21:56 +0200)]
Deploy the cleanup script first

4 years agoUpdating minified JavaScript files
woltlab.com [Sun, 10 May 2020 18:33:15 +0000 (18:33 +0000)]
Updating minified JavaScript files

4 years agoRelease 3.1.14
Alexander Ebert [Sun, 10 May 2020 18:31:43 +0000 (20:31 +0200)]
Release 3.1.14

4 years agoForced redeployment of some files
Alexander Ebert [Sun, 10 May 2020 18:25:21 +0000 (20:25 +0200)]
Forced redeployment of some files

4 years agoMerge pull request #3293 from WoltLab/filereader-filename
Alexander Ebert [Fri, 8 May 2020 18:06:18 +0000 (20:06 +0200)]
Merge pull request #3293 from WoltLab/filereader-filename

Fix charset of the 'filename' field within the Content-disposition he…