The source code is free !

All the source code is free and open. It is BSD licenced.

Repository SVN

The SVN repository is available, with the changelog Changelog


DomFramework can have bugs. The TODO list contains the actual backlog, and the next iterations


Version 0.47: due date unknown

  * config: allow the DocComment to start with star



  - Continue the documentation
  - Exception: add a logging method to all the exception raised by Domframework
    (example in dblayer, all the throw must be logged in english and not
    translated by gettext)

  - dblayeroo: add multiple INSERT simultaneously
  - dbalyeroo: manage the COUNT(*) in displayAdd
  - dblayeroo: Add "ON DUPLICATE KEY UPDATE" with multiple fields modified
  - dblayeroo: Allow the primary key to be on multiple fields

  - getopts : allow to concat the simple opts : -nv => -n -v

  - graph: use opacity to area color
  - graph: allow colors to be bi-gradient
  - graph: add bars graph
  - graph: add area graph
  - graph: add documentation !
  - graph: can't start if the
    /usr/share/fonts/truetype/liberation/LiberationSans-Bold.ttf doesn't exists
    on the sytem
  - graph: PHP Warning:  Cannot modify header information - headers already sent
    by (output started at graph.php:364) in graph.php on line 372 (see the doc
    page, which generate the warning)

  - mail: Test with et
    docker run -d -p 1025:1025 -p 1080:1080 --name mailcatcher zolweb/docker-mailcatcher

  - shibboleth: add disconnect
  - ipaddresses: compactIP => return inet_ntop (inet_pton ($ip));
  - Update authsql to use userssql (remove unnecessary methods like password
  - Create users with dbjson file storage
  - dbjson: add support _unset on array
  - dbjson: add support _push on array

  - file: realpath don't return an absolute path if using realpath ("subdir");
  - file:  Limit the directories to a list of path (path1:path2) and reject if
    the result is not starting by one of the paths
  - form: allow 'file' type to upload
  - form add the HTML5 field types: datetime, datetime-local, date, month,
    time, week, number, email, url, search, tel, and color
  - form: allow different css themes (add to Bootstrap, w3css)
  - form: add form->convert($values) methods to allow modifications like
    trimming, htmlencode, date conversion...
  - form: Allow to update the CSRF token regullary without reloading all the
  - unittest: add a (more) unittest on route:redirect (ex.: outside the
    site=>exception): Problem -> php_sapi_name === cli when using phpunit
  - module: Limit the answers of module Lists to the modules allowed to the
    authenticated user
  - ratelimit: add the SQL storage
  - ratelimit: add the memcached storage

  - 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

  - mail: Manage the multiple times for enveloppe hops
  - mail: Add crypted/uncrypted mails
  - mail: Add the possibility to read/create mailer-daemon error mails

  - routeSQL: Allow sorting the columns
  - routeSQL: Allow to update by PATCH in REST
  - routeSQL: Allow to udate one field in REST POST whith
    http://xx/table/{id}/field URL
  - routeSQL: check if the module work when NOT using the mod_rewrite mode
    (in particular the links)
  - routeSQL: check if the cookie is correct when NOT using the mod_rewrite
    mode to save the state of the table
  - routeSQL: When the foreign keys are displayed in the list text, the search
    must also search in the foreign keys
  - routeSQL: Return a chainText with the content of the main information when
    chain is used to be displayed in the HTML output

  - Define the <meta> concerning the TTL when using cacheoutput
  - logger: Allow to save logs in database

  - dblayer: if missing table in read, unreadable message
  - dblayer: allow to define enum fields
  - dblayer: create a PDO DSN constructor for easy configuration for users (for
    pgsql/mysql/sqlite, the PDO DSN format is different)
  - dblayer: see why we can't have more than 255 varchar in unique field in
  - dblayer: Check if
  - dblayer: add a XML/JSON database support

  - authorization: do an authorization by IP address
  - authorization: do a token authorization for REST (SESSION with a previous
    defined token to protect against CSRF) or see OAuth2 on
  - authorizationfile: use the lockfile system instead of internal

  - Markdown: add table support
  - Test the markdown with
  - markdown: allow the ending double-spaces to be converted to <br/> in <ul>

  - cli: allow reading/editing line with arrow support (like zenity)
  - cli: allow support of json in parameters (in plus of urldecode)
  - cli: Can't provide a parameter with '&' (like 'Tom&Jerry')
  - cli: allow reading multiple commands from pipe (cat cmdfile | ./cli)
  - cli: create an interface with helpers by tabs (lauch by ./cli) (like mysql)
  - modelGenerator: multiple foreign keys on same table are not multiple on the
  - modelGenerator: multiple foreign keys on same table try to add multiple time
    the same foreign object
  - authorization SESSION: Check the password each 3 minutes instead of each
    page (quicker when using LDAP backend)
  - lock: in database, in IMAP
  - cache: in database, in memcached

  - outputhtml: correct the layoutVariables function to support layout provided
    in a file (done) or in the layout text

  - auth: add a parameter to 'Remember me'
  - auth: re-add the login to the auth page in case of authentication error
  - authentication: add the 'Remember me' function
  - authentication: allow to reject the anonymous users in verifAuthREST () and
    verifAuthHTML () methods