public static function autoExport(selector $v8be74552df93e31bbdd6b36ed74bdb6a, $vb8c8ec69026adfe891bf5e618eabb17b = false) { $v4aed429835809b0214b31d7ff74f05ba = new quickCsvExporter($v8be74552df93e31bbdd6b36ed74bdb6a); $v0e8133eb006c0f85ed9444ae07a60842 = umiObjectTypesCollection::getInstance(); foreach ($v8be74552df93e31bbdd6b36ed74bdb6a->types as $v599dcce2998a6b40b1e38e8c6006cb0a) { if (is_null($v599dcce2998a6b40b1e38e8c6006cb0a->objectType) == false) { $v6301cee35ea764a1e241978f93f01069 = $v599dcce2998a6b40b1e38e8c6006cb0a->objectType->getId(); $v4aed429835809b0214b31d7ff74f05ba->setObjectTypeId($v6301cee35ea764a1e241978f93f01069); } if (is_null($v599dcce2998a6b40b1e38e8c6006cb0a->hierarchyType) == false) { $vacf567c9c3d6cf7c6e2cc0ce108e0631 = $v599dcce2998a6b40b1e38e8c6006cb0a->hierarchyType->getId(); $v6301cee35ea764a1e241978f93f01069 = $v0e8133eb006c0f85ed9444ae07a60842->getTypeByHierarchyTypeId($vacf567c9c3d6cf7c6e2cc0ce108e0631); $v4aed429835809b0214b31d7ff74f05ba->setObjectTypeId($v6301cee35ea764a1e241978f93f01069); } } if ($v8be74552df93e31bbdd6b36ed74bdb6a->mode == "pages" || $v8be74552df93e31bbdd6b36ed74bdb6a->hierarchy || $vb8c8ec69026adfe891bf5e618eabb17b) { $v4aed429835809b0214b31d7ff74f05ba->setResultsMode("element"); } else { $v4aed429835809b0214b31d7ff74f05ba->setResultsMode("object"); } $v52a43e48ec4649dee819dadabcab1bde = cmsController::getInstance()->getCurrentModule(); $v2245023265ae4cf87d02c8b6ba991139 = mainConfiguration::getInstance(); $v435ed7e9f07f740abf511a62c00eef6e = $v52a43e48ec4649dee819dadabcab1bde ? $v52a43e48ec4649dee819dadabcab1bde . "-" . date("Y-m-d_H.i.s") : "csv-export-" . uniqid(); $vedcf819b71ce7a0689cd83e44f16b702 = $v2245023265ae4cf87d02c8b6ba991139->includeParam('system.runtime-cache') . $v435ed7e9f07f740abf511a62c00eef6e . ".csv"; $v4aed429835809b0214b31d7ff74f05ba->setUsedFields(getRequest('used-fields')); $v4aed429835809b0214b31d7ff74f05ba->exportToFile($vedcf819b71ce7a0689cd83e44f16b702); $v8c7dd922ad47494fc02c388e12c00eac = new umiFile($vedcf819b71ce7a0689cd83e44f16b702); $v8c7dd922ad47494fc02c388e12c00eac->download(true); }
public function get_export() { $id = (int) getRequest('param0'); $as_file = getRequest('as_file'); $objects = umiObjectsCollection::getInstance(); $settings = $objects->getObject($id); if (!$settings instanceof umiObject) { throw new publicException(getLabel("exchange-err-settings_notfound")); } $format_id = $settings->format; $exportFormat = $objects->getObject($format_id); if (!$exportFormat instanceof umiObject) { throw new publicException(getLabel("exchange-err-format_undefined")); } $suffix = $exportFormat->sid; $exporter = umiExporter::get($suffix); if ($settings->source_name) { $exporter->setSourceName($settings->source_name); } // check cache $cache_time = (int) $settings->cache_time; $temp_dir = "./sys-temp/export/"; if (!is_dir($temp_dir)) { mkdir($temp_dir, 0777, true); } $cache_file_path = $temp_dir . $id . "." . $exporter->getFileExt(); if ($as_file === '1') { $temp_folder = $temp_dir . $id; if (is_dir($temp_folder)) { if (file_exists($temp_dir . $id . ".zip")) { unlink($temp_dir . $id . ".zip"); } $archive = new PclZip($temp_dir . $id . ".zip"); $archive->add(array($temp_dir . $id . ".xml", $temp_folder), PCLZIP_OPT_REMOVE_PATH, 'sys-temp/export'); shell_exec("rm -rf {$temp_folder}"); $zipFile = new umiFile($temp_dir . $id . ".zip"); $zipFile->download(); return; } $cache_file = new umiFile($cache_file_path); $cache_file->download(); return; } if ($as_file === '0') { if (!file_exists($cache_file_path) || !$cache_time || $cache_time && time() > filectime($cache_file_path) + $cache_time * 60) { $result = $exporter->export($settings->elements); if ($result) { file_put_contents($cache_file_path, $result); } } $buffer = $exporter->setOutputBuffer(); $buffer->push(file_get_contents($cache_file_path)); $buffer->end(); return; } if ($as_file === null && (!file_exists($cache_file_path) || !$cache_time || $cache_time && time() > filectime($cache_file_path) + $cache_time * 60)) { $result = $exporter->export($settings->elements); if ($result) { file_put_contents($cache_file_path, $result); } } $data = array("attribute:complete" => (int) $exporter->getIsCompleted()); baseModuleAdmin::setData($data); return baseModuleAdmin::doData(); }