public static function validateFileUpload($userInputObject) { global $current_user; $uploadMaxSize = Import_Utils::getMaxUploadSize(); $importDirectory = Import_Utils::getImportDirectory(); $temporaryFileName = Import_Utils::getImportFilePath($current_user); if(!is_uploaded_file($_FILES['import_file']['tmp_name'])) { $userInputObject->set('error_message', getTranslatedString('LBL_FILE_UPLOAD_FAILED', 'Import')); return false; } if ($_FILES['userfile']['size'] > $uploadMaxSize) { $userInputObject->set('error_message', getTranslatedString('LBL_IMPORT_ERROR_LARGE_FILE', 'Import'). ' $uploadMaxSize.'.getTranslatedString('LBL_IMPORT_CHANGE_UPLOAD_SIZE', 'Import')); return false; } if(!is_writable($importDirectory)) { $userInputObject->set('error_message', getTranslatedString('LBL_IMPORT_DIRECTORY_NOT_WRITABLE', 'Import')); return false; } $fileCopied = move_uploaded_file($_FILES['import_file']['tmp_name'], $temporaryFileName); if(!$fileCopied) { $userInputObject->set('error_message', getTranslatedString('LBL_IMPORT_FILE_COPY_FAILED', 'Import')); return false; } $fileReader = Import_Utils::getFileReader($userInputObject, $current_user); if($fileReader == null) { $userInputObject->set('error_message', getTranslatedString('LBL_INVALID_FILE', 'Import')); return false; } $hasHeader = $fileReader->hasHeader(); $firstRow = $fileReader->getFirstRowData($hasHeader); if($firstRow === false) { $userInputObject->set('error_message', getTranslatedString('LBL_NO_ROWS_FOUND', 'Import')); return false; } return true; }
public function copyFromFileToDB() { $fileReader = Import_Utils::getFileReader($this->userInputObject, $this->user); $fileReader->read(); $fileReader->deleteFile(); if ($fileReader->getStatus() == 'success') { $this->numberOfRecords = $fileReader->getNumberOfRecordsRead(); return true; } else { Import_Utils::showErrorPage(getTranslatedString('ERR_FILE_READ_FAILED', 'Import') . ' - ' . getTranslatedString($fileReader->getErrorMessage(), 'Import')); return false; } }