diff options
author | Martial Saunois <saunois.martial@gmail.com> | 2014-01-26 18:46:09 +0100 |
---|---|---|
committer | Martial Saunois <saunois.martial@gmail.com> | 2014-01-26 18:46:09 +0100 |
commit | c2ed8d5aa111ac537cf37bbf0d60fd503a62c24a (patch) | |
tree | 584173929fdd7ef9a8ad4250a586179193782c23 | |
parent | d94c9bc8daa2e6d02f92646383519f70bb47cff0 (diff) | |
download | nextcloud-server-c2ed8d5aa111ac537cf37bbf0d60fd503a62c24a.tar.gz nextcloud-server-c2ed8d5aa111ac537cf37bbf0d60fd503a62c24a.zip |
New user agent added for the Freebox.
The Freebox is the multimedia device of a french Internet provider: Free. This device provides a seedbox which uses the user agent "Mozilla/5.0". In the "Content-Disposition" header, if the "filename" key is used with the "filename*=UTF-8''" value, the seedbox does not take care about the header and saves the file name with the origin URL. This patch brings the support for the Freebox users.
-rwxr-xr-x | lib/private/request.php | 1 | ||||
-rw-r--r-- | lib/private/response.php | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/private/request.php b/lib/private/request.php index d9d5ae08e28..855148ac25a 100755 --- a/lib/private/request.php +++ b/lib/private/request.php @@ -11,6 +11,7 @@ class OC_Request { const USER_AGENT_IE = '/MSIE/'; // Android Chrome user agent: https://developers.google.com/chrome/mobile/docs/user-agent const USER_AGENT_ANDROID_MOBILE_CHROME = '#Android.*Chrome/[.0-9]*#'; + const USER_AGENT_FREEBOX = '#Mozilla/5\.0$#'; /** * @brief Check overwrite condition diff --git a/lib/private/response.php b/lib/private/response.php index 04746437347..52dbb9d90f8 100644 --- a/lib/private/response.php +++ b/lib/private/response.php @@ -153,7 +153,11 @@ class OC_Response { * @param string $type disposition type, either 'attachment' or 'inline' */ static public function setContentDispositionHeader( $filename, $type = 'attachment' ) { - if (OC_Request::isUserAgent(array(OC_Request::USER_AGENT_IE, OC_Request::USER_AGENT_ANDROID_MOBILE_CHROME))) { + if (OC_Request::isUserAgent(array( + OC_Request::USER_AGENT_IE, + OC_Request::USER_AGENT_ANDROID_MOBILE_CHROME, + OC_Request::USER_AGENT_FREEBOX + ))) { header( 'Content-Disposition: ' . rawurlencode($type) . '; filename="' . rawurlencode( $filename ) . '"' ); } else { header( 'Content-Disposition: ' . rawurlencode($type) . '; filename*=UTF-8\'\'' . rawurlencode( $filename ) |