From af3026787e3c0fa81dd7ee1307e111a56d555a83 Mon Sep 17 00:00:00 2001 From: Jan Schneider Date: Tue, 15 Jun 2010 11:56:32 +0200 Subject: [PATCH] Make Horde_Data working again, import not yet tested (Bug #9086). --- framework/Data/lib/Horde/Data.php | 2 +- framework/Data/lib/Horde/Data/{Driver.php => Base.php} | 10 ++++++---- framework/Data/lib/Horde/Data/Csv.php | 4 ++-- framework/Data/lib/Horde/Data/Imc.php | 2 +- framework/Data/lib/Horde/Data/Tsv.php | 2 +- framework/Data/package.xml | 4 ++-- turba/data.php | 14 +++++++++----- turba/lib/Data/{ldif.php => Ldif.php} | 2 +- 8 files changed, 23 insertions(+), 17 deletions(-) rename framework/Data/lib/Horde/Data/{Driver.php => Base.php} (98%) rename turba/lib/Data/{ldif.php => Ldif.php} (99%) diff --git a/framework/Data/lib/Horde/Data.php b/framework/Data/lib/Horde/Data.php index 313b14d05..840ebb798 100644 --- a/framework/Data/lib/Horde/Data.php +++ b/framework/Data/lib/Horde/Data.php @@ -67,7 +67,7 @@ class Horde_Data return new $class($params); } - throw new Horde_Data_Exception('Driver not found: ' . $driver); + throw new Horde_Data_Exception('Driver not found: ' . $class); } } diff --git a/framework/Data/lib/Horde/Data/Driver.php b/framework/Data/lib/Horde/Data/Base.php similarity index 98% rename from framework/Data/lib/Horde/Data/Driver.php rename to framework/Data/lib/Horde/Data/Base.php index b4da049d3..7a596fcd4 100644 --- a/framework/Data/lib/Horde/Data/Driver.php +++ b/framework/Data/lib/Horde/Data/Base.php @@ -12,7 +12,7 @@ * @category Horde * @package Data */ -abstract class Horde_Data +abstract class Horde_Data_Base { /** * Browser object. @@ -87,12 +87,14 @@ abstract class Horde_Data /** * Stub to import passed data. */ - abstract public function importData(); + public function importData($text) + { + } /** * Stub to return exported data. */ - abstract public function exportData(); + abstract public function exportData($data, $method = 'REQUEST'); /** * Stub to import a file. @@ -106,7 +108,7 @@ abstract class Horde_Data /** * Stub to export data to a file. */ - abstract public function exportFile(); + abstract public function exportFile($filename, $data); /** * Tries to determine the expected newline character based on the diff --git a/framework/Data/lib/Horde/Data/Csv.php b/framework/Data/lib/Horde/Data/Csv.php index cec3c5cf4..674383fdb 100644 --- a/framework/Data/lib/Horde/Data/Csv.php +++ b/framework/Data/lib/Horde/Data/Csv.php @@ -17,7 +17,7 @@ * @category Horde * @package Data */ -class Horde_Data_Csv extends Horde_Data_Driver +class Horde_Data_Csv extends Horde_Data_Base { /** * File extension. @@ -65,7 +65,7 @@ class Horde_Data_Csv extends Horde_Data_Driver * @return array A two-dimensional array of all imported data rows. If * $header was true the rows are associative arrays with the * field/column names as the keys. - *@throws Horde_File_Csv_Exception + * @throws Horde_File_Csv_Exception */ public function importFile($filename, $header = false, $sep = ',', $quote = '', $fields = null, diff --git a/framework/Data/lib/Horde/Data/Imc.php b/framework/Data/lib/Horde/Data/Imc.php index 8e7150e1e..ab2f6b93c 100644 --- a/framework/Data/lib/Horde/Data/Imc.php +++ b/framework/Data/lib/Horde/Data/Imc.php @@ -14,7 +14,7 @@ * @category Horde * @package Data */ -class Horde_Data_Imc extends Horde_Data_Driver +class Horde_Data_Imc extends Horde_Data_Base { /** * @var diff --git a/framework/Data/lib/Horde/Data/Tsv.php b/framework/Data/lib/Horde/Data/Tsv.php index a0f76c9d3..094221e69 100644 --- a/framework/Data/lib/Horde/Data/Tsv.php +++ b/framework/Data/lib/Horde/Data/Tsv.php @@ -12,7 +12,7 @@ * @category Horde * @package Data */ -class Horde_Data_Tsv extends Horde_Data_Driver +class Horde_Data_Tsv extends Horde_Data_Base { /** * File extension. diff --git a/framework/Data/package.xml b/framework/Data/package.xml index 9d53aca29..65f616147 100644 --- a/framework/Data/package.xml +++ b/framework/Data/package.xml @@ -43,8 +43,8 @@ http://pear.php.net/dtd/package-2.0.xsd"> + - @@ -104,8 +104,8 @@ http://pear.php.net/dtd/package-2.0.xsd"> + - diff --git a/turba/data.php b/turba/data.php index fbcda3ce1..12f9b865f 100644 --- a/turba/data.php +++ b/turba/data.php @@ -326,9 +326,10 @@ case 'export': exit; case 'ldif': - // TODO - //$injector->getInstance('Horde_Data')->getData('Csv', array('cleanup' => '_cleanupData')) - $ldif = Horde_Data::singleton(array('turba', 'ldif')); + $ldif = new Turba_Data_Ldif( + array('browser' => $this->_injector->getInstance('Horde_Browser'), + 'vars' => Horde_Variables::getDefaultVariables(), + 'cleanup' => '_cleanupData')); $ldif->exportFile(_("contacts.ldif"), $data, true); exit; } @@ -380,9 +381,12 @@ case Horde_Data::IMPORT_DATETIME: if (!$error && !empty($import_format)) { // TODO if ($import_format == 'ldif') { - $data = Horde_Data::singleton(array('turba', $import_format)); + $data = new Turba_Data_Ldif( + array('browser' => $this->_injector->getInstance('Horde_Browser'), + 'vars' => Horde_Variables::getDefaultVariables(), + 'cleanup' => '_cleanupData')); } else { - $data = Horde_Data::singleton($import_format); + $data = $injector->getInstance('Horde_Data')->getData($import_format, array('cleanup' => '_cleanupData')); } if ($data instanceof PEAR_Error) { $notification->push(_("This file format is not supported."), 'horde.error'); diff --git a/turba/lib/Data/ldif.php b/turba/lib/Data/Ldif.php similarity index 99% rename from turba/lib/Data/ldif.php rename to turba/lib/Data/Ldif.php index 34539cb69..39be80e6e 100644 --- a/turba/lib/Data/ldif.php +++ b/turba/lib/Data/Ldif.php @@ -10,7 +10,7 @@ * @author Rita Selsky * @package Horde_Data */ -class Horde_Data_Ldif extends Horde_Data +class Turba_Data_Ldif extends Horde_Data { var $_extension = 'ldif'; -- 2.11.0