Exemplo n.º 1
0
 /**
  *
  */
 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;
     }
 }