1.2.0 (2010-05-18) ---- - The directory structure has changed for some packages. - A few classes have been renamed based on the above changes. People new to Spoon should have an easier time, trying to find the location of the subpackages. - Spoon::setObjectReference now also returns the instance you provide it. - When an exception is thrown, we try to add the last PHP error message if it's available. - SpoonFilter::isURL now allowes square brackets and semicolons. - SpoonFilter::replaceURLsWithAnchors now allowes square brackets and semicolons. - If an exception has a code, this code will be used to link to the documentation section on the website which might contain more information about this specific exception. - Template cycle tags may now contain a few more characters to give more flexibility in your templates. - Fixed a bug in SpoonTemplate which prevented first/last options to function normally when your arrays did not start with the 0 key element. - An extension check has been added to make sure 'mbstring' is loaded before you can use any Spoon class. - Fixed some comments in multiple files. - Exception-mails are formatted with inline styles. - Fixed a performance issue with SpoonFormDropdown in the parse method. - Implemented an autoloader for Spoon. - SpoonFile::download() now deletes empty file handles when the HTTP return status is not 200. - Added SpoonDatagrid::getTemplate to retrieve the actual template object being used for parsing your datagrid. - Added initial version of the new SpoonFileCSV class. - SpoonFilter::toCamelCase now allowes the separator to be a string OR array. - Fixed a few issues with invalid markup generated by SpoonForm::getTemplateExample() for radiobuttons/checkboxes. - SpoonFilter now uses ctype & filter_var functions to speed up some checks methods. - Fixed an issue with the SpoonDatagrid paging template file. - An extra method 'createThumbnail' has been added to SpoonFormImage. - Tokens have been implemented in SpoonForm. They are disabled by default. - Fixed an issue in SpoonFilter::toCamelCase concerning words with uppercase characters in it. eg SpOoN LiBrarY. - SpoonFilter::getValue() now accepts arrays for the first argument, as well as 'array' for the returnType argument. - Added SpoonFilter::arrayMapRecursive(), a way to map multi-dimensional arrays with one or more functions. 1.1.5 (2010-02-07) ---- - Added SpoonDate::getTimeAgo which presents you with a language dependant sentence based on the provided timestamp in the past. - Added SpoonTimeField::getTimestamp which returns a timestamp based on the provided values in conjunction with the hh:ii format in the timefield. - Fixed a bug in SpoonDateField::getTimestamp when not providing all the optional arguments. - Template modifiers may now contain colons if you encapsulate with single quotes. eg {$now|date:'Y-m-d H:i'} - Modifiers are no longer allowed within cache/include tags. - Implemented a few basic checks in SpoonTemplate for variables, iterations and options. 1.1.4 (2010-01-27) ---- - Added SpoonTemplate::getContent which returns the output of the executed template. Can not be used in combination with cache tags. - Added SpoonFilter::stripHTML, it strips all HTML elements from a string. Optional attributes include: + Replacing images with alt text + Replacing anchor links with their href value + Let paragraph elements receive an extra linebreak at the end to keep basic formatting - SpoonEmail now uses SpoonFilter::stripHTML to generate plain-text contents. - SpoonEmail now supports SSL and TLS in SMTP connections. Use SpoonEmail::setSMTPSecurity() to set the SMTP security layer. - When you create a datagrid, the column names will be used as the class attribute. - SpoonSession::exists now works as intended, pretty similar to SpoonCookie::exists. - Removed getLanguages from SpoonLocale since the source files were not reliable. - You can now use SpoonDropDown::setOptionAttributes to add some custom attributes to specific options in a dropdown. Examples are 'disabled' or 'rel'. - Added htmlspecialcharsDecode to SpoonFilter. - Reworked SpoonSession::delete to offer the same flexibility as SpoonCookie::delete. - Added SpoonDataGrid::getColumn which grants you access to the actual SpoonDataGridColumn object, providing you with more options to set for a column. - Internal code has been refactored to implement the new naming conventions for arrays. 1.1.3 (2010-01-05) ---- - Added SpoonImageField, it extends SpoonFileField with some image-specific methods: - getExtension(): returns the extension based on the IMAGETYPE - hasMinimumDimensions(): checks if the image has minimum width and height - isValidMimeType(): a filter based on given MIME-types - Added Dave to the main-authors (Welcome Dave!) - Fixed some PHP-doc - Fixed a bug in SpoonTemplateModifiers::createHTMLLinks(), it should handle urls correct from now on - Added an extra element in the return of SpoonFile::getInfo(). The element is called human_readable_size and contains the size of the file in a human readable way. - $_FILES is now included in the variables-section of Exceptions. - Added SpoonTemplate::getAssignedValue to fetch already assigned values. - Fixed an issue with required files not being included. - Rewrote the way SpoonCheckBox & SpoonRadioButton work. The number of required parameters & options has been increased. - SpoonCookie::unset now works as intended (thx to Dieter Vanden Eynde) - Fixed an issue when using multiple cycle tags on one page - Based on SPOON_DEBUG the error_reporting for a compiled template is set to E_WARNING or E_ALL | E_STRICT 1.1.2 (2009-08-07) ---- - Fixed an issue with SpoonTemplateModifiers::getDate not having the right files required - Fixed an issue in SpoonTemplateCompiler when using variables within template includes eg. {include:file="{$path}/template.tpl"} - Fixed an issue with assigning parameters in queries. (thx to Bert Pattyn) - Fixed a bug in SpoonThumbnail concerning extension checking. (thx to Tom Vallaeys) - Fixed a bug in SpoonDataGridSourceDB::getColumns concerning SpoonDatabase::getDriver. (thx to Tom Vallaeys) 1.1.1 (2009-07-03) ---- - SpoonThumbnail: changed the name of checkFileType to isSupportedFileType - There are no final classes anymore, everthing should be extendable - Filesystem: created an alias for SpoonDirectory::move in SpoonFile - Filesystem: SpoonDirectory move hasn't a strict-argument anymore and will trigger exceptions on failure. If the destinationpath doesn't exist it will be created - Added a new Package: SpoonRESTClient, be carefull it is not backwards compatible with the version pre 1.1.x - SpoonTemplateModifiers::truncate(HTML) were removed for now, they need to be reworked. 1.1.0 (2009-07-02) ---- - An additional constant 'SPOON_CHARSET' has been added. This will be used by default. - SpoonCookie & SpoonSession no longer use the 'strict' setting. They will return false on failure. - SpoonHTTP::isSent no longer throws an Exception. - SpoonDatabase is now using PHP's PDO which results in a speed increase. - Added a method in SpoonFile to download a file (SpoonFile::download) - Fixed a typo in SpoonDirectory::getSize - Bugfix: SpoonDirectory::getList won't return files listed in the exclude-array anymore - Bugfix: SpoonDirectory::delete doesn't use SpoonFile::getList anymore because this function doesn't exists - Bugfix: SpoonDirectory::getSize doesn't use SpoonFile::getList anymore because this function doesn't exists - SpoonLocale was added. This package contains some nifty lists in multiple languages (countries, days of the week, ...) - SpoonDate has now only 1 method related to dates. The others were moved to SpoonLocale. - SpoonRadioButton, SpoonMultiCheckBox & SpoonDropDown now have an extra option that allows the default security measurements to be overruled. - SpoonDataGrid now seems to be in check with the changes made to the other parts of the library. - SpoonFilter::isURL now allows tildes. - Some classes are now united into one file for speed. 1.0.4 (2009-05-01) ---- - Fixed an issue with the template engine, when trying to parse inverse options (thx to Pieter De Baets) - Fixed a bug that caused the URL title with datagrid columns not to be used (thx to Pieter De Baets) - Added custom methods to add form elements to a form - It's now possible to generate an example template form, based on the elements that were already added - Fixed an issue where the compile directory would not be passed to the datagrid - Fixed an issue with SpoonDataGridColumn for confirm messages that contain special characters 1.0.3 (2009-02-13) ---- - Template engine now parses forms with their variable options to the compiled version (thx to Pieter Meyvaert) - SpoonDatabase: using tables instead of table as variable name - SpoonDatabase: if the handler doesn't exist it should be created when calling getHandler - SpoonImage: removed unused code - SpoonDataGrid now has a method to retrieve the number of results (getNumResults) - You can now set your compile directory for datagrid templates - SpoonDataGrid::setAttributes now works as intended - Added a number of methods to be able to clear attributes within datagrids. - SpoonFilter::isURL allowes @ from now on - SpoonRSS::isValid to check for valid feed - SpoonRSS::readFromFeed will ignore invalid data - SpoonDate updated the values of the keys when asking for days/months of the year. - SpoonDatabase fixed minor issue where an exception could not be shown properly with parameter issues - Updated package info for SpoonThumbnail - Fixed an issue with SpoonForm and the default enctype. - Datagrid now has the correct colspan value made available in the template - When using maxlength this will be used when retrieving the value with getValue() 1.0.2 (2009-01-25) ---- - Exceptions now include the hostname, if available - Session variables via SpoonSession are no longer converted to a string - Template includes now work as initially intended (thx to Pieter Meyvaert) - Inverse template options using the ! sign are now available - Template engine now has 2 default variables (TAB & CRLF) - The form package has been tested with E_STRICT - SpoonEmail now accepts templates and their needed variables through 2 new methods (setHTMLContent and setPlainContent) - Removed method setContent in SpoonEmail - SpoonEmail now strips HTML tags from the HTML body when no plain template is chosen - Fixed bug in SpoonEmail where returning output would sometimes trigger an error - Made SpoonFilter::isEmail somewhat compatibele with RFC 5322 (not fully implemented yet) - SpoonFilter::isURL supports ip-addresses. (thx to Pieter Claerhout) - SpoonSession has an extra method: SpoonSession::delete($key) - SpoonCookie has an extra method: SpoonCookie::delete($key) - SpoonCookie::set fixed a bug, with serializing data 1.0.1 (2009-01-08) ---- - Renamed SpoonDatabase::getNumberOfExecutedQueries to getNumQueries. - Fixed problem with SpoonDatabase::getNumRows - Reworked the datagrid templates, based on the changes in SpoonTemplateCompiler - SpoonRSS now requires SpoonRSSItem 1.0.0 (2009-01-05) ---- - More than you can imagine!