Commit ea6baa72937a740ce2b8a7257507414b99fb3959
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
Showing
1 changed file
with
14 additions
and
13 deletions
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 |