Commit ebb315aeb4b078341c5dc2751f2d8a9781d7c679

Authored by Megan Watson
1 parent 1c2cc1a7

KTS-2157

"bulk upload does not validate that file is a zip file."
Fixed. Added a check on the file type.

Committed By: Megan Watson
Reviewed By: Conrad Vermeulen

git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@7808 c91229c3-7414-0410-bfa2-8a42b809f60b
plugins/ktcore/folder/BulkUpload.php
@@ -114,7 +114,16 @@ class KTBulkUploadFolderAction extends KTFolderAction { @@ -114,7 +114,16 @@ 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
  119 + $sMime = $aFile['type'];
  120 + $pos = strpos($sMime, 'x-zip-compressed');
  121 + if($pos === false){
  122 + $this->addErrorMessage(_kt("Bulk Upload failed: File is not a zip file."));
  123 + controllerRedirect("browse", 'fFolderId=' . $this->oFolder->getID());
  124 + exit(0);
  125 + }
  126 +
118 $matches = array(); 127 $matches = array();
119 $aFields = array(); 128 $aFields = array();
120 foreach ($_REQUEST as $k => $v) { 129 foreach ($_REQUEST as $k => $v) {
@@ -132,6 +141,7 @@ class KTBulkUploadFolderAction extends KTFolderAction { @@ -132,6 +141,7 @@ class KTBulkUploadFolderAction extends KTFolderAction {
132 $bm =& new KTBulkImportManager($this->oFolder, $fs, $this->oUser, $aOptions); 141 $bm =& new KTBulkImportManager($this->oFolder, $fs, $this->oUser, $aOptions);
133 $this->startTransaction(); 142 $this->startTransaction();
134 $res = $bm->import(); 143 $res = $bm->import();
  144 +
135 $aErrorOptions['message'] = _kt("Bulk Upload failed"); 145 $aErrorOptions['message'] = _kt("Bulk Upload failed");
136 $this->oValidator->notError($res, $aErrorOptions); 146 $this->oValidator->notError($res, $aErrorOptions);
137 147