/** * */ public static function import_data($po_opts = null) { require_once __CA_MODELS_DIR__ . "/ca_data_importers.php"; if (!($vs_data_source = $po_opts->getOption('source'))) { CLIUtils::addError(_t('You must specify a data source for import')); return false; } if (!$vs_data_source) { CLIUtils::addError(_t('You must specify a source')); return false; } if (!($vs_mapping = $po_opts->getOption('mapping'))) { CLIUtils::addError(_t('You must specify a mapping')); return false; } if (!ca_data_importers::mappingExists($vs_mapping)) { CLIUtils::addError(_t('Mapping %1 does not exist', $vs_mapping)); return false; } $vb_no_ncurses = (bool) $po_opts->getOption('disable-ncurses'); $vb_direct = (bool) $po_opts->getOption('direct'); $vb_no_search_indexing = (bool) $po_opts->getOption('no-search-indexing'); $vs_format = $po_opts->getOption('format'); $vs_log_dir = $po_opts->getOption('log'); $vn_log_level = CLIUtils::getLogLevel($po_opts); if ($vb_no_search_indexing) { define("__CA_DONT_DO_SEARCH_INDEXING__", true); } if (!ca_data_importers::importDataFromSource($vs_data_source, $vs_mapping, array('noTransaction' => $vb_direct, 'format' => $vs_format, 'showCLIProgressBar' => true, 'useNcurses' => !$vb_no_ncurses && caCLIUseNcurses(), 'logDirectory' => $vs_log_dir, 'logLevel' => $vn_log_level))) { CLIUtils::addError(_t("Could not import source %1: %2", $vs_data_source, join("; ", ca_data_importers::getErrorList()))); return false; } else { CLIUtils::addMessage(_t("Imported data from source %1", $vs_data_source)); return true; } }