domframework (0.31-1) testing; urgency=low * 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 -- Dominique Fournier Mon, 19 Sep 2016 16:39:57 +0100 domframework (0.30-1) testing; urgency=low * 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) -- Dominique Fournier Tue, 06 Sep 2016 10:50:57 +0100 domframework (0.29-1) testing; urgency=low * 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 -- Dominique Fournier Wed, 03 Aug 2016 13:42:57 +0100 domframework (0.28-1) testing; urgency=low * 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 -- Dominique Fournier Tue, 26 Jul 2016 08:22:57 +0100 domframework (0.27-1) testing; urgency=low * 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 -- Dominique Fournier Wed, 29 Jun 2016 14:22:57 +0100 domframework (0.26-1) testing; urgency=low * 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 -- Dominique Fournier Mon, 27 Jun 2016 11:29:57 +0100 domframework (0.25-1) testing; urgency=low * 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 \form (); $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 \form (); $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->lastValidGetPageRedirect (); * form : add the verify of forms. Actually check only the mandatory part * form : add maxlength support * mail : the mail creator. Allow to create complete mails easily $mail = new mail (); $mail->setFrom ("sender@example.com","Sender Example Com"); $mail->addTo ("recipient1@example.com","Recipient1 Example Com"); $mail->addTo ("recipient2@example.com","Recipient2 Example Com"); $mail->setBodyText ("Content of TextBody part"); $mail->addAttachment ("file0.text", "File content"); $contentID1 = $mail->addAttachmentInline ("file2.jpg", file_get_contents ("file2.jpg")); $mail->setBodyHTML ("

Content of HTMLBody part with inline

"); echo $mail->getMail (); -- Dominique Fournier Mon, 02 May 2016 15:44:57 +0100 domframework (0.24-1) testing; urgency=low * 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 -- Dominique Fournier Tue, 08 Mar 2016 10:29:57 +0100 domframework (0.23-1) testing; urgency=low * 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) -- Dominique Fournier Tue, 23 Feb 2016 14:43:57 +0100 domframework (0.22-1) testing; urgency=low * 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 -- Dominique Fournier Fri, 13 Nov 2015 13:34:57 +0100 domframework (0.21-1) testing; urgency=low * 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) -- Dominique Fournier Wed, 14 Oct 2015 07:57:57 +0100 domframework (0.20-1) testing; urgency=low * 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 -- Dominique Fournier Thu, 20 Aug 2015 14:41:57 +0100 domframework (0.19-1) testing; urgency=low * config : if no configuration file exists, create a default one in data/configuration.php * route : allow a prerouting information to be used in map comparisons * route : the URL are decoded before providing the information to map * renderer : add the html support directely in renderer * renderer : add a basic html page if the layout is not defined * form : don't allow to display a form without defined fields * form : add a "addfield" method to add a field in form * form : remove the   in labels to be W3C compliant * form : rework the checkbox/radio to be compliant with bootstrap and ARIA * form : add the help support (which is hidden when there is an error) * form : display the help with the error if both are defined * form : allow checkbox to be multiple (in an array) or simple (in text) * form : add support to save the values and errors to redisplay the form in without code line ! Just add "$form->saveValuesErrors ($values, $errors);" in post routing to save the data, and in get they will be automatically re-displayed when going back in get * route : catch the http errors from PHP (with error code 0) as "Internal Server Error" (error code 500) * form : allow to define the bootstrap width for titles and fields columns * route : add the 'multi' method to allow multiple methods to be applied to the same route and function * route : redirect to myself : code 400 * route : remove the automatic adding of the / to allow the redirect from word to word/ without error of loop * language : add the languageName support * ratelimitfile : allow the lockfile to be in the same directory than the ratelimit files * logger : add the support to catch all the trigger_error messages * logger : add the backtraceDisplay conditionnal * Add authentication class for REST/HTML pages, with multiple auth methods and multiple servers for each * logger : remove 1 backtrace step by default to have the right file * start : add the start file to easily start a new project. Copy the beginning of the file in a index.php file and that's all ! * outputhtml : Add a basic HTML page when noting is declared * route : allow the 401 error code to be redirected to an external URL to authenticate the user * renderer : display the flash information automatically if it is defined. Allow to overwrite the layout page when calling the function * dblayer : create table : add "if not exists" -- Dominique Fournier Fri, 14 Aug 2015 11:04:57 +0100 domframework (0.18-1) testing; urgency=low * 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) -- Dominique Fournier Mon, 08 Jun 2015 14:01:57 +0100 domframework (0.17-1) testing; urgency=low * 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 -- Dominique Fournier Wed, 13 May 2015 15:41:57 +0100 domframework (0.16-1) testing; urgency=low * route : requestURL wrong if the URL is at the base of the Web server * route : correct the routing if the mod_rewrite is disabled * unit test : update the tests for route.php with or without mod_rewrite -- Dominique Fournier Thu, 07 May 2015 15:41:57 +0100 domframework (0.15-1) testing; urgency=low * form : add the textarea support * auth : if the user is already authenticated and the URL back is provided, add a link to the defined URL * logger : allow the facility and loglevel to be string. They are converted into integer before use * config : add the function docComment to read the parameters from the default config file. It allows one to create easily the interface to configure the soft -- Dominique Fournier Thu, 07 May 2015 13:07:57 +0100 domframework (0.14-1) testing; urgency=low * BUG config : an array with "not configured" should not be presented if there is another entry available * Remove the CSRF debug log -- Dominique Fournier Thu, 30 Apr 2015 15:36:57 +0100 domframework (0.13-1) testing; urgency=low * route.php : Add support of URL matching with or without Slash * dblayer : don't connect multiple times to the same database/username * dblayer : don't do the update if no data is provided * dblayer : add support to hooks (pre|post)(insert|update|delete) * authzgroups : update to support new dbLayer object * logger : allow to push multiple datas of multiple types in logs. The log convert it in text to save them * logger : allow to remove more entries in the dump stack to find the right file calling the logger * logger : log the readl client address when using a proxy * config : allow to read the configuration file from data or datas dir * module : Add support of modules analyzing * routeSQL : Add pagination support and informationArea * routeSQL : Add support to user-defined actions buttons * routeSQL : Actions buttons must be defined at start or end of line * routeSQL : Allow to put the parameters in any order * routeSQL : Allow to disable the internal CSS * routeSQL : Create a beautiful internal CSS for listing of entry (without external dependency) * routeSQL : Add Search support * routeSQL : Push in a cookie the numbers of displayed elements (by URL) * routeSQL : Push in a cookie the search criteria (by URL) * routeSQL : Add position of add button/paginator/search arround the table * routeSQL : Create a beautiful internal CSS for editing an entry (without external dependency) * routeSQL : search can now start by a ^ or finish by a $ to simulate a regex * routeSQL : Add support of url-defined var (like zone/XX/entry/YY) * routeSQL : Add an optional authorization support * routeSQL : Do a READ-ONLY mode * routeSQL : Display the HTML pages with the renderer to be more flexible * routeSQL : add REST support (without auth, nor chained mode) * routeSQL : Limit the list to the authorized of elements * routeSQL : Add the Chain support to REST support * routeSQL : Add the Authorization support to REST support * routeSQL : Add the module support for $route->redirect(XX,module) * routeSQL : do the translation in english/french * routeSQL : don't display the pages directely, but use the view layer to display the content variable * routeSQL : Display the associated unique field from a foreign key instead of the numerical value * routeSQL : Add a select list (or a text search) for foreign keys when insert or update * BUG routeSQL : incorrect cookie used when search in a page and go in a chained page : the chained page use the cookie without need ! * auth : don't need bootstrap or jquery to work (all the CSS is integrated) * ratelimit : add the ratelimit abstract class with its first child (file storage) * lockfile : in file * authentication : if a proxy is used, the url to redirect is incorrect and should not be used (maybe a relative URL can be better) * route : if a proxy is used, the baseURL is wrong. It should be better if a relative URL is used. Need to modify the redirectURL too. There is a param $absolute to allow the old mode to be operationnal (not used by default) -- Dominique Fournier Wed, 29 Apr 2015 14:06:57 +0100 domframework (0.12-1) testing; urgency=low * BUG locale : Missing all the locales in Debian package -- Dominique Fournier Tue, 27 Jan 2015 11:51:57 +0100 domframework (0.11-1) testing; urgency=low * 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 -- Dominique Fournier Tue, 27 Jan 2015 02:32:57 +0100 domframework (0.10-1) testing; urgency=low * 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) -- Dominique Fournier Fri, 26 Sep 2014 16:30:57 +0100 domframework (0.9-1) testing; urgency=low * authorization by groups * dblayer : add support to OR in WHERE clause * dblayer : add singleton access to DB * dblayer : force using UTF8 * dblayer : add the unittest for the 3 db engines * dblayer : UPDATE : add the case of updating the primary key (actually oldvalue = newvalue and replace by the same value, so don't update) * dblayer : extract the verify tests (before insert/update) to a function available to public (can be launched when the developer want) * Add dblayer unit tests to check the unique functionality * BUG : route : allow redirect if the method is changed and the URL stay the same * route : Add support to errors from the application * BUG : auth : Add the path to the default login window to load the javascript * Add dblayer unit tests to check the foreign keys -- Dominique Fournier Mon, 22 Sep 2014 12:01:57 +0100 domframework (0.8-1) testing; urgency=low * 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 -- Dominique Fournier Wed, 10 Sep 2014 12:01:57 +0100 domframework (0.7-1) testing; urgency=low * dblayer : Add dropTable support * Add multi-language support * The exception captured by routing is now a valid HTML page -- Dominique Fournier Fri, 08 Aug 2014 10:42:57 +0100 domframework (0.6-1) testing; urgency=low * 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 -- Dominique Fournier Fri, 01 Aug 2014 08:12:57 +0100 domframework (0.5-1) testing; urgency=low * dblayer : Add a check before using unique/foreign to be sure that the field to be linked is in the fields array * dblayer : rename the function create to insert. Keep the create temporaly to be compliant with old soft * Create the phpunit tests : just run "phpunit" from the root directory * route : baseURL/requestURL : missing port when using not standard port * PHP Strict Standards: Only variables should be passed by reference in cli.php on line 151 (on debian, whith ./cli/cli.php records) * Add support to variables in the renderer. They will be availabe to the view to be trated as needed * Add support to cache in file (anything can be cached) * Add support to easy cache HTML pages * Route : remove port in baseURL if it is the standard port (http->80, https->443) * cachefile : run the garbage collector each request (it will be skipped if it is run too early, before 24h) -- Dominique Fournier Mon, 28 Jul 2014 13:12:57 +0100 domframework (0.4-1) testing; urgency=low * 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\nline2 : 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 -- Dominique Fournier Fri, 27 Jun 2014 10:01:47 +0100 domframework (0.3-1) testing; urgency=low * dbLayer : Create a operationnal list table for sqlite/mysql/pgsql * authorization model -- Dominique Fournier Fri, 20 Jun 2014 15:18:47 +0100 domframework (0.2-1) testing; urgency=low * 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 -- Dominique Fournier Fri, 13 Jun 2014 11:15:47 +0100 domframework (0.1-1) testing; urgency=low * Debian Package -- Dominique Fournier Tue, 03 Jun 2014 16:24:15 +0100