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);
 }
Exemplo n.º 2
0
 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();
 }