diff --git a/CHANGELOG.md b/CHANGELOG.md index 46cb6bf75..bbc2e93f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +* **Build 28x** (2015-07-xx) + - The `export` action has been moved from ListController behavior to Import / Export behavior (see Backend > Importing & Exporting docs). + * **Build 279** (2015-07-14) - Plugins can now be frozen to prevent them from receiving updates via the plugin management area. - A plugin version can now be flagged as "Important" by prepending `!!!` to the version history comment. diff --git a/modules/backend/behaviors/ListController.php b/modules/backend/behaviors/ListController.php index 4541c1fb2..34830a1b1 100644 --- a/modules/backend/behaviors/ListController.php +++ b/modules/backend/behaviors/ListController.php @@ -247,15 +247,6 @@ class ListController extends ControllerBehavior $this->makeLists(); } - /** - * Export Controller action. - * @return void - */ - public function export() - { - return $this->listExportCsv(); - } - /** * Renders the widget collection. * @param string $definition Optional list definition. @@ -317,73 +308,6 @@ class ListController extends ControllerBehavior return array_get($this->listWidgets, $definition); } - /** - * Returns the list results as a CSV export. - */ - public function listExportCsv($options = [], $definition = null) - { - /* - * Locate widget - */ - if (!count($this->listWidgets)) { - $this->makeLists(); - } - - if (!$definition || !isset($this->listDefinitions[$definition])) { - $definition = $this->primaryDefinition; - } - - $widget = $this->listWidgets[$definition]; - - /* - * Parse options - */ - $defaultOptions = [ - 'filename' => 'export.csv', - 'delimiter' => ',', - 'enclosure' => '"' - ]; - - $options = array_merge($defaultOptions, $options); - extract($options); - - /* - * Prepare CSV - */ - $csv = Writer::createFromFileObject(new SplTempFileObject); - $csv->setDelimiter($options['delimiter']); - $csv->setEnclosure($options['enclosure']); - - /* - * Add headers - */ - $headers = []; - $columns = $widget->getVisibleColumns(); - foreach ($columns as $column) { - $headers[] = Lang::get($column->label); - } - $csv->insertOne($headers); - - /* - * Add records - */ - $model = $widget->prepareModel(); - $results = $model->get(); - foreach ($results as $result) { - $record = []; - foreach ($columns as $column) { - $record[] = $widget->getColumnValue($result, $column); - } - $csv->insertOne($record); - } - - /* - * Output - */ - $csv->output($filename); - exit; - } - // // Overrides //