- Premiers pas
- Aller plus loin
- Doc de référence
- Forum de discussion
- Me contacter
Stable versions: 2.8, 2.7, 2.6, 2.5, 2.4, 2.3, 2.2, 2.1, 2.0, 1.9, 1.8, 1.7, 1.6, 1.5, 1.4, 1.3, 1.2, 1.1, 1.0
Patches: 1.11, 1.21, 1.22, 2.11
RC version: 1.0 RC
Beta versions: 0.98, 0.97, 0.96, 0.95, 0.94, 0.93, 0.92
ZnetDK 2.8, 2022-12-12
- CHANGE (all): class names now conform to the PSR-4 autoloading standard. This means that a PHP script named MyClass.php corresponding to the definition of MyClass is now loaded automatically. In the previous version of ZnetDK, the same PHP script had to be named myclass.php to be automatically loaded. - CHANGE (all): new \DAO::setAmountColumns(), \DAO::setMoneyColumns() and \DAO::setDateColumns() to set up the SQL table columns to format according to locale settings when retrieving data rows via \SimpleDAO::getRows(). - CHANGE (all): the phone and notes specified for a user are now displayed on the user list. - CHANGE (all): new \Response::setCustomContent() method to return custom content (HTML, XML, text, ...) from a controller action in response of an http request. - CHANGE (all): calling a web service with http GET method is now accepted when the corresponding controller and action are authorized by setting the CFG_ACTIONS_ALLOWED_FOR_WEBSERVICE_USERS parameter. In previous version, only controller's actions named 'download' could be called with the http GET method. This possibility can be particularly useful when a controller action is to be executed from a webcron service. - CHANGE (all): new optional parameter '$sanitize' added to the \UserSession::setCustomValue() and \UserSession::getCustomValue() methods. When this parameter is set to TRUE (FALSE by default), the custom value is sanitized before being stored in user session or returned from user session. - CHANGE (all): \General::isPictureTooBig() private method is converted to a public method to check if a photo is too big to be reduced in regards of the available memory in the PHP process. Initially only called by the \General::reducePictureSize() method to avoid memory allocation error, \General::isPictureTooBig(), now can be called with a custom $tweakFactor value (set by defaut to 1.65 in previous version of ZnetDK, this value has been increased to 2) before reducing a photo. - CHANGE (all): \General::reducePictureSize() method no longer returns FALSE on error. Instead, a ZDKException is thrown ('GEN-003' to 'GEN-006'). - CHANGE (all): new $tweakFactor parameter (set to 2 by default) added to the \General::reducePictureSize() method. - CHANGE (all): new CFG_IS_IN_MAINTENANCE parameter to close access to the application. A message is then displayed to inform users that the application is temporarily in maintenance. The LC_MSG_ERR_MAINTENANCE constant can be overloaded in the 'locale.php' script of the application to customize the message. - CHANGE (all): the date format set through the LC_LOCALE_DATE_FORMAT must now conform to that used by the DateTime::format() PHP method. The previous supported format was the one used by the strftime() PHP function which is deprecated in PHP version 8.1. - CHANGE (all): Http request data filtering can be globally disabled by setting 'NONE' to the CFG_REQUEST_VARIABLE_FILTERING_LEVEL parameter. In addition, the \Request::setVariableFilteringLevel() method accepts the value 'NONE' as parameter to disable value filtering for a specific Http request only. - CHANGE (all): \Request::setTrimedCharacters() method now returns a boolean value. If the '$trimedCharacters' parameter is not NULL or is not a string then a FALSE value is returned. - CHANGE (all): controller\Users::notify() method removed as it was not useful. - CHANGE (ZnetDK 4 mobile only): new znetdkMobile.list.loadedCallback property to define a custom function to call after list's rows are fully loaded. This function has two parameters which contain the number of rows loaded and the data page number loaded. - CHANGE (ZnetDK 4 mobile only): new znetdkMobile.list.afterInsertRowCallback property to define a custom function to call after a row has been inserted in a list. This function has one parameter which contains the new inserted list item as a jQuery element. This callback function can be useful for example to set draggable the list item once added to the list. - CHANGE (ZnetDK 4 mobile only): new 'topspacechange' event triggered when the space between the top of the view container and the top of the page change, for example when the secondary menu is shown on multiple lines, when a message is displayed through the znetdkMobile.messages.add() method, or when the "Install the App?" message is cleared. - CHANGE (ZnetDK 4 mobile only): a column header is now displayed on top of the user and profile lists when the screen is a large screen. - BUG FIXING (all): the MainController::getControllerName() method now is able to find a specific controller method amoung multiple modules overloading the same controller. - BUG FIXING (all): the 'maxlength' attribute of the 'profile_name' input field was wrongly set to 100 instead of 50. - BUG FIXING (all): the 'maxlength' attribute of the 'profile_description' input field was wrongly set to 100 instead of 200. - BUG FIXING (all): in PHP 8.1, integers and floats in result sets are by default returned using native PHP types instead of strings. To restore the behavior of earlier versions of PHP, the PDO::ATTR_STRINGIFY_FETCHES option is now forced to true. - BUG FIXING (all): in PHP 8.1, error "E_DEPRECATED - Function strftime() is deprecated - engine\core\convert.php(116)". - BUG FIXING (all): in PHP 8.1, error "E_DEPRECATED - Constant FILTER_SANITIZE_STRING is deprecated". - BUG FIXING (all): in PHP 8.1, error "E_DEPRECATED - php_function_name(): Passing null to parameter #X ($parametername) of type string is deprecated" where 'php_function_name' is an internal PHP function name, '#X' is the parameter position and '$parametername' is the concerned function parameter name. - BUG FIXING (all): in PHP 8.1, error "E_DEPRECATED - Implicit conversion from float to int loses precision" when executing \General::reducePictureSize() method. - BUG FIXING (ZnetDK 4 mobile only): on HTTP error 403 or 404, the page reloading confirmation message ('beforeunload' JS event) was shown unnecessarily after clicking the link to return to the home page. - BUG FIXING (ZnetDK 4 mobile only): on HTTP error 403 or 404, the installation panel "Install the App?" was shown unnecessarily. - BUG FIXING (ZnetDK 4 mobile only): the confirmation message "A confirmation email has been sent to you." was not displayed after submitting the email address on new password request (clicking the "forgotten password?" link). - BUG FIXING (ZnetDK 4 mobile only): the znetdkMobile.form.getInputValue() method returned false and the error message "The input type='undefined' is not supported!" was displayed in the browser's console when an input field was declared in a form without specifying the type attribute. Now, if the type attribute is not specified for an input field, it is considered to be of type "text".
ZnetDK 2.7, 2022-08-18
ZnetDK 2.6, 2022-06-03
ZnetDK 2.5, 2021-09-29
ZnetDK 2.4, 2021-04-15
- CHANGE: the \DAO::remove() method now returns the number of rows removed. - CHANGE: "Phone" and "Notes" fields added to the user form. The database schema must also be upgraded for applications deployed in a previous version of ZnetDK by executing the following DML statement: ALTER TABLE `zdk_users` ADD `user_phone` VARCHAR(50) NULL COMMENT 'Phone number' AFTER `user_email`, ADD `notes` VARCHAR(100) NULL COMMENT 'Notes' AFTER `user_phone`; For any new applications, just download the 'znetdk-security-1.5.zip' archive from the ZnetDK download page to install the security SQL tables corresponding to this version. - CHANGE: new znetdkMobile.navigation.clearRowCountFromHorizontalMenuItem() method to clear the counter displayed on the right of the menu item (see znetdkMobile.navigation.addRowCountToHorizontalMenuItem() method). - CHANGE: new \DAO::doesTableExist() method to check if the table specified as property of the DAO exists or not. - BUG FIXING: when the page header is hidden after calling the znetdkMobile.header.events.handleHideHeaderOnScroll() method, no extra space is longer added to the page's anchors through the inline '#zdk-anchor-adjust' CSS style. - BUG FIXING: the suggestions were not automatically hidden after pressing the TAB key from a ZnetDK 4 Mobile autocomplete input field. - BUG FIXING: error message PFL-012 when calling DAO::remove() with a row ID passed as a parameter while the 'zdk_profile_rows' ZnetDK security SQL table is missing. - BUG FIXING: checkbox and radio inputs could be modified after calling the znetdkMobile.form.setReadOnly() method. - BUG FIXING: a JS error occured calling znetdkMobile.form.setInputValue() when the value specified for a radio button contained a space character. - BUG FIXING: znetdkMobile.form.getInputValue() called for a checkbox input wrongly returned the element's value while the checkbox was not checked. Now, an empty string is returned if the checkbox is not checked. - BUG FIXING: in the 'mobile.php' page layout, the title attribute is added to the '#zdk-side-nav-button' anchor for a better accessibility.
ZnetDK 2.3, 2020-10-09
- CHANGE: the regular expression set by default to the CFG_CHECK_PWD_VALIDITY parameter in order to check the strength of a new password is changed to impose the user to input a minimum of 8 characters with at least 1 uppercase letter, 1 lowercase letter and 1 number. - CHANGE: for the mobile page layout only (CFG_PAGE_LAYOUT set to 'mobile'), custom action button can be added to the page calling the new znetdkMobile.action.addCustomButton() method. - CHANGE: for the mobile page layout only (CFG_PAGE_LAYOUT set to 'mobile'), the page header can be hidden on scroll calling the new znetdkMobile.header.events.handleHideHeaderOnScroll() method. - CHANGE: new optional 'classSelector' parameter added to the znetdkMobile.modal.getInnerForm() method to select a specific form in case more than one form exists in the modal dialog. - CHANGE: new optional 'parentContainer' parameter added to the znetdkMobile.messages.showSnackbar() method to force display of a snackbar message into a specific container (for example a modal dialog). - CHANGE: new optional 'renderCallback' parameter added to the znetdkMobile.autocomplete.make() method to customize the display of the suggestions. - CHANGE: new znetdkMobile.form.setDataModifiedState() method to indicate whether form data are modified or not by a user input. This method is called by the znetdkMobile.form.reset() and znetdkMobile.form.events.handleAllInput() methods. - CHANGE: new znetdkMobile.form.isModified() method to know if form data have been modified or not by a user input. - CHANGE: new 'checkDataFormsModified' parameter added to the znetdkMobile.modal.close() method to check whether the inner form data have been modified or not by a user input. If so, a confirmation is aked to user before closing the modal dialog. - CHANGE: when the 'question' parameter is set to null calling the znetdkMobile.messages.ask() method, then the LC_MSG_ASK_CANCEL_CHANGES php constant message is displayed as default question. - CHANGE: the display width of the 'z4musers.php' and 'z4mprofiles.php' views is enlarged for best display on mobile devices. - CHANGE: for the mobile page layout only (CFG_PAGE_LAYOUT set to 'mobile'), if an anchor with 'href' attribute starting with 'mailto:' or 'tel:' is clicked, then no unload confirmation message is longer prompted by the web browser. - CHANGE: the 'engine/log/autoexec.sync' file created by ZnetDK to synchronize the execution in background of an 'autoexec' controller action is now automatically deleted and recreated if it is corrupted or if its execution time exceeds one hour. - CHANGE: for the mobile page layout only (CFG_PAGE_LAYOUT set to 'mobile'), the jQuery library is updated to version 3.5.1 (previous version was 3.4.1). - CHANGE: values stored in the web browser local storage using the znetdk.storeLocalSettings() and znetdkMobile.browser.storeLocalData() methods are no longer overwritten by another ZnetDK application installed on the same internet domain name. - CHANGE: when calling znetdkMobile.list.setCustomSortCriteria() method with a property named '_default' as sort definition for the sortCriteria parameter, then no sort is applied when this sort field is choosen from the search modal dialog, including if reverse sort has been selected. - CHANGE: for the mobile page layout only (CFG_PAGE_LAYOUT set to 'mobile'), the local storage key used to memorize the custom sort criteria of a data list (see znetdkMobile.list) is now suffixed with the view ID. So the sort criteria are no longer applied when a data list, with the same element ID, exists in different "reloaded on display" views (with the 'zdk-viewreload' CSS class). - CHANGE: the onAdd parameter of the znetdkMobile.list.setModal() now accepts to be set to false in order to hide the 'Add' action button. - CHANGE: for the custom and mobile page layout only (CFG_PAGE_LAYOUT set to 'custom' or 'mobile'), the HTML title attribute is added to the menu item anchor of the navigation menu and is set to menu item label. - CHANGE: for the mobile page layout only (CFG_PAGE_LAYOUT set to 'mobile'), labels that are too long in the vertical navigation menu are cut off on the right and suffixed by 3 dots (i.e. '...'). - CHANGE: when calling znetdkMobile.modal.getInnerForm() method, if more than one form exist in the modal, the first one is now returned instead of a boolean false value. - CHANGE: new znetdkMobile.list.searchedKeywordAsJson property. When set to true, extra 'keyword_json' POST parameter is sent to the PHP controller's action on search by keyword, for loading a ZnetDK Mobile Data List (see 'data-zdk-load' HTML5 property). This 'keyword_json' parameter contains each searched keywords in JSON format including the extra properties of the selected keyword suggestions (see 'data-zdk-autocomplete' HTML5 property). - CHANGE: keyboard selection added to the suggestions displayed by a znetdkMobile.autocomplete input field. - BUG FIXING: error message "E_WARNING - file_exists(): open_basedir restriction in effect." when the README.TXT file existed into the 'engine/modules' subdirectory. - BUG FIXING: error message "The input with name='input_name' is not supported!" was displayed into the browser console when calling the znetdkMobile.form.getInputValue() method passing as parameter an input name matching a &l<textarea> HTML element. - BUG FIXING: the form's previous error message displayed could be wrongly displayed again when submitting a form with a ZnetDK Dropdown widget set with the 'required' HTML property while no dropdown item was selected. - BUG FIXING: the 'beforesubmit' events of the ZnetDK form widget were wrongly sent before the ZnetDK Dropdown, Date, Multiupload and InputHtml widgets being validated. - BUG FIXING: the znetdkMobile.list.refresh() method could be called multiple times on view display when the view was set to be reloaded on each of its displays ('zdk-viewreload' CSS class applied to a HTML element of the view). - BUG FIXING: after znetdkMobile.navigation.addRowCountToHorizontalMenuItem() method call, the horizontal menu items could be displayed on an extra line and so they could hide the view content. - BUG FIXING: for the mobile page layout only (CFG_PAGE_LAYOUT set to 'mobile'), after removing a filter tag applied to a znetdkMobile.list element, the space was not totally released at the top of the list. - BUG FIXING: after calling the \Response::setFileToDownload() method, the response header Content-Type was not set properly for downloaded pictures when its file extension was in upper case and when the '$downloadedFilename' parameter was not specified. - BUG FIXING: for the mobile page layout only (CFG_PAGE_LAYOUT set to 'mobile'), when saving a user profile, the parent menu items of the selected menu items were not stored. As a result, parent menu items were not displayed in the navigation verticial menu for users who were assigned the profile. - BUG FIXING: select HTML element did not gain focus when calling znetdkMobile.form.setFocus() method.
ZnetDK 2.2, 2020-05-25
ZnetDK 2.11, 2019-10-30 (patch)
- BUG FIXING: error "Fatal error: Uncaught exception 'LogicException' with message 'Class General could not be loaded'..." on some hosting servers like the "Pages Perso Free". This error occurs when the setting of the 'include_path' PHP configuration option is not allowed through the 'set_include_path()' PHP function.
ZnetDK 2.1, 2019-10-07
ZnetDK 2.0, 2019-04-18
- CHANGE: the selected files displayed by the ZnetDK Multiupload widget when calling the setUploadedFiles() method can be downloaded for display in a new browser tab when the url for download is specified as 'url' property in addition to the 'filename' property. - CHANGE: 10 new mono-color widget themes (theme name prefixed by 'z-mono-'). - CHANGE: new 'refreshIconsColor' method added to the OfficeMenu Widget for refreshing the color of the menu fontawesome icons when the widget theme is changed on the fly. - CHANGE: the PrimeUI icons of the Windows Manager Office Page Layout are replaced by fontawesome icons. - CHANGE: when the column resizing feature is enabled for the zdkdatatable widget ('resizableColumns' widget option), the width of each column when it is resized, is memorized by the web browser. So, the columns are automatically resized according to the memorized width each time the user connects to the application and display again the concerning datatable. - CHANGE: new CFG_DOWNLOAD_AS_POST_REQUEST_ENABLED config.php parameter allowing when it is set to TRUE, to download a file calling the standard ZnetDK Response::setFileToDownload() method while the HTTP request is sent using the POST method. By default, only the HTTP GET method is allowed to download a file. - CHANGE: new 'data-zdk-allvalues' HTML attribute added to the zdkform widget. So the empty data are also sent as POST parameters to the PHP controller action when the form is submited while the 'data-zdk-allvalues' HTML attribute is set to 'true' for the form element. - CHANGE: new CFG_AUTO_MINIFICATION_METHOD parameter for setting the method to call when the module CSS and JS files are to be minified before adding them as minified CSS and JS dependencies into the application HTML main page. - CHANGE: new ZnetDK \General::isW3cDateValid() method for checking if a W3C date in string format ('Y-m-d') is valid or not. - CHANGE: new ZnetDK \General::encrypt() and \General::decrypt() methods for encrypting and decrypting data. - CHANGE: application or module controller actions now can be executed asynchronously thanks to the new \AsyncExec::submitActionToLaunch() method. To enable this feature, the asynchronous controller action name must be returned as an array by the 'setAsynchronousActions()' protected method of the application or module controller (derived from \AppController). In addition, the new CFG_ASYNCEXEC_PHP_BINARY_PATH parameter is to customize according to the Operating System where the web application is deployed (see 'engine/core/config.php' inline comments for details). Finally, the asynchronous process execution is traced into the 'engine/log/system.log' file when the CFG_ASYNCEXEC_LOG_ENABLED parameter is set to TRUE. - BUG FIXING: the dialog content height was not adjusted automatically according to the wiewport height on ZnetDK dialogs with the 'autoHeight' option enabled. - BUG FIXING: 'Allowed memory size of xxxx bytes exhausted...' error message when downloading big files beacause the file buffering was enabled (the file to download was fully loaded in the memory of the hosting system before being output it in the HTTP response). - BUG FIXING: on the ZnetDK Picklist widget, the wrong icon 'fa-angle-right' was displayed instead of the 'fa-angle-left' icon for removing an item from the right-hand list. - BUG FIXING: message 'E_STRICT - Only variables should be passed by reference' traced into the ZnetDK engine/log/errors.log file by the Request::getRemoteAddress() method when reverse proxy is configured on the hosting system.
ZnetDK 1.9, 2018-08-21
ZnetDK 1.8, 2017-12-15
ZnetDK 1.7, 2017-05-20
ZnetDK 1.6, 2017-02-21
ZnetDK 1.5, 2016-11-04
ZnetDK 1.4, 2016-08-17
ZnetDK 1.3, 2016-04-12
ZnetDK 1.22, 2016-03-26 (patch)
- BUG FIXING: on some FastCGI virtualized hosting (for example on 1&1 hosting), the web resources of the application html page was not displayed, due to their incomplete relative path (the subdirectory path was missing after the domain name). See details of this issue on the ZnetDK forum.
ZnetDK 1.21, 2016-02-01 (patch)
- BUG FIXING: ZnetDK fell into an infinite loop when it was deployed on some internet hosting server with FastCgi enabled: The PHP 'filter_input' statement applied to the '$_SERVER['REQUEST_METHOD']' array returns 'false' instead of 'GET' or 'POST'. - BUG FIXING: carriage return and line feed characters were removed from the POST parameters when read through the '\Request' object.
ZnetDK 1.2, 2016-01-22
- CHANGE: new CSV export capability: 1) The field separator ("," or ";") is set in the LC_LOCALE_CSV_SEPARATOR locale parameter. 2) the 'Response::setDataForCsv()' method is called from the application controller to set the data to return as a CSV file. - CHANGE: the DAO class evolves: 1) New 'DAO::$amountColumns' property that can be set from the 'DAO::initDaoProperties()' method to specify the columns that are to be displayed as an amount. For each of them, a formated amount is returned by the 'DAO:getResult()' method in a new column named like the original column, excepted that it is suffixed by the '_amount' string (for example "mycol_amount" if the table column was originally named "mycol"). 2) New 'DAO::setSelectedColumns()' method: when called before the 'DAO::getResult()' method, limits the values returned by the DAO to the only specified columns in parameters. 3) The 'DAO::setSortCriteria()' method removes automatically the '_money', '_amount' and '_locale' suffixes into the sort clause string passed in parameter. - CHANGE: new widget themes added to ZnetDK : 'asphalt' and 'greensea'. - CHANGE: the 'zdkactionbar' widget evolved: 1) The datatable rows are now filtered when the "Enter" key is pressed while the search field gets the focus. 2) A new 'search' event is triggered when a keyword is submitted to filter the database rows and when the clear button of the search field is pressed. An event handler can then fully overload the standard search process (the call to the 'filterRows' method of the zdkdatatable) by returning the 'false' value. 3) When a keyword is submitted through the search field, the entered keyword is automatically selected once the datatable rows is filtered. 4) When the clear button of the search field is pressed, the keyboard focus is now automatically set to the search field. - CHANGE: new 'Convert::valuesToAnsi()' method that can be called to convert a UTF-8 string to an ISO-8859-1 string. - CHANGE: new 'zdk-autofocus' CSS class that can be added to an HTML element located into a 'puidialog' widget, in order to set the focus to this element when the dialog is shown. - CHANGE: the 'zdkdatatable' widget by now also displays the warning messages returned by the application controller called to get the data rows. The controller returns a warning message when the 'Response::setWarningMessage()' method is invoked. - CHANGE: the 'selectionchange' event is no longer triggered when the 'select' method of the 'puiradiobutton' widget is called. So, this event is only triggered when the radio button state is changed by a user action on the UI. - CHANGE: new 'setFormModified' method added to the 'zdkform' widget and that can be call to force the state of the form data to modified or not modified. - BUG FIXING: the Fontawesome icons was not displayed on IE11 when a ZnetDK application was deployed over the SSL protocol (the cache properties are now unset into the header response for the downloaded font files). - BUG FIXING: the header's dropdown used for language selection was enlarged to display properly some larger language labels. - BUG FIXING: the text of the question displayed when calling the 'znetdk.getUserConfirmation()' method was not properly aligned.
ZnetDK 1.11, 2015-12-19 (patch)
- CHANGE: the 'filterCriteria' option is now taken in account by the zdkdatatable widget when it is instanciated for the first time.
ZnetDK 1.1, 2015-12-08
- CHANGE: in the step 3 of the Application Wizard, the new option "No, the access to a database is not required" allows to bypass the database configuration when the application doesn't need to access to a database. - CHANGE: the Application Wizard creates now a new private directory named 'documents', that is dedicated to the storage of the electronic documents uploaded and downloaded by the users. The path of this new directory can be known thanks to the new 'CFG_DOCUMENTS_DIR' PHP parameter. - CHANGE: the conversion in JSON format of the response returned by a controller action is now forced, even if the response data is not properly encoded in UTF8. Nevertheless, if the conversion in JSON fails, an explicit HTTP error message is returned. - CHANGE: new 'Users::notify' method that can be overloaded by the application to send an email notification to the user when her or his account has been created or when her or his password has been changed from the users manager view. - CHANGE: the ZnetDK front controller accepts now HTTP requests sent with GET method when the specified controller action is named 'download'. By this way, files can be downloaded from a simple hyperlink added to a view or can be displayed inline in a view, through an HTML 'iframe'. - CHANGE: new 'Response::setFileToDownload()' method which allows to specify from the 'download' controller action, the file returned by the web server for download. - CHANGE: new 'Response::setPrinting()' method called from the 'download' controller action, for setting the FPDF printing returned by the web server. - CHANGE: new 'General::getURIforDownload()' method allowing to get the URL of a document to download. - CHANGE: the ZnetDK settings consistency controls are strengthened by displaying the HTTP error view with an error 500 when the 'CFG_VIEW_PAGE_RELOAD' parameter is set to TRUE while: 1) the 'CFG_AUTHENT_REQUIRED' parameter is also set to TRUE (not supported), 2) the 'CFG_VIEW_PRELOAD' parameter is also set to TRUE (not consistent), 3) the 'CFG_PAGE_LAYOUT' parameter is set to 'office' (not supported). In addition, an error is traced in the ZnetDK 'errors.log' file to specify the cause of the HTTP error. - CHANGE: the 'zdkdatatable' widget has evolved as specified below: 1) When the paginator is enabled, the 'first' and 'rows' POST parameters are now systematically sent to the controller's action, even when the datatable is displayed for the first time. So, it's no longer necessary to test within the controller's action, whether the POST pagination parameters are defined or not (the pagination settings are done only one time into the view, through the 'data-zdk-paginator' attribute). 2) New method named 'selectRowByValue' that can be called to select a row from its value. 3) The following attributes are now removed from DOM by the widget itself once it is initialized: 'data-zdk-columns', 'data-zdk-action', 'data-zdk-paginator' and 'title'. - CHANGE: the 'DAO' class has 3 new properties that can be initialized from the 'DAO:initDaoProperties()' abstract method: 1) New 'DAO::$dateColumns' property to fill in for specifying the SQL columns of type 'Date' to format depending on the display language currently selected. 2) New 'DAO::$tableAlias' property to fill in when an alias is used into the query for prefixing the main table of the DAO. This property is used by the 'DAO::getById()' method to prefix the column containing the identifier of the row to select. 3) New 'DAO::$groupByClause' property to fill in with the 'GROUP BY' clause of the SQL query. So, when the SQL query is executed applying custom filters, the 'GROUP BY' clause can be added after the SQL conditions of the query. - CHANGE: a warning icon is now displayed by the 'znetdk.getUserConfirmation()' confirmation dialog box. - CHANGE: the 'znetdk.showMenuView()' method accepts a new 'options' parameter that is sent to the called view by the new 'initview' event. - CHANGE: the derived version of the 'puidialog' widget has evolved as described below: 1) The 'close' event is sent when the title bar close button is clicked on. 2) The focus is set to radio buttons only when they are selected. 3) The focus is also set to 'select' HTML elements. 4) New method 'setTitle' allowing to set the dialog title dynamically. - CHANGE: the 'zdkmodal' dialog is now also closed automatically when the 'zdk-close-dialog' CSS class is set to buttons declared with the 'zdk-bt-yes' or 'zdk-bt-no' CSS class. - CHANGE: the 'zdkform' widget has evolved as described below: 1) Values can now be displayed into the data form as a simple read only text, through a DIV element declared with the class 'zdk-textvalue' and the 'data-name' attribute. So, when the 'init()' method of the 'zdkform' widget is called, the data matching the 'data-name' attribute is displayed into the DIV element. 2) Only the HTML buttons which are direct children of the HTML form are grouped at the bottom of the form into the buttons pane. By this way, buttons declared into the form and surrounded for example by a DIV element, are not selected to be grouped into the form buttons pane. 3) New 'isFormModified()' method that can be called to know whether the data of the form have been modified by the user. - CHANGE: a new private property named '\Response::$viewCaller' has been added to identify the controller at the origin of the call of the view. This property can then be read by the view to customize its display, for example when the same view is used both to add and modify a business entity. In addition, the '\Response::setView' gets a new parameter named '$viewCaller' to specify a customized value for the '\Response::$viewCaller' property. - CHANGE: new conversion methods added to the '\Convert' class: 1) toMoney(): convert a decimal number to a money using locale settings, 2) toLocaleDate(): convert a 'DateTime' object to a localized date, 3) toW3CDate(): convert a 'DateTime' object to a W3C date, 4) W3CtoLocaleDate(): convert a W3C date to a localized date. - CHANGE: new constants added to the 'locale_fr.php', 'locale_en.php' and 'locale_es.php' scripts for overloading the localization settings of the 'setlocale()' PHP function. These new constants are LC_LOCALE_ALL, LC_LOCALE_DECIMAL_SEPARATOR, LC_LOCALE_THOUSANDS_SEPARATOR, LC_LOCALE_NUMBER_OF_DECIMALS, LC_LOCALE_CURRENCY_SYMBOL, LC_LOCALE_CURRENCY_SYMBOL_PRECEDE, LC_LOCALE_CURRENCY_SYMBOL_SEPARATE and LC_LOCALE_DATE_FORMAT. - CHANGE: the FontAwesome icons are shipped with this version. The 'puimenu' and 'puibutton' widgets now can be set both with jQueryUI and FontAwesome icons. - BUG FIXING: after a call to the 'zdkform.reset()' method, the input focus could be set on hidden HTML input elements. - BUG FIXING: when the 'CFG_VIEW_PAGE_RELOAD' parameter was set to TRUE, the hyperlink set for the banner logo and the 'httperror.php' view did not include the 'appl' GET parameter, while executing an application other than the 'default' application. - BUG FIXING: when the PEAR framework was specified in the 'include_path' parameter of the 'php.ini' file, the error "Notice: Use of undefined constant CFG_ZNETDK_ERRLOG" was displayed, due to the existing PEAR '\Config.php' script in conflict with the one named identically in the ZnetDK core.
ZnetDK 1.0 (stable version), 2015-09-23
- CHANGE: The ZDK_TOOLS_DISABLED parameter definition was moved from the 'znetdk/.htaccess' file to the 'znetdk/applications/globalconfig.php' script, because the definition of a custom environment variable into the .htaccess file, through the 'Setenv' statement, is in most case not taken in account by the Internet Access Providers. TO ENSURE COMPATIBILITY WITH LEGACY APPLICATIONS developed in version 1.0 RC, set now the ZDK_TOOLS_DISABLED parameter as a PHP constant to the value TRUE into the 'znetdk/applications/globalconfig.php' script if you want to disable the core tools access in a production environment. - CHANGE: the 'classic' and 'office' page layouts were optimized for the display on tablet devices in portrait orientation (768 x 1024 pixels). - CHANGE: the 'data-zdk-paginator' HTML5 attribute of the ZnetDK's 'Datatable' widget now can be used to define the number of buttons displayed for selecting a new page of rows (for example, data-zdk-paginator='50:10' will display 50 rows per page and 10 page selection buttons on the paginator to select another page and display the matching rows). - CHANGE: the widget 'AutoComplete' is now created with the 'autocomplete' HTML5 attribute forced to 'off' to avoid conflicts with the autocompletion mechanism of the web browser. - CHANGE: the background color of the message displayed with the 'Growl' PrimeUI widget fits now the severity of the message ('info', 'warn' or 'error'). - CHANGE: in the Application Wizard step 2, the themes displayed in the dropdown panel for selection are now sorted in ascending alphabetical order. - BUG FIXING: on FireFox browser, the dropdown's selection panel was not properly aligned to its container when displaying images (the panel width was lower than the dropdown width). - BUG FIXING: the main page of the application was loaded twice on FireFox (two HTTP GET requests received by the web server) because the HTML meta tag 'charset' was not declared within the 1024 first characters of the page, due to HTML comments too long (see the comment 44 of the page https://bugzilla.mozilla.org/show_bug.cgi?id=236858 for details). - BUG FIXING: the message 'CORE - E_NOTICE - Use of undefined constant question' was traced into the 'errors.log' file when trying to remove a user profile with associated data rows. - BUG FIXING: the 'znetdk/applications/default/app/.htaccess' file was not generated by the Application Wizard. - BUG FIXING: the 'classic' page layout was not properly displayed when the parameter CFG_VIEW_PAGE_RELOAD was set to TRUE. - BUG FIXING: when the 'znetdk' widget theme was set, the hyperlinks displayed on the banner were not visible. In addition, an HTTP error 404 was traced in the Chrome web browser console for the 'ui-bg_flat_100_ff9400_4.png' image when ZnetDK was installed on Linux system. - BUG FIXING: the 'DropDown' widget was not highlighted in red when no value was selected whereas it was set with the 'required' property (regression introduced in version 1.0RC).
ZnetDK 1.0 RC (Release Candidate), 2015-09-03
ZnetDK 0.98 (beta version), 2015-07-21
- CHANGE: new 'zdkdropdown' widget based on the PrimeUI puidropdown, fully integrated to the ZnetDK form and directly connectable to any action of an application controller (see online demo at www.demo.znetdk.fr). - CHANGE: the 'zdkradiobuttongroup' widget now simplifies the positioning of its radio buttons vertically and horizontally using the <br> HTML element to add a line break between two radio buttons (see online demo at www.demo.znetdk.fr). - CHANGE: the 'reset' method of the 'zdkform' widget takes in account the HTML properties 'checked' and 'selected' by applying the default selection to the the radio buttons, listboxes and dropdown widgets. - BUG FIXING: the displayed modal dialog is now removed when the user session has expired and the user clics on the 'Cancel' bouton from the connection dialog displayed for renewing his credentials. - BUG FIXING: about the 'zdkform' widget, the focus is now systematically set to the field in error when the user submits the form several times. - BUG FIXING: the 'zdkform' form is now properly initialized when its 'init' method is called whereas an error message is displayed into the form. - BUG FIXING: on Internet explorer 11, when the 'classic' layout is set for the application (parameter CFG_PAGE_LAYOUT), the datatable rows are now properly highlighted when the mouse pointer hovers them and the selected row are now visible (see known issues pointed out in version 0.97). - BUG FIXING: on Internet explorer 11, the radio buttons are now properly displayed (see known issues pointed out in version 0.97). - BUG FIXING: on Internet explorer 11, the 'inputtext' and 'textarea' widgets were not properly reset after the triggering of the 'reset' event and the 'required' HTML5 property was not taken in account after a new form HTML5 validation.
ZnetDK 0.97 (beta version), 2015-07-10
ZnetDK 0.96 (beta version), 2015-06-28
- New widgets zdklistbox that can be directly filled in with the data returned by a controller action. - Correction of the \DAO::getCount() method which always returned the value 0 (regression introduced in version 0.95). - Method DAO::setMultipleFilterCriterias removed. The method DAO::setFilterCriteria is the one to use to define both one criterion or several criteria. - The HTML 5 attributes 'data-errmess-required' and 'data-errmess-type' originally supported by zdkform are renamed 'data-zdkerrmsg-required' and 'data-zdkerrmsg-type'. - New 'zdk-row-id' style sheet class to be applied to the input field in the form which contains the row id currently edited. By now, the 'name' HTML attribute of the input field tagged with the class 'zdk-row-id', is read by the zdkactionbar widget to name identically the POST parameter sent to the controller action, when the user asks for removing a row in the datatable. - The profile tree nodes displayed in the profile management form are again fully expanded when adding a new profile (regression introduced in version 0.95). When editing an existing profile, only the selected tree nodes are expanded while the others remain collapsed.
ZnetDK 0.95 (beta version), 2015-06-22
- The core class '\Menu' was renamed '\MenuManager' to avoid confusion with the application class \app\Menu. TO ENSURE COMPATIBILITY WITH LEGACY APPLICATIONS developed in a lower version than this version 0.95, the call to the "\Menu::addMenuItem" method must be replaced by a call to the new "\MenuManager::addMenuItem" method in the "menu.php" PHP script of your original ZnetDK application. - New method '\DAO:setMultipleFilterCriterias' allowing to set several filter criterias to a custom DAO object. - New public method '\controller\users::hasProfile()' allowing to know if the connected user has access to the specified profile. - New methods 'setCustomValue()' and 'getCustomValue()' added to the \UserSession class to store and retrieve cutom variables from the user session. - Core controller actions can be now overloaded individually (it's no longer necessary to overload all the actions of a core controller). - New parameter CFG_CHECK_PWD_VALIDITY specifying the regular expression used to check that a new entered password is strong enough. - New parameter CFG_NBR_FAILED_AUTHENT: number of login attempts until the user's account be disabled. Fixed to 3 failed attempts by default. - The 'Connect' button is now disabled when the user fails to connect after several successive attempts (number configured in CFG_NBR_FAILED_AUTHENT). - New public PHP methods 'setWarningMessage' and 'setCriticalMessage' added to the ZnetDK class '\Response'. - The hierarchy of the navigation menu is extended to more than 2 levels for the layouts 'office' and 'custom'. - New widget 'zdktree' ready to connect to PHP controller actions. - Online help added for the user and profile management pages. - Enhancement of the user and profile manager views (number of rows displayed in the datatable header, columns resized, new ZnetDK error messages returned when a database error happens...). - Profile management: menu items selection with the tree widget improved in the profile edit form. By now, when a tree node is selected, its parents and children are automatically selected (new option 'autoSelectFamily' added to the widget 'zdktree'). - The "Example" view is now properly displayed for the "office" layout. - Upgrade to the version 1.1 of the PrimeUI widgets. - The meta tag "charset" is now directly inserted by the method Layout::renderMetaTags().
ZnetDK 0.94 (beta version), 2015-05-16
ZnetDK 0.93 (beta version), 2015-04-10
- The default theme set for the parameter CFG_THEME in the config.php of the starter application is changed to 'flat-blue' (originally set to 'south-street' in the previous version).
ZnetDK 0.92 (beta version), 2015-04-06
- First beta version available for download.
|©réation 2014-2022 | Tous droits réservés||Mentions légales Licence ZnetDK||Projet PMC Logiciels|