Top Level :: Structures

Package Information: Structures_DataGrid

Show All Changelogs
» Version » Information
0.9.0Download

Release date: 2007-12-18 16:16 UTC
Release state: beta

Changelog:

- add 18 examples, including simple AJAX support
- support setting rendering options for all renderers at once
with setRendererOption*()
- new common renderer options: onMove and onMoveData, for support of
onclick/onsubmit events
- rename 'primary_key' DataSource option as 'primaryKey'
- new PDO DataSource driver is available as a separate subpackage
- new URL mapping feature by Sascha Grossenbacher,
- Request #9994 :new setUrlFormat() method providing clean URL mapping,
by Sascha Grossenbacher
- add ability to use objects of any class instead of associative arrays as
records (not all datasources support that, and renderers handle such objects
differently whether they support "Object Preserving" or not)
- add Smarty renderer unit test

Dependencies:
  • PHP Version: PHP 4.3 or newer
  • PEAR Package: PEAR Installer 1.6.0 or newer
  • PEAR Package: PHPUnit 1.3.2 or newer (optional)
  • PEAR Package: File 1.3.0 or newer (optional)
  • PEAR Package: Net_URL_Mapper 0.9.0 or newer (optional)
  • PHP Extension: sqlite (optional)
0.8.3Download

Release date: 2007-04-12 14:46 UTC
Release state: beta

Changelog:

- Bug #10590: calls to removeColumn() could lead to a fatal PHP error
(thanks to Chris Van De Wouw)

Dependencies:
  • PHP Version: PHP 4.3 or newer
  • PEAR Package: PEAR 1.4.9 or newer
  • PEAR Package: PEAR 1.2 or newer
0.8.2Download

Release date: 2007-03-11 13:21 UTC
Release state: beta

Changelog:

- Bug #9992: sorting the first column failed for array based DataSource drivers
in the case of missing or numeric column names
(thanks to Michael Mauch, michael dot mauch at gmx dot de)
- Bug #10213: static calls to dataSourceFactory() and rendererFactory() resulted
in a fatal PHP error
(thanks to Markus Ernst, derernst at gmx dot ch)

Dependencies:
  • PHP Version: PHP 4.3 or newer
  • PEAR Package: PEAR 1.4.9 or newer
  • PEAR Package: PEAR 1.2 or newer
0.8.1Download

Release date: 2007-01-15 15:25 UTC
Release state: beta

Changelog:

- Fix for bug #9820: when the DataSource fetching failed, the error got lost

Dependencies:
  • PHP Version: PHP 4.3 or newer
  • PEAR Package: PEAR 1.4.9 or newer
  • PEAR Package: PEAR 1.2 or newer
0.8.0Download

Release date: 2006-12-16 16:13 UTC
Release state: beta

Changelog:

- added streaming support for outputting large datasets that can exceed PHP's
memory limit; streaming is currently supported by many DataSource drivers and
the CSV and XML renderers; more details about this new feature can be found
in the manual
- secured the sort direction input string
- new abstract writeMode DataSource interface, for future support of data
editing features
- new SDG_Column::format() method providing auto-formatters for dates, numbers
and more
- bug #9566: new Structures_DataGrid::getColumns() method for fetching all
of the columns currently loaded in the datagrid
(thanks to Daniel Garcia, daniel at assertio dot es)
- bug #9548: new SDG_Column::set|getDefaultDirection() methods for
handling per-column default sorting directions
(thanks to Anton, hire at ukr dot net)
- bug #7710: new generateColumns() method. The DataSource options
"generate_columns" and "labels" are now deprecated.
- BC break: renderer auto-detection for HTML_QuickForm objects was removed
because there will be more renderers that accept HTML_QuickForm objects in
the future
(to make your code work again, you just need to specify 'HTMLSortForm' as the
renderer on render(), getOutput(), fill() etc. calls)
- this package is now licensed under the New BSD license

Dependencies:
  • PHP Version: PHP 4.3 or newer
  • PEAR Package: PEAR 1.4.9 or newer
  • PEAR Package: PEAR 1.2 or newer
0.7.2Download

Release date: 2006-10-17 19:40 UTC
Release state: beta

Changelog:

- The usage of constants for selecting DataSource or Renderer driver is now
deprecated. Use the name of the driver instead (e.g. CSV, DB_Table, Smarty).
For some drivers there exist also more logical names like 'Excel' (instead of
'XLS'). Names like 'HTML_Table' (name of the PEAR package) and 'HTMLTable'
(name of the Structures_DataGrid driver) are both allowed.
- Bug #8005: fill() did not pass options to the renderer
(thanks to Daniel Rossi, pear at electroteque dot org)
- use native http_build_query() if PHP 5 is installed
- Request #8061:
added getDataSource(), made datasourceFactory() public
added getter and setter methods for all column object attributes
fixed non-static call in dataSourceFactory()
(thanks to Markus Ernst, derernst at gmx dot ch)
- Request #7969: added example to the fill() method
(thanks to Benny Labach, bennythebee at gmail dot com)
- Request #8089: fixed the DataSource class documentation
(thanks to Michel D'HOOGE, michel dot dhooge at gmail dot com)
- Request #8320: new removeColumn() method
(thanks to Arcadius, arcadius at menelic dot com)
- fixed calculation of the number of the last record
- fixed internal usage of the page number that was either given via the second
constructor parameter or via the 'page' GET variable: if it is too low or too
high, it is now resetted to 1 ("too low" means: the given page number is lower
than 1; "too high" means: the real page count is lower than the given page
number)
- fixed handling of column attributes for the Smarty renderer

Dependencies:
  • PHP Version: PHP 4.3 or newer
  • PEAR Package: PEAR 1.4.9 or newer
  • PEAR Package: PEAR 1.2 or newer
0.7.1Download

Release date: 2006-06-19 17:56 UTC
Release state: beta

Changelog:

##########################################################################
# WARNING - BACKWARDS INCOMPATIBILITIES #
# #
# The Structures_DataGrid::renderer property is not public anymore. It #
# is now required to use the Structures_DataGrid::getRenderer() method #
# in order to access the renderer object. #
# #
# Arguments for column formatters are not available anymore in the first #
# parameter of self-defined formatter functions. There is a new second #
# parameter which holds these arguments (see also below, request #6720). #
# If you want to have the old behaviour (i.e. all arguments in the array #
# of the first parameter), just add the following line #
# $_STRUCTURES_DATAGRID['column_formatter_BC'] = true; #
# before adding your columns to the datagrid. #
# #
# Adding or removing single records via Structures_DataGrid::addRecord() #
# and Structures_DataGrid::dropRecord() isn't possible anymore. #
##########################################################################

##########################################################################
# ATTENTION #
# #
# All drivers (i.e. all DataSources and all Renderers) have been #
# unbundled from Structures_DataGrid and are now available as separate #
# PEAR packages. #
# #
# Therefore, to run your scripts, you have to install some of these new #
# packages as well. For example, most users will need to install the #
# package Structures_DataGrid_Renderer_HTMLTable. #
# #
# The installation of *all* DataSources is possible via: #
# pear install Structures_DataGrid-beta#datasources #
# The installation of *all* Renderers is possible via: #
# pear install Structures_DataGrid-beta#renderers #
##########################################################################

BUGS:

- bug #4415: example files were installed in the package directory, now they
will be installed into [PEAR-DOC-DIR]/Structures_DataGrid/docs/examples/
- bug #5858: removed @ before include() in DataSource.php (could crash silently)
- bug #6624: column formatters using class names didn't handle parameters and
class methods at the same time

FEATURE REQUESTS:

- requests #5758 and #7927: new parameters for Structures_DataGrid_Column::formatter()
callback: 'fieldName', 'columnName', 'orderBy', 'attribs', 'currRow', 'currCol'
- request #5859: the rendering layer has gone through a long refactoring
process and a new and flexible renderer driver interface has been
implemented
- request #6621: new method getColumnByName() that returns a reference to
a column object
- request #6720: arguments for column formatters can now be added via the (new)
seventh column constructor (for example, you can now add arrays as arguments)

OTHER FIXES AND CHANGES:

- all DataSource and Renderer drivers have been unbundled
- new DataSource drivers: DBTable, DBQuery and MDB2
- query building:
The query building process has been optimized, and is now more
flexible due to the use of http_build_query().
- custom rendering containers:
The containers that rendering drivers use to do their job, such as
HTML_Table, Spreadsheet_Excel_Writer, etc. can now be instantiated
and customized by the user. They are then passed to the rendering
driver with new methods such as Structures_DataGrid::fill() or
Structures_DataGrid_Renderer_*::setContainer().
- new fill() method:
This method is meant to be to renderers what bind() is to datasources.
It accepts a "rendering container" object (where bind() accepts a
"datasource container") which it fills with data. No data is output
during this process. It is up to the user to decide what to do with
the container once it's been filled up.
- sortable and unsortable fields:
Better support for the $orderBy parameter of the column constructor:
if it is null, then the corresponding column is considered unsortable,
which is taken into account by various renderer drivers (HTMLTable, XUL,
etc.)
- new rendering driver: Structures_DataGrid_Renderer_HTMLSortForm

Dependencies:
  • PHP Version: PHP 4.2 or newer
  • PEAR Package: PEAR 1.4.9 or newer
  • PEAR Package: PEAR 1.2 or newer
0.6.3Download

Release date: 2005-10-25 21:08 UTC
Release state: beta

Changelog:

* Bug #3304 : fixed the requestPrefix handling.
thanks <pm at phpshop dot org>
* Bug #3306 : addColumn() is now compatible with bind()
thanks E. Grace <ej.grace at imperial dot ac dot uk>
* Bug #3588 : Handle quotes in CSV renderer correctly
thanks <justinpatrin at php dot net>
* Bug #3601 : Wrapped HTML output with htmlentities()
thanks <maarten at xolphin dot nl>
* Bug #3607 : Fixed fatal error when binding to a null data set
thanks <nick at foobar dot org>
* Bug #3617 : Fixed warning message when sorting with Array data source
thanks <rafal at friendlysol dot com>
* Bug #3715 : Fixed notice message with column formatter
thanks <maarten at xolphin dot nl>
* Bug #3769 : Fixed calling DataObject getters as a function instead of a property
thanks <listsdg at yahoo dot fr>
* Bug #3781 : Fixed incorrect require_once path on CSV datasource
thanks <pear at felixdd dot de>
* Bug #3847 : Fixed warning raised when the recordset is null
thanks <justinpatrin at php dot net>
* Bug #3859 : Fixed useHeader method in HTML_Table renderer
thanks <daniel at assertio dot es>
* Bug #4022 : Fixed issue with including record variable in column formatter when parameters are defined
thanks <justinpatrin at php dot net>
* Bug #4350 : Fixed XML renderer constructor
thanks <tier at gregor-widuch dot de>
* Bug #4375 : new method to customize generated links:
HTMLTable::setExtraVars()
thanks <keith at setuplinux dot com>
* Bug #4403 : Fixed sorting for non-datasource recordsets.
thanks <jessup at mrpath dot com>
* Bug #4416 : Added 4 new methods to allow for retrieving of current display status of the DataGrid:
SDG::getPageCount()
SDG::getRecordCount()
SDG::getCurrentRecordNumberStart()
SDG::getCurrentRecordNumberEnd()
thanks <post at mark-wiesemann dot de>
* Bug #4421 : Fixed error on DataObject data source with FormBuilder Integration
thanks <justinpatrin at php dot net>
* Bug #4503 : Fixed error with sorting in Array DataSource
thanks <justinpatrin at php dot net>
* Bug #4521 : Fixed the perpage limit with HTMLTable renderer to show all records instead of the default 10
thanks <wiesemann at php dot net>
* Bug #4527 : Fixed allowEmptyRows() method in HTMLTable renderer to display correct number of rows
thanks <wiesemann at php dot net>
* Bug #4557 : Fixed 1st row overwriting header row in XLS renderer
thanks <wiesemann at php dot net>
* Bug #4558 : Modified render output for XLS renderer to allow saving to the local file system
thanks <wiesemann at php dot net>
* Bug #4863 : Fixed notice in CSV renderer about the not intialized variable
thanks <info at borki dot ch>
* Bug #4872 : fixed a notice when using formatters
thanks <pupeno at pupeno dot com>
* Bug #4874 : Fixed the name of the getter call in DataObject datasource
thanks <evt at infoware dot com dot au>
* Bug #5255 : missing dependencies caused a silent bug
thanks <blcdhq at gmail dot com>
* Bug #5292 : fixed HTMLTable header parsing and generation
* Bug #5300 : Fixed notice on column formatter
thanks <kick_tisho at yahoo dot com>
* Bug #5327 : Can now define a custom lineBreak in CSV renderer. Also removed extra white space between each element.
thanks <post at mark-wiesemann dot de> and <pnovess at mac dot com>
* Bug #5535 : Fixed XLS and XUL renderers due to bad check for null
thanks Aaron Wormus

* The $type argument of the bind() method was not usable because
DATAGRID_SOURCE_* constants were defined in the wrong place : fixed
* Fixed some undefined variable notices in the XLS renderer, for empty
data rows (related to bug #5535)
* The CSV datasource did not correctly strip DOS'ish carriage returns:
fixed

Dependencies:
0.6.2Download

Release date: 2005-01-26 21:32 UTC
Release state: beta

Changelog:

Fixed unexpected parse error

Dependencies:
0.6.0Download

Release date: 2004-12-21 20:20 UTC
Release state: beta

Changelog:

Initial Beta Release - Beware of many changes to the core API

********* Warning: You must now instantiate as a reference **********

Implemented new data source layer to handle data manipluation with many
different data source types such as DB_DataObject, CSV, XML, etc.
The DataGrid now handles the data fetching, so if you are using
DataObjects, all you need to do is bind to the dataobject with out
fetching, the DataGrid will take care of the rest. Same with a DB_Result
object, just simply create the result object and bind it to the datagrid.

New Features:
Automatic GET/POST/Cookie handling for sorting and paging
Renderers: XUL, CSV, Console Table
DataSources: DB_Result, DB_DataObject, Array, CSV, XML, RSS

Many Bugfixes included as well:
Bug #2123: Allows to use db_dataobject extended classes
Bug #2124: Implement formbuilder options from db_dataobject
Bug #2125: Allow GET/POST/COOKIE varaibles for sorting to have prefixes
Bug #2128: Better error handling for setRecord method
Bug #2438: HTML Renderer better organized with render, toHTML, getTable
methods. Other renderers reflect similiar changes
Bug #2499: Converted all ampersands to &
Bug #2501: Implemented a sorting icon indicatior for HTMLTable renderer

Dependencies:
0.5.3Download

Release date: 2004-08-10 16:01 UTC
Release state: alpha

Changelog:

This release is to be the final Alpha release.
Moved setRendered method from XML renderer to XLS renderer
Numerous documentation cleanups

Dependencies:
0.5.2Download

Release date: 2004-08-10 15:38 UTC
Release state: alpha

Changelog:

This release is to be the final Alpha release (hopefully).
Warning: API Changes!
Reorganized renderer APIs for HTML_Table, XML, and XLS to allow for a toHTML and a toXML and getSpreadsheet methods. The render methods now print, and the to* return strings. (Bug #2102)
Added rendered variable and setRendered methods in Renderer classes (Bertrand)
Fixed Record Drivers to work with PHP 5 (Bug #1739)
Moved require statement for the Pager class for more optimization (Bug #2027)
Fixed undefined offset warning, again :) (Bug #1545)
Numerous documentation cleanups

Dependencies:
0.5.1Download

Release date: 2004-06-25 17:16 UTC
Release state: alpha

Changelog:

The "formatter" method in the Column object now supports OO calls (Bug #1584).
The allowEmptyRows attribute in the column object now has a method.
The HTML Renderer class methods were modified to allow setting of all attributes instead of hardcoded to individual attributes.
Fixed notice errors (Bug #1545)
Added more functionality to working with the Pager object (Bug #1501)
Fixed Pager class instantiation to work with PHP5 (Bug #1371)

Dependencies:
0.5Download

Release date: 2004-05-04 01:36 UTC
Release state: alpha

Changelog:

Implemented the HTML::pager class into the HTML Table renderer class (Bug 1025)
The "formatter" method in the Column object is now stable, but still needs more work or rewriting.
HTML Render method now return HTML instead of echo HTML (Bug 1063)
Querystring overwriting during sorting is fixed (Bug 1181)

Dependencies:
0.4.1Download

Release date: 2004-03-16 20:55 UTC
Release state: alpha

Changelog:

Implemented name change from "DataGrid" to "Structures_DataGrid"
Removed link elements from column class as to not be hard coded for html output

Dependencies:
0.4Download

Release date: 2004-03-16 16:05 UTC
Release state: alpha

Changelog:

This is the first public release.

Dependencies: