/** * Export set items * * @param string $ps_exporter_code defines the exporter to use * @param int $pn_set_id primary key of set to export * @param string $ps_filename Destination filename (we can't keep everything in memory here) * @param array $pa_options * progressCallback = callback function for asynchronous UI status reporting * showCLIProgressBar = Show command-line progress bar. Default is false. * logDirectory = path to directory where logs should be written * logLevel = KLogger constant for minimum log level to record. Default is KLogger::INFO. * @return boolean success state */ public static function exportRecordsFromSet($ps_exporter_code, $pn_set_id, $ps_filename, $pa_options = null) { ca_data_exporters::$s_exporter_cache = array(); ca_data_exporters::$s_exporter_item_cache = array(); if (!($t_mapping = ca_data_exporters::loadExporterByCode($ps_exporter_code))) { return false; } if (sizeof(ca_data_exporters::checkMapping($ps_exporter_code)) > 0) { return false; } $t_set = new ca_sets(); if (!$t_set->load($pn_set_id)) { return false; } $va_row_ids = array_keys($t_set->getItems(array('returnRowIdsOnly' => true))); $o_result = $t_set->makeSearchResult($t_set->get('table_num'), $va_row_ids); return self::exportRecordsFromSearchResult($ps_exporter_code, $o_result, $ps_filename, $pa_options); }