We are pleased to announce the immediate availability of our Guriddo Suito PHP 4.8 release. This release is HUGE. In addition to adding server side validation to jqGrid PHP and Form PHP, we’ve also added a lot of improvements to our Excel exporting features, improved support of Save/Load State, language improvements and fixed more than 60 bugs. Here are the highlights:
A new Validation module (class) is added. With its help we can perform a server side validation of the data entered from the users. The class is embedded in jqGrid and jqForm automatically and require minimal settings. Again with this the user input can be sanitized.
The module support the following types in validation module: ‘date’ ,’datetime’,’time’, ‘alfanum’, ‘not_empty’,’words’, ‘anything’, ‘string’,’text’, ‘number’, ‘float’, ‘int’, ‘integer’, ’email’, ‘boolean’, ‘ip’, ‘url’
This module is the most changed one. We introduce a new styling, validation and adding a arbitrary html element. You can visit our updated demo to view all the changes in the module.
Added is a export to Excel with creating a true Excel file; improvements in Form Edit module allowing creation of form template, improvements in virtual scrolling. The very useful addition ar Save State/ Load State functions which allow to save an load the current state using the localStorage.
We introduce a new grid styling which make jqGrid to look modern. Again with this we have added support for Bootstrap. We highly recommend to visit the updated demo where all new features are presented.
Now it is possible to set arbitrary field names in the table which represent jqScheduler.
We added a PHP support for Highchart. Note that this is a PHP wrapper only and a license for the Highcharts is not included.
For a existing users it is highly recommended to read the upgrade guide included in the package.
Below is a list of changes :
Common: the default language file is English. In order to load you desired language
it is needed to set the new variable regional in grid options. Note that with this release it
is possible to have different language files for different grids on the same page. Suppose you want to use
Japan language file – you will need first to load the grid.locale-jp.js and then
Common: Added autoloader class which automatically load the needed classes when is requiered.
Common: Change of directory structure, separate class in separate files.
jqValidator: added a class which performs validation and sanitation at server
jqForm: added ui.jqform.css style which should be included in the html page
jqForm: added new function addHtmlElement($name, $content=”) to add any html element in the form.
jqForm: Added public properties $serverValidate (to enable/disable server validation) and $serverSanitize
to enable/disable server sanitatation). The default values of these is false.
jqForm: Added method setValidationRules( $arule ) to set validation on the server. Works only if the $serverValidate is set to true. The structure of the array is as follow
$validations = array(
‘name’ => array(“number”=>true, “required”=>true, “minValue”=>0, “maxValue”=>3, “sanitize”=>true),
’email’ => array(’email’=>true, “required”=>true),
‘alias’ => array(‘anything’=>true),
We support following types when validate: ‘date’ ,’datetime’,’time’, ‘alfanum’, ‘not_empty’,’words’, ‘anything’,
‘string’,’text’, ‘number’, ‘float’, ‘int’, ‘integer’, ’email’, ‘boolean’, ‘ip’, ‘url’
jqForm : added new function setSanitatationRules( $arule ) to sanitize the user input. Work only if $serverSanitize
is set to true. The structure of the array is as follow:
$sanitize = array(‘name’,’email’,’alias’); Note that the validations array should be set setValidationRules( $arule ) in order this to work.
For a easy setup you can set in validation array “sanitize”=>true in order to perform the operation. You can control booth operations using $serverSanitize and $serverValidate
We support following types when sanitize: “url”,”int”,”integer”,”float”,”number”,”email”,”text”,”string”.
If the type can not be found, we use the default one – string.
jqForm: added new function setView( $view = ‘horizontal’) to set a diffrent view on the form. The possible values of the $view pareameter are: horizontal, vertical, inline, table
jqForm: added new function setStyling( $style = ‘jqueryui’) to set a diffrent styling of the form. The default styling is
jqueryui. When this is used the jquery ui css file should be included. The other option is ‘bootstrap’. If this option
is used the bootstrap css file should be included – see the updated demos.
jqGrid: all the functions related to export are moved in separate class and file jqGridExport
jqGrid: all the functions related to CRUD are moved to separate file and class jqGridEdit
jqGrid: all the functions related to jqGrid rendering are moved to separate class and file jqGridrender
jqGrid: added Server validation and sanitatation. The setting of server validation is the same as in the form
class. See above the code for jqForm server related validation
jqGridExport: Added export to excel with creation of true Excel file. This is achieved with using the
PHP Excel class.
– jqGridExport: added function setExcelOptions( $exceloptions) to set various Excel options.
The default values sre (see the updated demo)
“file”=>””, //excel file to be exported
“start_cell” => “A1”,
“subject”=>”Office 2007 XLSX Document”,
“description”=>”Document created with Guriddo”,
“keywords”=>”Guriddo, jqGrid, Excel”,
“protect” => false,
To use the true export to excel you will need to have the PHP Excel lib installed and point the path to
it using path_to_phpexcel_class of the options. The SuitoPHP package comes standard with this lib.
jqGridExport: added public variable $excelFunc. This is Custom function which can be called to modify the grid output
before the output to excel. Parameters passed to this function are the response object and the db connection
jqGridExport: added public variable $excelClass. Custom call can be used again with custom function customFunc. We can call
this using static defined functions in class customClass::customFunc – i.e
$grid->excelClass = Custom, $grid->excelFunc = myfunc
$grid->excelClass = new Custom(), $grid->excelFunc = myfunc
jqGridExport: added function getExcelOptions to get the current excel options
jqUtil: file is renamed to jqGridUtils for correct loading with autoloader
jqScheduler: aded public variable $databasepath which point to database.php
jqScheduler: it is possible now to define arbitrary fields in the database which is manipulated in scheduler.
To do so the keys in dbmap protected array can be modified. The array is present in
jqScheduler: added support for PostgreeSQL and SQL Server databases.
Driveres: Database drivers are moved to separate directory.
Visual Form: added new variable in $DRIVER_PATH in jqformconfig.php which should poin to the database driver
Visual Form: the FileTree class output only xml files