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:
parent
d94c9bc8da
commit
c2ed8d5aa1
|
@ -11,6 +11,7 @@ class OC_Request {
|
||||||
const USER_AGENT_IE = '/MSIE/';
|
const USER_AGENT_IE = '/MSIE/';
|
||||||
// Android Chrome user agent: https://developers.google.com/chrome/mobile/docs/user-agent
|
// 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_ANDROID_MOBILE_CHROME = '#Android.*Chrome/[.0-9]*#';
|
||||||
|
const USER_AGENT_FREEBOX = '#Mozilla/5\.0$#';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Check overwrite condition
|
* @brief Check overwrite condition
|
||||||
|
|
|
@ -153,7 +153,11 @@ class OC_Response {
|
||||||
* @param string $type disposition type, either 'attachment' or 'inline'
|
* @param string $type disposition type, either 'attachment' or 'inline'
|
||||||
*/
|
*/
|
||||||
static public function setContentDispositionHeader( $filename, $type = 'attachment' ) {
|
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 ) . '"' );
|
header( 'Content-Disposition: ' . rawurlencode($type) . '; filename="' . rawurlencode( $filename ) . '"' );
|
||||||
} else {
|
} else {
|
||||||
header( 'Content-Disposition: ' . rawurlencode($type) . '; filename*=UTF-8\'\'' . rawurlencode( $filename )
|
header( 'Content-Disposition: ' . rawurlencode($type) . '; filename*=UTF-8\'\'' . rawurlencode( $filename )
|
||||||
|
|
Loading…
Reference in New Issue