public static function getExportConfigs() { $arrOptions = array(); $arrConfigs = \HeimrichHannot\Exporter\ExporterModel::findAll(); if ($arrConfigs !== null) { foreach ($arrConfigs as $objConfig) { $arrOptions[$objConfig->id] = $objConfig->title; } } return $arrOptions; }
public static function getConfigsAsOptions($strType = null) { $arrOptions = array(); if ($strType) { $objConfigs = ExporterModel::findByType($strType); } else { $objConfigs = ExporterModel::findAll(); } if ($objConfigs !== null) { \Controller::loadDataContainer('tl_exporter'); \System::loadLanguageFile('tl_exporter'); while ($objConfigs->next()) { $strExportType = $GLOBALS['TL_LANG']['tl_exporter']['reference'][$objConfigs->type]; $strExportTarget = $GLOBALS['TL_LANG']['tl_exporter']['reference'][$objConfigs->target]; $arrOptions[$objConfigs->id] = $objConfigs->title . ' (ID ' . $objConfigs->id . ($strType ? '' : ', Typ: ' . $strExportType) . ', Ziel: ' . $strExportTarget . ')'; } } asort($arrOptions); return $arrOptions; }
<?php /** * Constants */ define('EXPORTER_RAW_FIELD_SUFFIX', 'ERawE'); define('EXPORTER_FILE_TYPE_CSV', 'csv'); define('EXPORTER_FILE_TYPE_MEDIA', 'media'); define('EXPORTER_FILE_TYPE_PDF', 'pdf'); define('EXPORTER_FILE_TYPE_XLS', 'xls'); define('EXPORTER_COMPESSION_TYPE_ZIP', 'zip'); define('EXPORTER_FRONTEND_FORMID', 'exporter_download'); /** * Frontend modules */ array_insert($GLOBALS['FE_MOD'], count($GLOBALS['FE_MOD']) - 1, array('exporter' => array('frontendExporter' => 'HeimrichHannot\\Exporter\\ModuleFrontendExporter'))); /** * Back end modules */ array_insert($GLOBALS['BE_MOD']['devtools'], 1, array('exporter' => array('tables' => array('tl_exporter'), 'icon' => 'system/modules/exporter/assets/img/icon_export.png'))); /** * Models */ $GLOBALS['TL_MODELS'][\HeimrichHannot\Exporter\ExporterModel::getTable()] = '\\HeimrichHannot\\Exporter\\ExporterModel';
protected function exportAfterSubmission() { $objExportConfigs = FieldPaletteModel::findPublishedByPidAndTableAndField($this->objModule->id, 'tl_module', 'formHybridExportConfigs'); if ($objExportConfigs !== null) { while ($objExportConfigs->next()) { $objConfig = ExporterModel::findByPk($objExportConfigs->formhybrid_formHybridExportConfigs_config); if ($objConfig !== null) { $objConfig->type = Exporter::TYPE_ITEM; $objConfig->linkedTable = $this->strTable; // prepare fields for exporter $arrExportFields = array(); foreach ($this->arrFields as $objWidget) { $arrData = $GLOBALS['TL_DCA'][$this->strTable]['fields'][$objWidget->name]; $arrExportFields[$objWidget->name] = array('raw' => $this->objActiveRecord->{$objWidget->name}, 'inputType' => $arrData['inputType'], 'formatted' => FormSubmission::prepareSpecialValueForPrint($this->objActiveRecord->{$objWidget->name}, $arrData, $this->strTable, $this)); if ($arrData['inputType'] != 'explanation') { $arrExportFields[$objWidget->name]['label'] = $this->dca['fields'][$objWidget->name]['label'][0] ?: $objWidget->name; } if ($objWidget->subName) { foreach ($this->arrSubFields[$objWidget->subName] as $objSubWidget) { $arrData = $GLOBALS['TL_DCA'][$this->strTable][$objSubWidget->name]; $arrExportFields[$objSubWidget->name] = array('raw' => $this->objActiveRecord->{$objSubWidget->name}, 'inputType' => $arrData['inputType'], 'formatted' => FormSubmission::prepareSpecialValueForPrint($this->objActiveRecord->{$objSubWidget->name}, $arrData, $this->strTable, $this)); if ($arrData['inputType'] != 'explanation') { $arrExportFields[$objSubWidget->name]['label'] = $this->dca['fields'][$objSubWidget->name]['label'][0] ?: $objSubWidget->name; } } } } $objExporter = ModuleExporter::export($objConfig, $this->objActiveRecord, $arrExportFields); if ($objExportConfigs->formhybrid_formHybridExportConfigs_entityField) { $objFile = FilesModel::findByPath($objExporter->getFileDir() . '/' . $objExporter->getFilename()); $this->objActiveRecord->{$objExportConfigs->formhybrid_formHybridExportConfigs_entityField} = $objFile->uuid; $this->objActiveRecord->save(); } } } } }