/** * @link http://clangers.collectiveaccess.org/jira/browse/PROV-1026 */ public function testDataExporterCanLoadFromFile() { $t_locale = new ca_locales(); $va_locales = $t_locale->getLocaleList(); $vn_locale_id = key($va_locales); $t_exporter = new ca_data_exporters(); $va_errors = array(); ca_data_exporters::loadExporterFromFile(__DIR__ . '/data/list_item_export_mapping.xlsx', $va_errors, array('locale_id' => $vn_locale_id)); $vo_exporter = ca_data_exporters::loadExporterByCode('testmappingforunittests'); $this->assertEmpty($va_errors, 'Should be no error messages'); $this->assertTrue(is_object($vo_exporter), 'Should have found an exporter by the correct name'); $this->assertInstanceOf('ca_data_exporters', $vo_exporter, 'Incorrect type loaded'); $vo_exporter->setMode(ACCESS_WRITE); $vo_exporter->delete(true, array('hard' => true)); $vo_exporter = $t_exporter->load(array('exporter_code' => 'testmappingforunittests')); $this->assertFalse($vo_exporter, 'Should no longer have an exporter loaded'); }
public function UploadExporters() { $va_response = array('uploadMessage' => '', 'skippedMessage' => ''); foreach ($_FILES as $va_file) { foreach ($va_file['name'] as $vn_i => $vs_name) { if ($t_importer = ca_data_exporters::loadExporterFromFile($va_file['tmp_name'][$vn_i], $va_errors)) { $va_response['copied'][$vs_name] = true; } else { $va_response['skipped'][$vs_name] = true; } } } $va_response['uploadMessage'] = ($vn_upload_count = sizeof($va_response['copied'])) == 1 ? _t('Uploaded %1 worksheet', $vn_upload_count) : _t('Uploaded %1 worksheets', $vn_upload_count); if (is_array($va_response['skipped']) && ($vn_skip_count = sizeof($va_response['skipped'])) && !$va_response['error']) { $va_response['skippedMessage'] = $vn_skip_count == 1 ? _t('Skipped %1 worksheet', $vn_skip_count) : _t('Skipped %1 worksheet', $vn_skip_count); } $this->getView()->setVar('response', $va_response); $this->render('export/file_upload_response_json.php'); }
/** * */ public static function load_export_mapping($po_opts = null) { require_once __CA_MODELS_DIR__ . "/ca_data_exporters.php"; if (!($vs_file_path = $po_opts->getOption('file'))) { print _t("You must specify a file!") . "\n"; return false; } if (!file_exists($vs_file_path)) { print _t("File '%1' does not exist!", $vs_file_path) . "\n"; return false; } if (!($t_exporter = ca_data_exporters::loadExporterFromFile($vs_file_path, $va_errors))) { if (is_array($va_errors) && sizeof($va_errors)) { foreach ($va_errors as $vs_error) { CLIUtils::addError($vs_error); } } else { CLIUtils::addError(_t("Could not import '%1'", $vs_file_path)); } return false; } else { if (is_array($va_errors) && sizeof($va_errors)) { foreach ($va_errors as $vs_error) { CLIUtils::addMessage(_t("Warning") . ":" . $vs_error); } } print _t("Created mapping %1 from %2", CLIUtils::textWithColor($t_exporter->get('exporter_code'), 'yellow'), $vs_file_path) . "\n"; return true; } }