mirror of
https://github.com/nextcloud/server.git
synced 2026-03-04 18:28:08 +01:00
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.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 )
|
||||
|
||||
Reference in New Issue
Block a user