From c2ed8d5aa111ac537cf37bbf0d60fd503a62c24a Mon Sep 17 00:00:00 2001
From: Martial Saunois <saunois.martial@gmail.com>
Date: Sun, 26 Jan 2014 18:46:09 +0100
Subject: [PATCH] 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.
---
 lib/private/request.php  | 1 +
 lib/private/response.php | 6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/lib/private/request.php b/lib/private/request.php
index d9d5ae08e2..855148ac25 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 0474643734..52dbb9d90f 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 )
-- 
GitLab