/** * Loads readers */ public static function initDataReaders() { if (DataReaderManager::$s_data_reader_manager_did_do_reader_init) { return true; } $vs_base_reader_dir = __CA_LIB_DIR__ . '/ca/Import/DataReaders'; $va_readers = DataReaderManager::getDataReaderNames(); foreach ($va_readers as $vs_reader) { if (!file_exists("{$vs_base_reader_dir}/{$vs_reader}.php")) { continue; } require_once "{$vs_base_reader_dir}/{$vs_reader}.php"; $vs_reader_classname = "{$vs_reader}"; $o_instance = new $vs_reader_classname(); $va_status = $o_instance->checkStatus(); if (!isset($va_status['available']) || !$va_status['available']) { continue; } DataReaderManager::$s_data_reader_instances[$vs_reader] = $o_instance; } DataReaderManager::$s_data_reader_manager_did_do_reader_init = true; return true; }