[dev] Re: [cvs] commit: framework/Data/Data csv.php tsv.php

Jan Schneider jan at horde.org
Sat Feb 14 09:13:50 PST 2004


Sounds pretty cool! :-)

Zitat von "Jason M. Felice" <jfelice at cronosys.com>:

> On Sat, Feb 14, 2004 at 01:05:42PM +0100, Jan Schneider wrote:
>> Zitat von Jason Felice <jfelice at cronosys.com>:
>>
>> >eraserhd    2004/02/13 21:34:11 PST
>> >
>> >  Modified files:
>> >    Data/Data            csv.php tsv.php
>> >  Log:
>> >  * Remove unused $delimiter parameter (first step in formalizing export
>> >  interface).
>>
>> Wouldn't it make more sense to actually *use* the delimiter instead of
>> removing it completely?
>
> I'm trying to avoid having completely different parameters to the
> *::exportData() method for each file type.  There's no point to using
> *::factory() if all your code has to be specific to the driver.
>
> I'm going to add back a way to set the delimiter that is flexible enough
> for all the drivers.  I'm reworking it now so that you will do something like
> this to export:
>
> 	$data = &Horde_Data::singleton($format);
>
> 	// optional, replaces $header flag and drivers which don't
> 	// support it can ignore it.
> 	$data->setFieldNames(array('column_1' => _("Column 1"), _("Column 2")));
>
> 	$data->setData($data);
>
> then:
>
> 	$foo = $data->exportToString()
>
> or:
>
> 	$data->exportToBrowser($filename)
>
> Right now, I'm thinking of adding the following:
>
> 	// returns a key => value array of the current settings here.
> 	$options = $data->getExportOptions();
>
> 	// sets the options.
> 	$data->setExportOptions($options);
>
> I haven't decided on how have it provide the UI for setting the options.
> I think the easiest way would be.
>
> 	$form = &Horde_Form::singleton();
> 	$data->addExportVariablesToForm($form);
>
> and on the receiving end:
>
> 	$form = &Horde_Form::singleton();
> 	if ($form->isValid()) {
> 		$form->getInfo($vars, $info);
> 		$data->readExportOptionsFromForm($info);
> 	}
>
> Eventually, I'd like the option for the application to build the data,
> perhaps set it in the session, then redirect to a Horde-standard page
> which knows about all the export formats, allows you to remap fields,
> specify date formats, newline and delimiters, quoting characters, how to
> escape quotes in quotes, all that jazz, and produce the file.  I'd like
> the user to be able to specify a name for the export settings and save
> the name and all the settings in the user's preferences.
>
> --
>  Jason M. Felice
>  Cronosys, LLC <http://www.cronosys.com/>
>  216.221.4600 x302



Jan.

--
http://www.horde.org - The Horde Project
http://www.ammma.de - Neue Wege des Lernens
http://www.tip4all.de - Deine private Tippgemeinschaft


More information about the dev mailing list