Пример #1
0
 /**
  * Get the export fields as array.
  *
  * @return array
  */
 public function getExportFields()
 {
     if (!\Input::get('id')) {
         return array();
     }
     $arrFields = array();
     $systemColumns = \Leads\Leads::getSystemColumns();
     foreach ($systemColumns as $k => $systemColumn) {
         $arrFields[$k] = $systemColumn['name'];
     }
     $objFields = \Database::getInstance()->prepare("SELECT * FROM tl_form_field WHERE leadStore!='' AND pid=(SELECT pid FROM tl_lead_export WHERE id=?)")->execute(Input::get('id'));
     while ($objFields->next()) {
         $strLabel = $objFields->name;
         // Use the field label
         if ($objFields->label != '') {
             $strLabel = $objFields->label . ' [' . $objFields->name . ']';
         }
         $arrFields[$objFields->id] = $strLabel;
     }
     return $arrFields;
 }
Пример #2
0
 /**
  * Prepares the default export configuration according to the configuration.
  *
  * @param \Database\Result $config
  * @param DataCollector    $dataCollector
  * @return array
  */
 protected function prepareDefaultExportConfig($config, DataCollector $dataCollector)
 {
     $columnConfig = array();
     // Config: all
     if ('all' === $config->export) {
         // Add base information columns (system columns)
         foreach (Leads::getSystemColumns() as $systemColumn) {
             $columnConfig[] = $systemColumn;
         }
         // Add export data column config.
         foreach ($dataCollector->getFieldsData() as $fieldId => $fieldConfig) {
             $fieldConfig = $this->handleContaoSpecificConfig($fieldConfig);
             $fieldConfig['value'] = 'all';
             $columnConfig[] = $fieldConfig;
         }
         return $columnConfig;
     }
     // We do this here so we don't have to do it in the loop
     $fieldsData = $dataCollector->getFieldsData();
     // Config: tokens
     if ('tokens' === $config->export) {
         $allFieldsConfig = array();
         foreach ($fieldsData as $fieldConfig) {
             $allFieldsConfig[] = $this->handleContaoSpecificConfig($fieldConfig);
         }
         foreach ($config->tokenFields as $column) {
             $column = array_merge($column, array('allFieldsConfig' => $allFieldsConfig));
             $columnConfig[] = $column;
         }
         return $columnConfig;
     }
     // Config: custom
     $systemColumns = Leads::getSystemColumns();
     foreach ($config->fields as $column) {
         // System column
         if (in_array($column['field'], array_keys($systemColumns))) {
             $columnConfig[] = $systemColumns[$column['field']];
         } else {
             // Skip non existing fields
             if (!isset($fieldsData[$column['field']])) {
                 continue;
             }
             // Merge form field config with custom export config
             $fieldConfig = array_merge($fieldsData[$column['field']], $column);
             $fieldConfig = $this->handleContaoSpecificConfig($fieldConfig);
             $columnConfig[] = $fieldConfig;
         }
     }
     return $columnConfig;
 }