Пример #1
0
 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;
 }
Пример #2
0
 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;
 }
Пример #3
0
<?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();
                 }
             }
         }
     }
 }