From db3d563e3f02f7393895ddae758d4eabceb7cd18 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 23 Jun 2015 07:45:18 +0200 Subject: [PATCH] do not use mimetype delivered by server if overrideMimeType is set --- op/op.AddDocument.php | 5 +++++ op/op.AddFile.php | 5 +++++ op/op.AddFile2.php | 5 +++++ op/op.AddMultiDocument.php | 5 +++++ op/op.Ajax.php | 5 +++++ op/op.UpdateDocument.php | 5 +++++ op/op.UpdateDocument2.php | 5 +++++ 7 files changed, 35 insertions(+) diff --git a/op/op.AddDocument.php b/op/op.AddDocument.php index 23479e4ab..141342c0b 100644 --- a/op/op.AddDocument.php +++ b/op/op.AddDocument.php @@ -326,6 +326,11 @@ for ($file_num=0;$file_num_overrideMimeType) { + $finfo = finfo_open(FILEINFO_MIME_TYPE); + $userfiletype = finfo_file($finfo, $userfiletmp); + } + if ((count($_FILES["userfile"]["tmp_name"])==1)&&($_POST["name"]!="")) $name = $_POST["name"]; else $name = basename($userfilename); diff --git a/op/op.AddFile.php b/op/op.AddFile.php index 8dfe3f4e1..7a6c5eeb9 100644 --- a/op/op.AddFile.php +++ b/op/op.AddFile.php @@ -61,6 +61,11 @@ $userfilename = $_FILES["userfile"]["name"]; $fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION); +if($settings->_overrideMimeType) { + $finfo = finfo_open(FILEINFO_MIME_TYPE); + $userfiletype = finfo_file($finfo, $userfiletmp); +} + $res = $document->addDocumentFile($name, $comment, $user, $userfiletmp, basename($userfilename),$fileType, $userfiletype ); diff --git a/op/op.AddFile2.php b/op/op.AddFile2.php index e7624a1ff..a811bb63a 100644 --- a/op/op.AddFile2.php +++ b/op/op.AddFile2.php @@ -72,6 +72,11 @@ if( move_uploaded_file( $source_file_path, $target_file_path ) ) { $fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION); + if($settings->_overrideMimeType) { + $finfo = finfo_open(FILEINFO_MIME_TYPE); + $userfiletype = finfo_file($finfo, $userfiletmp); + } + $res = $document->addDocumentFile($name, $comment, $user, $userfiletmp, basename($userfilename),$fileType, $userfiletype ); diff --git a/op/op.AddMultiDocument.php b/op/op.AddMultiDocument.php index 92857c4bb..9a157c2e6 100644 --- a/op/op.AddMultiDocument.php +++ b/op/op.AddMultiDocument.php @@ -176,6 +176,11 @@ if( move_uploaded_file( $source_file_path, $target_file_path ) ) { $fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION); + if($settings->_overrideMimeType) { + $finfo = finfo_open(FILEINFO_MIME_TYPE); + $userfiletype = finfo_file($finfo, $userfiletmp); + } + if(isset($_POST["name"]) && $_POST["name"] != "") $name = $_POST["name"]; else diff --git a/op/op.Ajax.php b/op/op.Ajax.php index b38a69302..527a8afcb 100644 --- a/op/op.Ajax.php +++ b/op/op.Ajax.php @@ -493,6 +493,11 @@ switch($command) { $fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION); + if($settings->_overrideMimeType) { + $finfo = finfo_open(FILEINFO_MIME_TYPE); + $userfiletype = finfo_file($finfo, $userfiletmp); + } + if (!empty($_POST["name"])) $name = $_POST["name"]; else diff --git a/op/op.UpdateDocument.php b/op/op.UpdateDocument.php index ddf0caf57..b04b47f2f 100644 --- a/op/op.UpdateDocument.php +++ b/op/op.UpdateDocument.php @@ -73,6 +73,11 @@ if ($_FILES['userfile']['error'] == 0) { $userfiletmp = $_FILES["userfile"]["tmp_name"]; $userfiletype = $_FILES["userfile"]["type"]; $userfilename = $_FILES["userfile"]["name"]; + + if($settings->_overrideMimeType) { + $finfo = finfo_open(FILEINFO_MIME_TYPE); + $userfiletype = finfo_file($finfo, $userfiletmp); + } } elseif($settings->_dropFolderDir) { if($_POST['dropfolderfileform1']) { $fullfile = $settings->_dropFolderDir.'/'.$user->getLogin().'/'.$_POST["dropfolderfileform1"]; diff --git a/op/op.UpdateDocument2.php b/op/op.UpdateDocument2.php index d4e0138c4..f6f9b6eec 100644 --- a/op/op.UpdateDocument2.php +++ b/op/op.UpdateDocument2.php @@ -75,6 +75,11 @@ if( move_uploaded_file( $source_file_path, $target_file_path ) ) { $fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION); + if($settings->_overrideMimeType) { + $finfo = finfo_open(FILEINFO_MIME_TYPE); + $userfiletype = finfo_file($finfo, $userfiletmp); + } + // Get the list of reviewers and approvers for this document. $reviewers = array(); $approvers = array();