News

- Date is in american format

-- 01/14/03 --

- 0.2.2 released with:

+ sql: 
- Method added: setTableName()

+ Class added: 
  ::dynamicSql::
  - Extends Sql 
  
  - Used for creating an array with as key the form field name and as value null or the sql value from query.
  - It's possible to use it when you have a form which could have the value, as passed through the array 
    HTTP_GET_VARS from another page, or blank.  
  
  - Methods:	- setField(): 	   - For setting the form's field.
  		- setFieldValue(): - For making the sql query if there are the values, as in HTTP_GET_VARS 
		                     or create an array with as key the value of field and blank value. 

**************

-- 01/15/03 --

+ form: 
- Property added: js - name - method - action - enctype
- Method added: setJs() - ctrlJs() - setEnctype()

+ BUG:
- upload: - for the last modifies to the file fileClass added new include for dirClass

**************

-- 01/16/03 --

+ htmlOut:
- Method removed: htmlList()

**************

-- 01/17/03 --

+ htmlOut:
- Method added: imageList()

**************

-- 01/20/03 --
+ arrayLib
- Method added: ValueFromKey()

**************

-- 01/21/03 --

- 0.2.3 released with:

+ Class added:
  ::table::

 -Used for creating a table with standard table properties through data array.
 -This array can be for the moment organized into columns whit buildCols() method.

 - Methods:	- setDimensions()
 		- setBgColor()
 		- setAlign()
 		- setColorLine()
 		- setData():		- multidensional array with the cols/rows data
 		- buildCols():		- for building a columns table data structure
		- getHead()
		- getFooter()
		- getContent()
		- get Table()

+ dynamicForm:
- Method added: testValue()

+ dir:
- Method added: ldDir()

**************

-- 01/22/03 --

- 0.2.4 released with:

+ Class added:
  ::querySql::

 -Used for creating some standard sql query.

 - Property:     - sqlQuery		- An sql object

 - Methods:	- createSqlQuery()
		- execSqlQuery()
 		- setTable()
		- fieldElems(): 	- to have a particular table field return as array

**************

-- 01/23/03 --

+ sql:
- Method added: setOrderBy() - setFieldName()

+ querySql:
- Method added: setOrderBy()

+ mailDB:

- Removed: Constructor - sql extension

- Properties added: 	- message
			- sqlQuery

- Method added: createSqlQuery() - execSqlQuery() - setfieldName() - setTable() 

**************

-- 01/23/03 --

- 0.2.5 released with:

- New name PDK
- New folder organization

**************

-- 01/24/03 --

- 0.2.6 released with:

+ Class added:
  ::outMess::

- To use for printing messages from boolean tests.

- Methods:	- setMess()
 		- setTrueMess()
		- setFalseMess()
		- getMess()

+ DynamicForm:
- Method modified: execSqlQuery() -> exec SqlSelect() 

**************

-- 01/28/03 --

+ arrayLib:
- Methods added: SingleFromMulti()

+ Sql:
- Methods added: setQueryType() - closeConn() - getNumRows() - setNumrows()

**************

-- 01/30/03 --

+ htmlOut:
- Method removed: imageList()

+ image:
- Class name changed: imageFile

- 0.2.7 released with:

+ Class added:
  ::image::

- in html folder for making html image tag 

- Methods:	- setType()
		- setPath()
		- setImage()
		- getImage() 	- for getting one image
		- getImages() 	- for getting every image

**************

-- 02/03/03 --

- 0.2.8 released with:

+ Class added:
  ::link::

- for making a dynamic link list  

- Methods:	- setSingleHref()
		- setHref()
		- setClassName()
		- setParams()
		- setParamString()
		- setLinks()
		- getLinks()

+ sql:
- Method added: setInfo() - getInfo()

**************

-- 02/04/03 --

- 0.2.9 released with:

+ Class added:
  ::pagesDB::

- used whit the link class and the sql class creates a result page 
  from a query whit ordered links to the others results pages

- Methods:	- setLimitFrom()
		- setLimit()
		- createSqlQuery()
		- execSqlSelect()
		- setQueryType()
		- setFieldName()
		- setTable()
		- setTotalPages()
		- setPartTotalPages()
		- setPagesFrom()
		- setPagesNum()
		- getPagesNum()
		- getData()
		- closeConn()
		
**************

-- 02/10/03 --

- 0.3.0 released with:

+ Class added:
  ::testMail::

- this class is an util for testing a mail validation

- Methods:	- testMail()

**************

-- 02/28/03 --

- 0.3.1 released with:

+ sql:
- Method added: OneSeparFromMulti()

+ table:
- Method added: setColTitle() - getColTitle() - setVoidLine() 

+ form:
- Method added: button()

+ pagesDB:
- Method added: setCond() - setListCond()
- Method modified: setTotalPages() - getTable() - getField() 
- Method removed: setPartTotalPages()

+ link:
- Method added: setParamsList()

+ arrayLib:
- Method added: keyFromValue()

+ date:
- Method added: getMonthNum() - getMonthName()

+ arrayLib:
- serial() - unserial()

**************

-- 03/12/03 --

- 0.3.2 released with:

+ table:
- Method added: setTableCss()

+ Class added:
  ::joinDB::

- To use like interface for managing the join operation.

- Methods:	- createSqlQuery()
		- execSqlQuery()
		- execSqlSelect()
		- setCode()
		- setValidationPage()
		- setcodeTable()
		- sendMail()
		- closeConn()

**************

+ Class added:
  ::string::

- In order to have a specific class for strings manipulation.

- Methods:	- cutStr()
		- getStr()

+ arrayLib:
- Method added: putBefore() - putEnd() - cutEnd() - toEqual() - getfirstVal() - getfirstKey()

+ dir:
- Method modified: lsDir()

+ link:
- Method modified: setParamString() - setLinks()

+ table:
- Method added: setBgTitleColor()
- Method modified: getColTitle() 

**************

-- 05/15/03 --

- 0.3.4 released with:

+ link:
- Method modified: setSingleHref() - setHref() - setLinks() 
- Bux fixed: 	- add in constructor params var inizialization -> array()

+ dynamicSql:
- Bux fixed: 	- delete $field arg from setField() 

+ sql:
- Method modified: select() - getCase() - getField() - getLine()
- Method added: getListTable() - setListTable() - setOrder() - setOrderBy() - setOrderByString() - setLimitFrom() - setLimit()

+ pagesDB:
- Method added: getField() - setOrder() - getPageNum() - getPagesResult() - setPagesNum()
- Method removed: setOrderBy() - setOrderByString()
- Method modified: setLimitFrom() - setLimit() - setOrderBy() - execQuery()

**************

-- 06/20/03 --

- 0.3.5 released with:

+ sql:
- This class has had a lot of change in this new feature and now it's possible to do more selections (and data get) because the query
  string is become an external object and with the method addQueryString() you can add a new sql selection string within the own
  data return array. It's possible to generate the query string object outside the sql class and then pass it to this class throught 
  the addQueryString() method yet. When you use the sql class now you have to import the queryString class of course.

+ pagesDB:
- I have deleted this class and a few methods of it are now in queryString class, as part of query string creation.

+ Class added:
  ::passgen::

- To generate pass with md5

- Methods:	- setPass()
		- getPass()

**************

-- 08/21/03 --

- 0.3.6 released with:

+ sql:
- Method added: setOrderByList()

+ queryString:
- Method added: setOrderByList()
- Method Modified: setOrderBy(), setOrderByString()

+ arrayLib:
- Method added: orderByNum(), numFormat()

+ jsList:
- Now is possible to pass, throught the constructor, a link list array. But this must have as keys a num list from 0 to ....
  For this reason i have added the previous new array method to array lib, which create a new array from that passed, having as 
  key a num list.
- Method added: setExtParams()

+ html:
- Into a text field it's possible now to set the field size, through the func_{get/num}_arg functions. I hope, like the dynamic
  binding in java language, i can write in future with a dynamic system my methods because for the moment this is the single
  ugly type of dynamism usable. 

+ form:
- Method added: setDisabled(), getDisabled()

**************

-- 09/09/03 --

- 0.3.7 released with:

+ link:
- Now is possible use directly getLinks() without calling explicitly setLinks()

+ outMess:
- added the class constructor
- Method added: setBoolMess()

+ arrayLib:
- Method added: ctrlDiff()

+ table:
- Method added: getColsTable()

+ Class added:
  ::objectLib::

- Static methods library to work with object 

- Methods:	- serial()
		- unserial()

**************

-- 09/26/03 --

- 0.3.8 released with:

+ Class added:
  ::varLib::

- Static methods library to work with var 

- Methods:	- defValue()

+ Class added:
  ::jsLib::

- Static methods library to work with js 

- Methods:	- toJsArray()

+ Class modified:
  ::dynamicForm.php::

- All about the sql query has been erased and now with this class is possible 
  to set simply the dynamic field list through an array passed within setFieldsList method.
  This array must have as keys the fields names and as values the fields values.

- Method removed: createSqlQuery(), execSqlQuery(), testValue()
- Method modified: fieldList() => setFieldsList(), getList() 

+ Class name modified:
  ::string.php:: => ::stringLib.php::

+ arrayLib:
- Method added: callFunc()

**************

-- 10/29/03 --

- 0.3.9 released with:

A lot of changes in this new version. For this i have decided to print here
the new file tree. The html an js folders are now in the new folder grafx which 
contains each class to create or manage graphics. 
I have begun to use in a lot of methods the func_num_args() func_get_arg() functions also.
It's the one system to implement the polymorphism in php.

The form now have into its properties an array 'fields' of form objects and every
form element is now a separated class. Anyway to import the form classes you have only to
use Form class file and form.inc file.
The image are used in a java like system and every method for i/o is in io/imageIO class.
In image class there is, as property, now the image resource managed by the ImageIO methods.

The file folder has been deleted and the file are now used like an i/o stream. For this reason
the File class has been moved to the i/o folder. For the moment there is only the FileOutput 
class but i think to create the FileInput as soon as possible.

Last, i have added the important method to objectLib class createArray(). So far in php isn't
possible to create with a language structure directly an objects array and with this, maybe 
dirty ;-), method is possible to do it. 
However i know to write a better system in the next months, maybe a class to define a meta-type
"Object-Array".

.
|-- grafx
|   |-- grafx.inc
|   |-- html
|   |   |-- form
|   |   |   |-- button.php
|   |   |   |-- checkbox.php
|   |   |   |-- dynamicForm.php
|   |   |   |-- field.php
|   |   |   |-- fileSelect.php
|   |   |   |-- form.inc
|   |   |   |-- hidden.php
|   |   |   |-- password.php
|   |   |   |-- radio.php
|   |   |   |-- reset.php
|   |   |   |-- selectOne.php
|   |   |   |-- submit.php
|   |   |   |-- text.php
|   |   |   `-- textarea.php
|   |   |-- form.php
|   |   |-- html.inc
|   |   |-- htmlOutput.php
|   |   |-- img.php
|   |   |-- link.php
|   |   `-- table.php
|   |-- image
|   |-- image.php
|   `-- js
|       |-- js.inc
|       |-- jsLib.php
|       `-- jsList.php
|-- io
|   |-- file.php
|   |-- fileOutput.php
|   |-- imageIO.php
|   |-- io.inc
|   `-- outMess.php
|-- lang
|   |-- arrayLib.php
|   |-- lang.inc
|   |-- objectLib.php
|   |-- stringLib.php
|   `-- varLib.php
|-- sql
|   |-- queryString.php
|   |-- sql.inc
|   `-- sql.php
`-- util
    |-- date.php
    |-- encode64.php
    |-- passgen.php
    |-- testMail.php
    `-- util.inc

**************

-- 04/22/2004 --

- 0.4.0 released with:

+ arrayLib:
- Method added: toString(), splitByValue(), merge(), mergeRecursive(), sumRecursive(), key_ValueRecursive(), 
		toPlain(), percentage(), toPlainRecursive(), insert(), insertRecursive(), strReplace(), eqStrReplace()

+ sql:
- Method added: exec_query(), getError()
- Method modified: query(), select()

+ queryString:
- Method added: setError(), getError()

+ table:
- Method modified: setData(), getColsContent()

+ objectLib:
- Method removed: createArray()

+ table:
- Method added: setAlignGroup(), setData()

+ form:
- Method added: setTarget()

+ Class added:
  ::objectsArray::

- Class to create arrays of objects automatically by setting a list of objects 
  ($elements in array) and their constructors arguments. It's already possible
  to insert in the same array differents kinds of objects instances. 

- Methods:	- setElements()
		- setArguments()
		- getObjectsArray() 

**************

-- 05/06/2004 --

- 0.4.1 released with:

+ Class added:
  ::xml::

- Added into new /xml dir. It can read a document, for the moment without the auto-closing tags like <name/>, and
  build a multi array to return specifics values.   

- Methods:	- setXMLTree()
		- setProperties()
		- insertRecursive()
		- scrollXMLTree()
		- getNodeContent()
		- getNodeProperties()
		- getXMLTree()

**************

-- 03/14/2006 --

- 0.4.2 released with:

+ xml
- Method modified: getNodeContent()
- Bug solved: setProperties()

+ imageIO
- Method added: test_contents()

+ sql
- Method modified: Sql() 

+ array
- Method added: elemensWalk(), byStrstr(), byEreg(), eregReplace(), pregReplace(), orderByKeyList(), 
		printArray(), explodeArray()

+ form:
- Method modified: setJs()

+ StringLib
- Method added: cutExternalStr() 

+ DynamicForm: 
- Method added: setDisabledList(), setListJs()

+ Class added:
  ::mathlib::

- Methods:	- randNums()

**************

-- 05/26/2007 --

- 0.4.3 released with:

+ ArrayLib
- Method modified: cutEnd(), putBefore(), keyFromValue(), valueFromKey()

+ Table
- Method added: getRowsTable(), buildRows()

+ TestMail
- Method modified: testMail() 

**************

-- 09/11/2007 --

- 0.4.4 released with:

+ field:
- Property added: id
- Method added: setId(), getId()
- Every form element now has its own default id value derived by field name. 
  However it's possible to change it with the specific method setId().

**************

-- 09/15/2009 --

- 0.4.5 released with:

+ Each form element object has been rewritten in (x)html format.

**************

-- 06/22/2010 --

- 0.4.6 released with:

+ Table
- Property added: tdStyle, styleLine, titleStyle
- Property removed: voidLine
- Method added: setTdStyle(), setStyleLine(), setTitleStyle()
- Method modified: buildCols(), buildRows()

**************

-- 07/26/2010 --

- 0.4.7 released with:

+ Form
- Property added: id
- Property removed: target
- Method added: setId()
- Method removed: setTarget()

**************

-- 09/13/2010 --

- 0.4.8 released with:

+ Form
- Property added: target
- Method added: setName(), setTarget()
- Method modified: Form(), getHead()
- The second Form constructor parameter is now used to just set id property.
  It's possible to set the name parameter using setName() method. 

**************

-- 12/16/2010 --

- 0.4.9 released with:

+ Class added:
  ::divtable::

- It creates a table structure using just nested div tags and css properties.
  It's possible to set an head for the columns titles and each line is divided into cells. 

- Methods:      - setId() 
        	- setCss() 
        	- setTableAttr() 
        	- setColTitle() 
        	- setTitleColStyle() 
        	- setContentColStyle() 
        	- setColStyle() 
        	- setTitleStyle() 
        	- setLineAttr() 
        	- setData() 
        	- buildCols() 
        	- getHead() 
        	- getFooter() 
        	- getColsTable() 

**************

-- 01-12-2010 --

- 0.5.0 released with:

+ form
- Method modified: getField()

+ radio
- Method modified: getField()

+ checkbox
- Method modified: getField()

- Now each checkbox or radio input field has an unique id

**************

-- 03/09/2011 --

- 0.5.1 released with:

+ form
- Method added: addFieldAttribute(), search(), slider()

+ field
- Property added: attributes
- Method added: addFieldAttribute(), getFieldAttributes()

+ button
- Method modified: getField()

+ checkbox
- Method modified: getField()

+ fileSelect
- Method modified: getField()

+ hidden
- Method modified: getField()

+ password
- Method modified: getField()

+ radio
- Method modified: getField()

+ reset
- Method modified: getField()

+ selectOne
- Method modified: getField()

+ textarea
- Method modified: getField()

+ text
- Method modified: getField()

+ Class added:
  ::search::

- New html5 search field

- Methods:      - setSize()
		- getSize()
		- getField()

+ Class added:
  ::slider::

- New html5 search field

- Methods:      - setSize()
		- setMin()
		- setMax()
		- getSize()
		- getMin()
		- getMax()
		- getField()

**************

-- 03-10-2011 --

- 0.5.2 released with:

+ form
- Method added: setAddVoidField()

+ selectOne
- Method modified: getField()
- Method added: setAddVoidField()

**************

-- 03-15-2011 --

- 0.5.3 released with:

+ form
- Method modified: getHead()
- Method added: addAttribute(), getAttributes()

**************

-- 05-12-2011 --

- 0.5.4 released with:

+ dynamicForm
- Method modified: DynamicForm()

+ xml
- Method modified: setXMLTree(), setProperties()

**************

-- 26-04-2012 --

- 0.5.5 released with:

+ selectOne
- Property modified: selected
- Method modified: setSelected(), getOption()
- Now selectOne is a multiple selection field

**************

-- 10-08-2012 --

- 0.5.6 released with:

+ selectOne
- Method modified: getOption()

**************

-- 25-07-2013 --

- 0.5.7 released with:

+ Class added:
  ::pdoSql::

- This class provides a PDO database connection wrapper with several methods for querying and retrieving data.

- Methods:	- exec()

	  	- prepare()
		- bindParam()
		- execute()

		- select()

		- getField()

+ Class added:
  ::pdoSqlParam::

- Class used by PdoSql select() method to receive a PDOStatement::bindParam arguments data.

+ Class added:
  ::pdoSqlValue::

- Class used by PdoSql select() method to receive a PDOStatement::bindValue arguments data.

**************

-- 13-01-2014 --

- 0.5.8 released with:

+ pdoSql
- Method modified: exec()
