Recent Releases

0.4404 Aug 2017 09:20 minor release: CORRECTED BUGS: * dblayeroo: update check the unique columns. Allow string with comma separated values or array * dblayeroo: manage correctely the PGSQL string_agg (instead of GROUP_CONCAT) * dblayeroo: Manage correctely the Aliases (do not emit Notice in execute) * dblayeroo: do not allow an array of array to be provided to displayAdd * ratelimitfile: do a clean of the expired entries automatically
0.4301 Aug 2017 13:45 minor release: FEATURES ADDED: * dblayeroo: add directQuery support * Add sqlMigrate tool CORRECTED BUGS: * dblayeroo: insert/update null are not checked against the field format * dblayeroo: insert/update null are checked against the "NOT NULL" definition except for autoincrement key, which is allowed * verify: quote the regexp before using them
0.4226 Jul 2017 08:39 minor release: CORRECTED BUGS: * form: Block the submit button to not allow Chrome/Edge to submit multiple times in case of multiple clicks on slow server. Bug introduced in 0.41 doesn't work with Chrome: the form is not submitted
0.4126 Jul 2017 07:42 minor release: FEATURES ADDED: * dblayeroo: add and comparisons * dblayeroo: Add DISTINCT feature to displayAdd * dblayeroo: Add IS NOT NULL operator to whereAdd * form: Block the submit button to not allow Chrome/Edge to submit multiple times in case of multiple clicks on slow server CORRECTED BUGS: * getopts: substr in PHP7 has not the same result as PHP5. * Add Exception if MB support is not available in PHP (External module in PHP7) * dblayeroo: whereAdd "IS NULL" : do not add the value as it doesn't exists * dblayeroo: whereAddParenthesisOpen: Add automatically AND before if there is no already defined operator * dblayeroo: in GROUP_CONCAT, allow the Separator to be set (use sqlite syntax, with a comma and the second optional parameter is the separator string) * dblayeroo: MySQL: push the group_concat_max_len to maximum allowed * dblayeroo: Add alias support (AS) to displayAdd * dblayeroo: UPDATE should not verify if the unique are not modified * dblayeroo: Update of multiple not unique fields should not be an exception * dblayeroo: if displayAdd is empty, remove all the previous defined displayed columns
0.4005 Jul 2017 14:22 minor release: FEATURES ADDED: * dblayeroo: supports foreign keys on multiple columns with syntax "col1,col2" CORRECTED BUGS: * dblayeroo: getTableSchema for sqlite if no autoincrement field is defined, the sqlite_sequence table doesn't exists and must not crash the method * dblayeroo: do not remove the foreign objects when using clearRequest method * modelGenerator: use the titles and foreign methods instead of using the properties * mail: Add the headers with r n instead of n * mail: do not use not defined array keys and generate warnings * mail: getDetail subject is now really converted to UTF-8 * mail: mail is now capable to read Mailer-Daemons and extract parts as attachment
0.3914 Jun 2017 11:32 minor release: FEATURES ADDED: * mail: allow 7bit contents * verify: check hashes * convert: ucwords in UTF-8 with delimiter CORRECTED BUGS: * All the require_once are now prefixed by domframework to allow multiple loading of the page (without "Cannot redeclare class output") * Add the require_once ("domframework/XXX.php"); if the class need another class to work * dblayeroo: syntax error in table creation for MySQL and PgSQL if multiple foreign keys are defined * file: glob remove the first char if there is no chroot * mail: add a Return-Path header is done on the first line and the other headers are added at the end of the headers * smtp: if multiple recipients are provided by comma separated string, convert them to array DEPRECATED FEATURE: * verify: obsolete all the methods with underscore
0.3802 Jun 2017 08:32 minor release: FEATURES ADDED: * Add the documentation on the Web site CORRECTED BUGS: * dblayeroo: the connect process need now the database name and generate an Exception if not provided in the DSN * modelGenerator: catch the Database connection exception correctely * route: catch the regex syntax error correctely * route: catch the exception generated by route itself and display the error page * smtp: throw an exception if the TO is not defined * file: update glob function to clean correctely in relative mode * file: add unit tests for glob function * mail: notice if malformed mail is corrected * markdown: allow to escape a part of string with backslash to not apply the markdown translation * markdown: manage correctely the backslashes and the emphasis and the HR separators
0.3722 May 2017 08:19 minor release: FEATURES ADDED: * Add display backtrace support * verify: add the verification of UUID * verify: Add isAllowedChars to check if a string contains invalid chars * dblayeroo: Add the GROUP BY feature and the function support * Add "modelGenerator" tool to create the model files based on an existing database - roleuser: allow to manage a role associated to a user. The data can be stored in an array (from configuration by example) or in database or both simultaneously CORRECTED BUGS: * verify: integer can be integer * verify: missing "static" on some static methods * smtp: remove the spaces in the FROM and TO addresses (or clean the address if toto is provided) * outputxml: if the provided data are XML, do not change them and just display them with the headers * getopts: manage correctely the parameters if its value is "" (should not be ignored) * dblayeroo: autoincrement fields must be primary too * mail: allow to read bad formed mail without notice * mail: allow header to be set to empty * mail: convert the headers to UTF-8 if the mime encoding is set * mail: Remove the not needed CR in getDetails
0.3609 May 2017 07:07 minor release: FEATURES ADDED: * verify: add the static methods * verify: add the unit tests and the documentation * verify: add the dateSQL check * Add the convert format support with date and ucfirst for utf-8 * Add RSS support * Add getopts support * Add UUID creation feature * dblayeroo: allow to sort the ORDER statements (the first added is the first used) * dblayeroo: allow to sort the Display statements (the first added is the first used) * dblayeroo: Do not allow autoincrement if the field is not integer * dblayeroo: Add a export configuration feature to return an array with all the defined parameters CORRECTED BUGS: * dblayeroo: review the join process and add the unit tests for it * form : If the error is not due to field (it has numerical key, put the focus on the first field (if available) and not on the global error DEPRECATED FEATURE: * dblayeroo: change displayColumns to displayAdd
0.3529 Mar 2017 12:50 minor release: FEATURES ADDED: * authentication : allow logout to provide a url to be displayed after successful logout * color : allow to translate a color in english to RGB or GD color * dblayeroo : add a new dblayer class. More OO, supports more options than dblayer * fts : The Full Text Search module for dummies * route : add the mapRoute function to know the matching route search comparison * dblayer : allow the read order to be written in lowercase too CORRECTED BUGS: * auth : manage correctely the urls with quotes * csrf : manage multiple CSRF tokens in the same PHP call (and provide the same result) : pseudo-singleton * dblayer : the length of the fields must be checked in UTF-8 and not in Latin1 * route : redirect analyzer is not check if the value doesn't exists * route : do not cache the baseURL if the Absolute parameter is set
0.3404 Jan 2017 03:16 minor release: * file : Do not allow the locks to be done if the file to lock doesn't exists * DomCI : remove all the too long lines, the starting tabs, the ending spaces * DomCI : Validate the PHPDoc for all the parameters, methods and classes * smtp : if there is an error with the server, send QUIT and close correctely the connection * authparams : if the email is not provided by Shibboleth, reject the auth instead of having a warning * file : add the methods is_readable, is_writeable, is_executable, glob
0.3317 Nov 2016 07:44 minor release: * file : bug in the rmdir recursive * file : add the filemtime function * mail : allow 120 parts of the mail (allow to add 100 attached files) * mail : if addAttachmentInline, start the HTML to be mail compliant. Raise an exception if the html part is not provided before using getMail (); * mail : change the boundary format to be compatible with Orange Webmail
0.3203 Oct 2016 07:09 minor release: * form : don't force a at the end of the help messages * form : put the focus on first field NOT readonly and NOT hidden * form : display correctely the checkboxes (add label and div='checkbox') * form : manage correctely the checkboxes with values (the values can be defined and set to no "unset") * cli : If the provided argument is -?, display the variable with the phpdoc associated * Remove all the trailling spaces
0.3119 Sep 2016 15:39 minor release: * form : the overwriting of the hidden and read-only fields must be done by value * file : add md5_file and sha1_file support * outputjson : display an error message if the json to display is invalid (binary) * authentication : if there is no lastname/firstname provided, don't generate a warning
0.3005 Sep 2016 16:16 minor release: * Add more debug for authentication * ratelimitfile : raise an exception if the file already exists and is not writeable by the webserver * cli : go to the main directory in the constructor to allow configuration reading * file : copy can copy directory or files * file : if file_exists is used, a missing parent directory doesn't generate an exception * file : add chown, chmod, chgrp support * file : add flags support for file_put_contents * authentication : manage correctely the routes (no trailling slash) * authentication : when debugging, save the logs in file * authhtpasswd : return the only detail available - email * auth : refresh the CSS to be more user friendly * auth : better error message display (red, with round corners) * route requestURL (true) in subdir invalid : http://localhostiptables/ipv4/filter/INPUT (missing directory) * form- values () : must overwrite readonly and hidden fields (the user can modify them, but it is not allowed)
0.2902 Aug 2016 17:57 minor release: * file : add scandirNotSorted function * cli : change the directory as soon as the cli object is created, allow to check if a relative path is available in next line * authentication : allow to define a specific logging function instead using the trigger_error
0.2828 Jul 2016 14:36 minor release: * dblayer : check if the table name is defined before using it * dblayer : check if the PDO Driver is installed in PHP before using it * dblayer : allow read with null value * dblayer : delete : raise a valid exception if the delete can't be done * dblayer : return all the verify errors in the same shot * dblayer : allow to have external verifyOne and verifyAll functions * dblayer : allow to define the hook functions in the specification of the layer. Can be external ones. * smtp : manage the dot on first column : double it before sending the email * mail : add setSubject method * mail : cut the long attachment filenames in headers with the correct encoding * mail : manage correctely the double-quotes in filenames * language : Add a working cache management. No need to restart Apache after upgrade of .mo files if a cache directory is available * config : allow the defaults vals to be returned in array of arrays * authsql : missing fields in db connection * file : add rename and copy functions
0.2728 Jun 2016 18:56 minor release: * outputhtml : add a timestamp after the internal resources when creating the page. Like this, when updating a script, image or css file, it is updated by the client automatically (the browser don't use its cache) * form : if a convertDate field provided is empty, do no generate an error * form : Allow to define a class text to form object * csrf : add the exceptions code to Exceptions * csrf : Allow to get the CSRF token from the CSRF or FORM classes
0.2626 Jun 2016 15:47 minor release: * smtp : add SMTP support to send emails (with TLS, authentication PLAIN and LOGIN, debug, non standard port, STARTTLS) * mail : Complete rewrite. Allow to read an existing mail * cli : allow the controllers to be optional * cli : allow the models or controllers to be optional if the name of the class is unique * cli : add a "-q" option to not display the return code * BUG dblayer : Can't read with OR if there is multiple time the same field with different values * cli : display the complete string instead of truncate it * form : add the conversion format for dates
0.2501 May 2016 19:51 minor release: * Update Unit tests to not depend of configuration * Update Unit tests to have a distinct database file by test file * file : all the management of the files, with integrated filesystem checks, and virtual chroot support * form : fieldwidth is now functionnal * form : add the methods getOldValues, getOldErrors, saveValuesErrors and saveValuesErrorsReset to simplify the codes. In views : form = new orm (); values = array (); errors = array (); // If there is saved values, use them, else return the provided values values = form- getOldValues ( values); errors = form- getOldErrors ( errors); In index.php : form = new orm (); values = form- values (); errors = ipsetsObj- verify ( values); form- saveValuesErrors ( values, errors); if (count ( errors)) route- redirect ("/ipsets/add"); ipsetsObj- createSet ( values "setname" , values "typename" ); // If there is no error (catched by exception), clear the form for next // time form- saveValuesErrorsReset (); route- redirect ("/ipsets", ""); * route : redirect without module : default = ""; * route : allow to define a viewErrorClass and viewErrorMethod to catch the exceptions raised by the code. Simplfy th e index.php : route- viewClass = " views ipsets"; route- viewErrorMethod = "error"; ipsetsObj = new controllers ipsets (); form = new form (); values = form- values (); errors = ipsetsObj- verify ( values); form- redirectIfErrors ( values, errors, "/ipsets/add"); ipsetsObj- createSet ( values "setname" , values "typename" ); route- redirect ("/ipsets", ""); * form : if the provided error for a field is not an array, use the default error class and use the value as message * route : if there is an error with the ratelimiter (directory not writeable...), overload the exception by the ratelimiter exception * auth : Add Shibboleth support * route : store in session the last valid get page to allow to return with small method : route- lastValidGe
0.2403 Apr 2016 13:03 minor feature: * Add DBJSON support. DBJSON is a NoSQL database, writing the data in one file. There is no optimizations, so it is not fast, but it works on all the PHP sites with filesystem access * phpunit : use assertSame in place of assertEquals * authhtpasswd : Check if the first char exists before testing it * inifile : check if the integers are correctely stored * markdown : Example of cron configuration * * * * * www-data /usr/share with 4 beginning spaces is not OK (remove all the stars and put a bullet) The lists (numbered or not) must start on first char * config : allow to have the defaults params in - get() in case of array without defined key
0.2303 Feb 2016 17:00 minor release: * Add inifile support * authzgroups : Raise an exception if there is a SQL error * authzgroups : the 'right' alias is now between double-quotes to be compatible with MySQL * language : allow to force the language from anoter source than the cookie and the browser params * Correct the syntax of data * Correct the syntax of information * route : Pass to renderer the information concerning the routing and the exception * form : add the javascript to focus on the first field if there is no error, or on the first error when there is one * Check if all the translations are done by dgettext('domframework', * ipaddresses : Add support to calculations on IP addresses * route : ratelimit the errors to not allow the hackers to brute force the backend * route : do not exit in error part to allow the unit tests * route : update the unit tests * BUG Markdown : if an automatic URL have two underscores, the work and the URL is incorrect * dblayer : removing the unused create function (later than 0.8)
0.2213 Nov 2015 17:00 minor release: * dblayerauthzgroups : allow the user to be provided by auth object directely * route : allow the routing to be chained : return this each time * route : multi now return this to be chainnable * Add imap and authimap support * dblayer : support of null data was not working in insert/update * form : add the placeholder support
0.2114 Oct 2015 17:00 minor release: * language : correct the layout by the associated language * authzgroups : if the provided object start by a slash, don't add it. * authzgroups : add a local cache in the object, for the userrightsget, to not access to the database each time * dblayer : add the hookpreread and the hookpostread * dblayerauthzgroups : add the support to dblayer with authzgroups rights * dblayer : define the setters of properties to allow chained - * dblayerauthzgroups : define the setters of properties to allow chained - * dblayer : If provided select is not an array of array, throw an exception * dblayer : if the verify return an array with the field in key, the exception of update is now working * Add users and userssql * authhtpasswd : Add support to authenticate the user from a .htpasswd file, created by 'htpasswd' command. Allow to add easily a new user if the admin password is lost * cli : add support to namespaces * cli : don't display the protected/private methods : can't be called * cli-completion : complete rewrite of the bash completion help * cli : if no controller or models exists, return nothing in listonly mode (bash_completion)
0.2014 Aug 2015 17:00 minor release: * logger : remove the internal functions (without file and line) from the logs * start : move the language selector to be available in the authentication page * logger : add a to messages displayed on screen to allow the traces to be readable * authentication : better error management in configuration (Exception in case of errors). * authentication : allow multiple source of authentication for the same authMethod (multiple LDAP servers by example). Conservative, allow the old authMethod to be used when only one entry is available * logger : allow to store the logs in session (to be readable in debug) * authzgroups : add the functions to check the accessRight, accessWrite, accessReadOnly * dblayer : add a Singleton to not reconnect each time we need to access the same database. * dblayer : add a method to disconnect the database engine * dblayer : add the transactions methods, linke in PDO * dblayer : remove the extension of PDO
0.1808 Jun 2015 17:00 minor release: * config : return an Exception code when there is an error * config : allow the configuration file to be setted in the object and used instead of defined one * logger : add stderr support * BUG form : allow the values and the errors to be displayed (introduced in 0.17 version)
0.1713 May 2015 17:00 minor release: * route : the redirect can be done outside the site, with a warning * logger : allow the types of log to be a string or already an array * config : add the '@prefix' support * form : add the cols,rows for fields * form : the fields are now extendable (to add new types by extends the class) * outputtxt : allow the titles to be longer than the datas, without error
0.1127 Jan 2015 17:00 minor release: * BUG dblayer : check if the unique multiple values are not used before updating * BUG Markdown : Two automatic links on the same line are not correct, the regex must be Ungreedy * BUG route : if using modules, the redirect was wrong * form : the submit text can be defined in the label too * form : add the hidden support to the fields * BUG dblayer : Add support to ordering if column name is 'group' by using the separator (need by SQLite) * HTTP authentication : return an exception with 401 to allow the browser to authenticate. Allow the REST API to work by catching the error instead of die
0.1227 Jan 2015 10:51 minor release: * BUG locale : Missing all the locales in Debian package
0.1026 Sep 2014 15:30 minor release: * BUG : dblayer : don't raise an exception when re-inserting unique record * dblayer : add more unit tests * route : In case of exception, a HTML page is sent. If REST, it should be a simple string, without presentation (can be done by using specifig error pages)
0.810 Sep 2014 17:00 minor release: * renderer : Add variables support to layout. All variable defined in variable is available in XXX in the layout file. It can be used with php structures * cli : do a bash-completion module to find the classes and the methods * cli : add a trigger_error catch (display the errors in stderr) * route : add permanent redirect support * Markdown : add image support * Markdown : Add more tests * BUG : Markdown : remove http:// mandatory in links : can be relative ! * BUG : Markdown : carriage return : missing space : see testCarriageReturn1 * BUG : Markdown : emphasis : see testUnderscore * BUG : Markdown : the mailto links don't have the // * BUG : Markdown : Correct the OL/UL imbrication * BUG : Markdown : error ### l'utilisateur - should be title h3
0.708 Aug 2014 17:00 minor release: * dblayer : Add dropTable support * Add multi-language support * The exception captured by routing is now a valid HTML page
0.601 Aug 2014 07:12 minor release: * BUG : cacheoutput : If the TTL is 0, remove the caching functionality * dblayer : Add the prefix support in tables name * dblayer : Check if the provided datas are not too long before saving them * dblayer : Check if the datas are in the ANSI SQL format (date datetime) * BUG dblayer : The missing foreign keys in update should not be tested (introduced in 0.5 version) * Add version support
0.427 Jun 2014 17:00 minor release: * markdown: BUG for == titles / -- titles * markdown : BUG : * * * - - - shoud be SEPARATORS * markdown : BUG : the mails/url are not working caused by htmlentities * markdown : BUG : bad closing in list * markdown : BUG : - line1 line2 : should be the continuity of , not * markdown : BUG : the ### TITLEx doesn't work caused by the search empty line at the ned and at the start of the regex
0.213 Jun 2014 10:15 minor release: * dbLayer : If SQLite, don't allow to use database if it is not writeable * dbLayer : Bug if update in unique field verification * dbLayer : Allow creation of tables from a definition (fields, uniques entries, foreign keys) * BUG cli : Variable used without initialisation
0.103 Jun 2014 17:00 minor release: * Debian Package