protected function checkImportEssentialField($type) { $mandatoryFields = EfrontImport::getMandatoryFields($type); $not_found = false; foreach ($mandatoryFields as $dbField => $columnName) { if (!isset($this->mappings[$dbField])) { $not_found = true; break; } } if ($not_found) { $this->log["failure"]["headerproblem"] = _HEADERDOESNOTINCLUDEESSENTIALCOLUMN . ": " . implode(",", $mandatoryFields); return false; } else { return true; } }
$importForm->addElement('advcheckbox', 'replace_assignments', _REPLACEASSIGNMENTS, null, 'class = "inputCheckbox"', array(0, 1)); $importForm->addElement("select", "date_format", _DATEFORMAT, array("DD/MM/YYYY" => "DD/MM/YYYY", "MM/DD/YYYY" => "MM/DD/YYYY", "YYYY/MM/DD" => "YYYY/MM/DD")); $importForm->setDefaults(array('import_keep' => 0)); $importForm->addElement('submit', 'submit_import', _IMPORTDATA, 'class = "flatButton"'); $help_info = array(); foreach ($import_export_types as $type => $name) { if ($type != "anything") { $help_info[$type] = array("mandatory" => implode(", ", EfrontImport::getMandatoryFields($type)), "optional" => implode(", ", EfrontImport::getOptionalFields($type)), "sample_type" => $type); } } $smarty->assign("T_HELP_IMPORT_INFO", $help_info); if (isset($_GET['csv_sample']) && $_GET['csv_sample'] == 1 && isset($_GET['sample_type'])) { $sample_type = $_GET['sample_type']; header("content-type:text/plain"); header('content-disposition: attachment; filename= "csv_' . $sample_type . '_sample.csv"'); echo implode(",", EfrontImport::getMandatoryFields($sample_type)) . "," . implode(",", EfrontImport::getOptionalFields($sample_type)) . "\n"; exit; } if ($importForm->isSubmitted()) { try { if (!is_dir($currentUser->user['directory'] . "/temp")) { mkdir($currentUser->user['directory'] . "/temp", 0755); } $importForm->exportValue('import_keep') ? $replaceUsers = false : ($replaceUsers = true); $filesystem = new FileSystemTree($currentUser->user['directory'] . "/temp"); $uploadedFile = $filesystem->uploadFile('import_file'); $options = array("replace_existing" => $replaceUsers, "date_format" => $importForm->exportValue('date_format'), "replace_assignments" => $importForm->exportValue('replace_assignments')); $importer = EfrontImportFactory::factory("csv", $uploadedFile, $options); $importType = $importForm->exportValue('import_type'); if ($importType == "anything") { $import_types = $import_export_types;