Commit ea6baa72937a740ce2b8a7257507414b99fb3959

Authored by megan_w
1 parent 76eb592d

KTC-299

"Bulk Upload failed: File is not a zip file"
Fixed. Added check for application/zip.

Committed by: Megan Watson
Reviewed by: Conrad Vermeulen



git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@7839 c91229c3-7414-0410-bfa2-8a42b809f60b
plugins/ktcore/folder/BulkUpload.php
@@ -5,32 +5,32 @@ @@ -5,32 +5,32 @@
5 * KnowledgeTree Open Source Edition 5 * KnowledgeTree Open Source Edition
6 * Document Management Made Simple 6 * Document Management Made Simple
7 * Copyright (C) 2004 - 2007 The Jam Warehouse Software (Pty) Limited 7 * Copyright (C) 2004 - 2007 The Jam Warehouse Software (Pty) Limited
8 - * 8 + *
9 * This program is free software; you can redistribute it and/or modify it under 9 * This program is free software; you can redistribute it and/or modify it under
10 * the terms of the GNU General Public License version 3 as published by the 10 * the terms of the GNU General Public License version 3 as published by the
11 * Free Software Foundation. 11 * Free Software Foundation.
12 - * 12 + *
13 * This program is distributed in the hope that it will be useful, but WITHOUT 13 * This program is distributed in the hope that it will be useful, but WITHOUT
14 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 14 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 15 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
16 * details. 16 * details.
17 - * 17 + *
18 * You should have received a copy of the GNU General Public License 18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>. 19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 - * 20 + *
21 * You can contact The Jam Warehouse Software (Pty) Limited, Unit 1, Tramber Place, 21 * You can contact The Jam Warehouse Software (Pty) Limited, Unit 1, Tramber Place,
22 * Blake Street, Observatory, 7925 South Africa. or email info@knowledgetree.com. 22 * Blake Street, Observatory, 7925 South Africa. or email info@knowledgetree.com.
23 - * 23 + *
24 * The interactive user interfaces in modified source and object code versions 24 * The interactive user interfaces in modified source and object code versions
25 * of this program must display Appropriate Legal Notices, as required under 25 * of this program must display Appropriate Legal Notices, as required under
26 * Section 5 of the GNU General Public License version 3. 26 * Section 5 of the GNU General Public License version 3.
27 - * 27 + *
28 * In accordance with Section 7(b) of the GNU General Public License version 3, 28 * In accordance with Section 7(b) of the GNU General Public License version 3,
29 * these Appropriate Legal Notices must retain the display of the "Powered by 29 * these Appropriate Legal Notices must retain the display of the "Powered by
30 - * KnowledgeTree" logo and retain the original copyright notice. If the display of the 30 + * KnowledgeTree" logo and retain the original copyright notice. If the display of the
31 * logo is not reasonably feasible for technical reasons, the Appropriate Legal Notices 31 * logo is not reasonably feasible for technical reasons, the Appropriate Legal Notices
32 - * must display the words "Powered by KnowledgeTree" and retain the original  
33 - * copyright notice. 32 + * must display the words "Powered by KnowledgeTree" and retain the original
  33 + * copyright notice.
34 * Contributor( s): ______________________________________ 34 * Contributor( s): ______________________________________
35 * 35 *
36 */ 36 */
@@ -114,16 +114,17 @@ class KTBulkUploadFolderAction extends KTFolderAction { @@ -114,16 +114,17 @@ class KTBulkUploadFolderAction extends KTFolderAction {
114 114
115 unset($aErrorOptions['message']); 115 unset($aErrorOptions['message']);
116 $aFile = $this->oValidator->validateFile($_FILES['file'], $aErrorOptions); 116 $aFile = $this->oValidator->validateFile($_FILES['file'], $aErrorOptions);
117 - 117 +
118 // Ensure file is a zip file 118 // Ensure file is a zip file
119 $sMime = $aFile['type']; 119 $sMime = $aFile['type'];
120 $pos = strpos($sMime, 'x-zip-compressed'); 120 $pos = strpos($sMime, 'x-zip-compressed');
121 - if($pos === false){ 121 + $pos2 = strpos($sMime, 'application/zip');
  122 + if($pos === false && $pos2 === false){
122 $this->addErrorMessage(_kt("Bulk Upload failed: File is not a zip file.")); 123 $this->addErrorMessage(_kt("Bulk Upload failed: File is not a zip file."));
123 controllerRedirect("browse", 'fFolderId=' . $this->oFolder->getID()); 124 controllerRedirect("browse", 'fFolderId=' . $this->oFolder->getID());
124 exit(0); 125 exit(0);
125 } 126 }
126 - 127 +
127 $matches = array(); 128 $matches = array();
128 $aFields = array(); 129 $aFields = array();
129 foreach ($_REQUEST as $k => $v) { 130 foreach ($_REQUEST as $k => $v) {
@@ -141,7 +142,7 @@ class KTBulkUploadFolderAction extends KTFolderAction { @@ -141,7 +142,7 @@ class KTBulkUploadFolderAction extends KTFolderAction {
141 $bm =& new KTBulkImportManager($this->oFolder, $fs, $this->oUser, $aOptions); 142 $bm =& new KTBulkImportManager($this->oFolder, $fs, $this->oUser, $aOptions);
142 $this->startTransaction(); 143 $this->startTransaction();
143 $res = $bm->import(); 144 $res = $bm->import();
144 - 145 +
145 $aErrorOptions['message'] = _kt("Bulk Upload failed"); 146 $aErrorOptions['message'] = _kt("Bulk Upload failed");
146 $this->oValidator->notError($res, $aErrorOptions); 147 $this->oValidator->notError($res, $aErrorOptions);
147 148