Changelog
Every day we are working to improve our software products. Below you can see the (almost) complete history of MaxDB PHP Generator changes. Records marked by a plus sign () denote improvements, records marked by a minus sign () stand for bugfixes, and records marked by an exclamation mark () show incompatible changes.
Upgrade policy for MaxDB PHP Generator can be found here.
Version 22.8.0.12
- Added PHP 8.3 support.
- Upgraded SSH client. Now it supports more secure key exchange algorithms.
Version 22.8.0.11
- Fixed Google reCaptcha issue.
Version 22.8.0.10
- Upgraded jQuery library to version 3.6.
- Updated jQuery-related libraries to ensure compatibility with the new version of jQuery.
- Updated some javascript libraries to fix security vulnerabilities.
- Added missing Unicode support for RSS.
- Fixed issue with updating records in Brave browser.
- Firebird version: Fixed issue with updating boolean fields.
- PostgreSQL version is fully compatible now with PostgreSQL 16.
- Some other minor fixes and code optimization.
Version 22.8.0.5
- Added PHP 8.2 support.
- Updated some language files. Thanks to our users.
- Several bugs have been fixed and some other improvements and code optimization have been made.
Version 22.8
Version 20.5.0.7
- Implemented setReadonly() function for "Combobox" and "Cascading Combobox" editors.
- clear() function of "Radio Group" editor works correctly now.
- A selected image name in "Image upload" and "Upload image to folder" editors is visible now in 'Slate' and 'Superhero' themes.
- The "Length range" client validator works as expected now when a zero value is used for 'Min length' or 'Max length' properties.
- Vimeo videos are played correctly now in "Embedded Video" view controls.
- In "CheckBox Group" editor a sort order is now considered for values retrieved from a database.
- "Query statements" window in "Query" editor is resizable now.
- Shortcuts now work in "User-defined JavaScript" window.
- Detailed description of detail pages is displayed correctly now. (Previously, a detailed description of the parent page was displayed instead).
- It's possible now to change column captions only for "Multi-Edit" form.
- Content encoding of a page is now considered in "Lookup Data View" forms.
- Fixed security vulnerability in the PHPMailer library (the library is used to send messages).
- PostgreSQL version is fully compatible now with PostgreSQL 14.
- Firebird version is fully compatible now with Firebird 4.
- Some other minor fixes and code optimization.
Version 20.5.0.5
- PHP 8.0 support.
- CheckBox Group editor now allows to use values stored in the database.
- From now on it's possible to add new items to Multiple Select and CheckBox Group editors "on-the-fly".
- Support for inline View forms has been implemented.
- Quick Filter search terms are now highlighted in popovers too.
- Implemented missing clear() client-side API function of Multiple Select editor.
- The "Reload page after Ajax operation" option is now considered for Quick editing.
- Upgraded "phpexcel" engine for export to Excel. It is based now on PhpSpreadsheet library instead of outdated PHPExcel.
- In modal forms it was impossible to enter anything in the dialog windows of WYSIWYG editor.
- The caption of a calculated column specified in its creation editor was ignored.
- The "More" links didn't work for the text enclosed in "p" HTML tag.
- Videos are played correctly now in "Embedded video" columns.
- If one of "Insert" or "Edit" abilities is disabled for a page then the "Save and add another record" or "Save and continue editing" command, respectively, is not displayed anymore in dropdown list of the "Save" button on a form.
- In modal View forms an image gallery was displayed under the form.
- clear() and setValue() client-side API functions of CheckBox Group editor now work correctly.
- Fixed wrong "More information and examples" links to online help in the descriptions of security events.
- Several methods of the Page class have been documented.
Version 20.5.0.3
- The application header and footer are now displayed on 'Registration', 'Resend verification' and 'Password recovery' pages. Moreover the OnCustomHTMLHeader project-level event is now fired for all these pages.
- The $page parameter of the OnAddEnvironmentVariables project-level event has been removed. The environment variables specified in this event can now be used in any project-level and security-level event via GetEnvVar() method implemented in Application class.
- A possibility to set a default value for Cascading Combobox editors.
- From now on it's possible to use null values in date/datetime columns of Gantt charts.
- Geo charts are displayed correctly now.
- An Indonesian translation has been added. A number of translations have been updated. Thanks to our users.
- Added missing Unicode support for formatting functions of Dynamic Cascading Combobox levels.
- Some other minor fixes and code optimization.
Version 20.5
Version 18.3.0.3
- A possibility of displaying records of lookup data sources in the modal window has been implemented.
- Database objects are now refreshed only when necessary. This should significantly increase PHP Generator performance especially when working with large database and/or slow connections.
- External images are now exported to PDF. Also export to PDF now works fine under PHP 7.1 and 7.2.
- Temporary directories created for previewing style changes are now deleted when they become unnecessary. This will save some place in your %TEMP% directory.
- Group editor becomes accessible directly from Page List (via an ellipsis button).
- The IsLoggedInAsAdmin() function has been added to the Page class. A number of other functions of this class have been added to the public server-side API.
- An option that allows you to disable selection filters has been added.
- Only new and modified pages are now generated on pressing the Ready button. This should increase the performance for projects containing a large number of pages.
- A possibility of providing separate styles for the printer-friendly version and export to PDF has been added. These styles are saved to user_print.css and user_pdf.css files accordingly.
- A number of translations have been updated. Thanks to our users.
- Some other minor fixes and code optimization.
PHP Generator Feature Demo updated
- Filter Selection page has been added to the Data Filtering group. This page provides examples for recently implemented selection filters and selection management commands.
- Condition Details page has been added to the Fine Tuning and Tweaking group. This page learns how it is possible to show or hide detail button depending on a condition.
- HTML Display page has been added to the Grid Columns group. Learn how it is possible to enable/disable HTML display in the data grid.
- Image Galleries and Thumbnails pages have been moved to the Image Management group.
- Updated project files are available for downloading. To run the demo on your webserver, version 18.3.0.2 is required.
Version 18.3.0.2
- A possibility of adding pre-defined options for quick record selection has been implemented (for example, you can select all countries from Europe or all completed projects in two mouse clicks). To specify such options, use the OnGetSelectionFilters event. Live example.
- "Show selected only", "Show unselected only", and "Show all" commands have been added to the selection management button's drop-down menu.
- From now on it is possible to generate thumbnails on uploading multiple images.
- A possibility of choosing the placement for error messages in data input forms has been added. Possible values are "Below the form" (default), "Above the form", and "Below and above the form".
- Image upload control has been improved. Now it uses File API from HTML 5 that allows to always display "actual" images.
- The "Reload page after Ajax operations" option has been added. It allows you to reload the page after Modal and Inline editing/inserting as well as after deleting the record(s).
- From now on it is possible to choose whether all or none fields are selected when the multi-edit command is executed.
- It is now possible to use external style files on export to PDF.
- Dynamic Cascading Combobox now works properly even if no additional levels are added.
- Autocomplete editor: function getValue() now works as expected.
- Current sort order is now considered on exporting and printing.
- The login.php file is now generated in the proper encoding.
- Description of the PageList class has been added to the developer reference.
- A number of translations have been updated. Thanks to our users.
- Some other minor fixes and code optimization.
PHP Generator Feature Demo updated
- RSS page has been added to the Data Grid group. It examples how to setup an RSS channel for any page.
- Custom Default Values page has been added to the Data Input Forms group. It provides an example of using a non-trivial default value in the Insert form.
- An example of customizing templates for exporting and printing a single record has been added to the Exporting and Printing group. This example shows how easy it is to create a nice-looking invoice in the PDF format or directly for printing.
- An example of barcode generation has been added to the Fine-tuning and Tweaking group. Learn how to generate and display both one-dimensional (Code 128) and two-dimensional (QR codes) barcodes.
- Another example of custom filtering has been added to the Data Filtering group. In fact this is just a more advanced version of an already existing page. Choose according to your taste. :-)
- Updated project files are available for downloading. To run the demo on your webserver, version 18.3.0.1 is required.
Version 18.3
All PHP Generator demos updated
- Feature Demo: added examples for multiple editing and smart thumbnails features. Also added a fun page to showcase built-in color themes and a number of new iPhone images.
- All demo apps have been rebuilt with version 17.10.0.3. Project files available for downloading have been updated accordingly.
Version 17.10.0.3
- Mass (AKA bulk) editing. A possibility of editing multiple records at a time has been implemented. Edit form mode (separate page or modal) can be selected at the Abilities tab of the Page Properties dialog.
- The "Is thumbnail" option is added for External Image grid columns. When this option is checked, images in the corresponding column are considered as thumbnails for another column which name is specified as the value of the "Original image field name" property. Live example.
- Totals are now exported to PDF, Excel, and Word formats.
- On[Before|After]UpdateRecord events: old values are now passed to event handlers (the $oldRowData array). This should help you to easy implement scenarios like "I want to send a notification email when a certain value in the record is changed".
- When the "Ask for filter condition before display data" option is checked, the query calculating number of records is not performed until a filter is applied (in order to speed up page loading).
- From now on a warning message is displayed if incorrect lookup settings can cause duplication of records. The appropriate option that allows you to disable this inspection has been added to the Confirmations page of the application settings dialog.
- Added missing Unicode support for client-side events and a couple of other properties.
- setEnabled() and setReadonly() client-side API functions now work correctly for the CheckBoxGroup editor.
- Some application options were not saved in the registry.
- A number of translations have been updated. Thanks to our users.
- Some other minor fixes and code optimization.
All PHP Generator demos updated
- All demo apps have been rebuilt with version 17.10.0.2. Project files available for downloading have been updated accordingly.
PHP Generator Lite Edition released
Version 17.10.0.2
- Application-level option "Save project with each deployment" has been added. When this option is checked, MaxDB PHP Generator automatically saves the project file each time when the "Ready" button is clicked.
- "Sort by column click" and "Sort by dialog" options have been added to the "Abilities" tab in the Page Properties and Project Options dialogs. The tab itself has been divided into several groups for easy of use. The "Disable custom ordering" option has been removed from the Page Properties dialog as it is no longer needed.
- The "Sortable" option has been added for columns displayed in the List view. By default it is checked for all columns that can be used in the ORDER BY clause at the database level.
- An animated waiting icon is now displayed on deleting a single record or multiple records.
- Script connection frames now contain only controls whose values are really used in the PHP code.
- Multiple Select editor: when items are loaded from the database, the search is now performed on displayed values (instead of stored ones).
- Admin panel: there is no more user duplication on adding the second and subsequent users.
- Master-detail views could be displayed incorrectly for pages containing leading zeros in primary keys (like 0045).
- The "On-the-fy adding" feature now works as expected when it is applied to a combobox and a query is used as lookup data source.
- When the "Ask for filter condition before display data" option is checked, the panel inviting the user to provide a filter value is no more displayed for the master record in master/detail views.
- The "Could not convert variant of type (Null) into type (OleStr)" message is no more displayed on clearing a default value.
- Pressing the Cancel button displayed on the code generation did not stop the generation process.
- A number of translations have been updated. Thanks to our users.
- Some other minor fixes and code optimization.
Feature Demo updated
- New Data Sources group has been added. Learn more about data sources generated pages can be based on.
- New Emailing group has been added. Pages in this group provide live examples of sending emails from server-side events.
- Unicode Support page has been updated in order to reflect a possibility of using any language for interface elements.
- Home page banner has been added.
- The demo has been rebuilt with the version 17.10. Updated project files are also available for downloading.
Version 17.10
Feature Demo updated
A new page is added to Feature Demo. Learn how to implement a wizard form i.e. split a data input form into multiple steps. Updated project files are also available for downloading.
All PHP Generator demos updated
- Links to our social network accounts have been added to the "Learn more" menu and page footers.
- Feature Demo: added an example of customizing template for a single record view form.
- NBA Demo: added descriptions for groups.
- All demos have been rebuilt with version 16.9.0.7. Project files available for downloading have been updated accordingly.
Version 16.9.0.7
- Column Filter has been optimized. Now its values are loaded from the database only when/if a user presses the filter button. Due to this improvement, the initial page loading time is significantly reduced.
- Support for Inactivity Timeout has been implemented. The value of this option defines the maximum amount of time (in seconds) after that a user is automatically logged out from the application if he/she does not perform any action during this period.
- From now on it is possible to provide custom functions for encrypting and verifying the passwords. This allows you to use any encryption algorithm API or library you like.
- A new event editor has been implemented. Now you can edit all server-side (or client-side) event handlers in a single window that should simplify such operations as copy / paste code between different event handlers.
- OnGetCustomExportOptions event: it is now possible to customize the page size for export to PDF.
- OnBeforeLogout event has been added. The event fires just before a user logged out from the application by pressing the Logout button or when the inactivity timeout is reached.
- The "Offline mode" option has been added to the Project settings. Turn this option ON for websites running on web servers without an Internet connection.
- Number of lookup values displayed in AutoComplete and Multi-level Autocomplete editors can now be customized.
- For lookup values stored in the database the AutoComplete editor is now used instead of Combobox.
- The algorithm that detects the HTTPS protocol using has been changed in order to support the IIS web server specifics.
- It is now possible to use a DateTime column as Display Field in lookup properties.
- Files and images stored in the database are now inserted correctly.
- A number of translations have been updated. Thanks to our users.
- Some other minor fixes and code optimization.
New video: On-the-Fly Adding
A new video tutorial is uploaded to our YouTube channel. Learn how to provide lookup editors with an ability to add new items in a modal dialog.
Security Demo updated
- Two examples of implementing a role-based permission model have been added. In the first example permissions are hard-coded within the event handler while in the second one they are retrieved from a database table.
- An example of using custom record permissions has been been added. This page demonstrates how to extend the record-level security functionality with the power of the OnGetCustomRecordPermissions event.
- How to redirect a user to a certain page? How to block the account of a fired employee? Answers for these and similar questions can be found on a newly added page that illustrates how it is possible to use the OnAfterLogin event.
- The demo has been rebuilt with the version 16.9.0.5.
Feature Demo updated
- Ajax-based validation page added to the Fine Tuning and Tweaking group.
- HTML Wysiwyg and Multi-level Autocomplete pages have been added to the Editors group.
- Descriptions for all groups have been added.
- The demo has been rebuilt with the version 16.9.0.5.
Version 16.9.0.5
- OnGetCustomPagePermissions and OnGetCustomRecordPermissions events have been added. Use these events to setup custom permissions at the page and record levels accordingly.
- The Quick Filter tool has been improved. Now it allows you to select columns to search as well as specify the search condition (Contains, Begins with, etc).
- It is now possible to print selected records (via the Selection Management button's menu).
- Multi-level Autocomplete Editor: from now on you can define a filter condition for each level separately. Variables like %CURRENT_USER_ID% are supported.
- $canLogin and $errorMessage parameters have been added to the OnAfterLogin event.
- Order of columns in Page Editor is now changed if columns are reordered for all views at once.
- Support for descriptions of menu groups has been implemented.
- HTML WYSIWYG editor: added support for changing text and background colors.
- File-based editors: it is now possible to specify allowed file extensions.
- OnPageLoaded server-side event has been implemented.
- Columns not included into the Insert view are now accessible in On[Before|After]InsertRecord event handlers.
- Links to the index page become correct when a non-default filename for the index page is used.
- Export to CSV now works fine for detail pages.
- Variables like %CURRENT_USER_ID% now can be used as default values for columns in the On-the-Fly Adding forms.
- Oracle: it is now possible to use DATE columns within the record comparison key.
- Quick Filter now works correctly for detail pages.
- File-based editors: custom attributes are now rendered as expected.
- Error messages for Range and Length validators become translatable.
- An Arabic translation has been added. Now PHP Generator comes with 19 languages on board. Thanks to our users.
- Some other minor fixes and code optimization.
Security Demo uploaded
This demo illustrates MaxDB PHP Generator security-related features such as application and page level permissions,
PUBLIC and guest privileges, record-level security, administration panel, etc.
Enter the demo site.
New video: Custom Form Layouts
A new video tutorial is uploaded to our YouTube channel. Learn how to define a custom layout for Edit, Insert, and View forms.
Feature Demo updated
- Data Filtering: examples for a simple custom filter and a preliminary filter have been added.
- A long-awaited example of embedding pages produced by PHP Generator into an existing website is now available. Enjoy.
- Two sample pages for handling many-to-many relationships have been added. The first page is dedicated to a classic junction table, while the second one learns how it is possible to handle the case when the junction table contains extra columns.
- Fine Tuning and Tweaking group: examples for changing the default icon set, customizing a built-in color theme, and incorporating a third party control into data input forms have been added.
- The Editors group has been created. It contains a number of pages, each of them is dedicated to a particular data edit control (Text, Combobox, AutoComplete Editor, etc).
- Recently added pages become accessible from a separate group.
- Home page: links to video tutorials have been added (when applicable).
- The demo has been rebuilt with the version 16.9.0.3. Don't forget to upgrade your installation of PHP Generator if you want to run it on your webserver.
New video: Record Comparison
A new video tutorial is uploaded to our YouTube channel. This video focuses on the Record Comparison feature. Learn how to compare multiple records and find the difference between their values in a few mouse clicks.
Version 16.9.0.3
- It is now possible to rename a group in the Page Groups dialog.
- Ctrl+Enter shortcut now works in Quick Edit forms.
- Default language file is now used on detecting invalid lang.php (no error message is displayed).
- Alignment is no more applied for values in Single Record View forms.
- Filter Builder and Column Filter now work fine on using the https protocol.
- Client-side event now fire in On-the-fly Adding forms.
- Values of text columns with View Properties = File Download are now included into exported files.
- Inline Editing: validation errors are now handled correctly on pressing the "Save and Continue editing" button.
- Captions of OK and Cancel buttons become translatable.
- Some other minor fixes and code optimization.
New video: Customizing Column Filter
This tutorial learns how to customize Column Filter to make it much more convenient for your users. Watch the video.
New video: Introduction to Column Filter
A new video tutorial is uploaded to our YouTube channel. This video describes what Column Filter is, how it works, and how to incorporate this feature into your applications.
Demo apps updated
- All demos have been rebuilt with version 16.9.0.2. Project files available for downloading have been updated accordingly.
- Feature Demo: a new group Fine-tuning & Tweaking has been added. Learn how to replace the default set of icons to your own and how to create a custom color theme.
- NBA Demo: a drop-down menu has been added to the Login button to help lazy users to test the application under different accounts.
Version 16.9.0.2
- It is now possible to select a pattern for the Quick Search tool (%term% or term%). The first pattern is more user-friendly while the second one works much faster (if the appropriate index is defined in the database).
- Using MFU values does not cause syntax error anymore.
- Download links for BLOBs stored in the database now work as expected.
- On-the-Fly-Adding could work incorrectly on using in detail pages.
- The calendar component and some other string resources become translatable.
- Filter Builder could display incorrect markup if the equality operator (=) is missing in the operator list.
- Filter Builder: date formats like d/m/Y and m-d-Y are now handled properly.
- An incorrect code could be generated on using custom partitioning on both master and detail pages.
- A number of translations have been updated. Thanks to our users.
- Some other minor fixes and code optimization.
Version 16.9
Version 16.3.0.5
- All cards now have the same height regardless of number of lines they contain.
- Master/detail views: it becomes possible to provide view mode for the master record and detail grid separately (via viewmode and master_viewmode GET parameters). Example 1. Example 2.
- A number of translations have been updated. Thanks to our users.
- Some minor hotfixes.
Version 16.3.0.4
- Data source management has been improved. Now you can create multiple pages based on a single data source as well as disable creation of top-level pages for certain data sources.
- All possible settings are now preserved on changing the editor type in the program UI.
- Insert, Update, and Delete operations are now disabled for pages based on read-only views.
- The json PHP extension is no more required by the generated code.
- The project-level "Thousand separator" option is now applied for integers (not only for floats).
- Totals are now calculated for a whole dataset, not for the current page.
- The Sort button is no more displayed if the "Disable custom ordering" option is checked.
- Export to PDF now works fine under PHP 7.
- Some other minor fixes and code optimization.
Version 16.3.0.2
- Data Export: it is now possible to customize the output filename as well as specify the orientation for PDF export and the library for export to Excel. More info.
- Sidebar menu usability has been improved. The "Hide Sidebar by default" option has been implemented. Ctrl+[ and Ctrl+] shortcuts have been added (to toggle the sidebar state).
- Charts: support for number formats has been implemented.
- Client-side validation: the first invalid control becomes focused on detecting an error when submitting a form.
- Master record tags (like %field_name%) are now allowed in detail page titles.
- The "Inline styles" property has been added to all data grid columns.
- Embedded video lookup columns are now displayed correctly.
- Client-side API: setValue() and getValue() functions could work incorrectly for checkboxes.
- Added some missing tooltips for data grid panel buttons.
- Some other minor fixes and code optimization.
Version 16.3
A new version of the NBA Demo is uploaded
- An inline filter has been added to the Game list page.
- The game card now represents an example of non-trivial custom template for the View form.
- A simple custom template for the Teams page has been added (links to detail pages moved from the drop-down menu to the card body).
- The Players page now uses the card view mode by default (to demonstrate a more or less complex example of custom template).
- Fixed broken links in the RSS feed.
Version 15.12.0.2
- The "Detailed description" property has been added to page settings. If specified, the Help button is displayed on the right of grid's toolbar and the property value is shown in a modal window when the button is clicked.
- "Condensed table" and "Bordered table" options have been added to the page settings. These options are also available at the project level (in this case they are applied to all pages).
- An ability of customizing php.ini settings in runtime has been implemented (Project settings | Shared options).
- The "Select All" checkbox now supports the indeterminate state (if only some but not all records are selected).
- A warning message is now displayed on detecting incorrect lookup settings.
- Date formats like d/m/Y and m-d-Y are now recognized correctly by Filter Builder.
- The "Highlight row at mouse hover" option now works correctly.
- The last item in the sidebar menu containing a large amount of pages could be inaccessible.
- Fixed a localization-related issue in the Admin Panel.
- A number of translations have been updated. Thanks to our users.
Version 14.10.0.10 (freeware)
- Some minor improvements and fixes.
Version 15.12
Version 14.10.0.7
- Copy operation is now available in the inline mode.
- Project options: event management becomes more convenient and user-friendly.
- On[Edit|Insert]FormLoaded and On[Edit|Insert]FormEditorValueChanged client-side events are now fired in the inline mode.
- The Save button is blocked when writing data to prevent the addition of the same record twice.
- SQL Server: support for SQL Azure database has been implemented.
- A confirmation dialog is displayed on removing a user in admin panel.
- Inline edit and inline insert modes finally become independent from each other.
- Partition numbers are not shared anymore between different pages.
- Symbols '\' and '%' are now allowed to be used in Filter Row.
- Inline mode: detail management controls are now displayed correctly for newly added records.
- Time editor works correctly now.
- Required validation is now supported for the 'Upload image/file' and 'Upload image/file to folder' editors.
- Custom attributes are now applied to the Multi-level Autocomplete editor.
- SQL Anywhere: pagination is now supported for pages based on custom queries.
- Some other minor fixes and code optimization.
Version 14.10.0.6
- New editor: Multiple select.
- Completely rewritten Autocomplete and Multi-level Autocomplete editors.
- A new Lightbox component.
- Improved password storing algorithm.
- Project-level OnBeforePageExecute event handler is now stored and restored correctly.
- Missing ampersands added to the $rowData parameter in the project-level data manipulation events.
- The OnPreparePage event now fires on detail page preview.
- Editors based on input[type=file] could work incorrectly in the inline mode.
- Empty groups are no more displayed in the page list.
- The Crypt algorithm is now can be used for password encryption.
- Template files are no more generated if the "Do not copy system files" option is checked.
- Connection via SSH tunnel could work incorrectly in some cases.
- MySQL: BLOB values are now saved correctly in the database.
- Some other minor fixes and code optimization.
Version 14.10.0.5
- HTML filter becomes available for Text, Text area, and WYSIWYG editors. Use it to strip unwanted HTML tags and attributes from user input.
- Starting from this version PHP Generator "remembers" the URL requested by an unauthorized user and redirects to the appropriate page after successful login.
- The Cerulean color scheme is now selected by default.
- The "Page navigator" option (None/Top/Bottom/Both) now also affects the partition list.
- Value of the "Copy all files / Do not copy system files" option is now stored in the project file.
- Page filter condition was not saved in the project file for detail pages.
- The OnPreparePage and OnInsertFormValidate events now fire for detail pages as well.
- Non-English characters could be displayed incorrectly in Inline modes on using ANSI encoding.
- Error messages coming from database server are now displayed in the Inline mode too.
- Values like 0 or empty string are now sent to the server correctly from OnBefore[Insert|Update]Record event handlers.
- Oracle: SQL scripts for creation user and permission tables have been fixed.
- Some other minor fixes and corrections.
Version 14.10.0.4
- Filter row: it is now possible to define number of items to be displayed in the lookup list. Also this list is now ordered according to general lookup settings.
- Page options have been divided to several categories.
- Option "Open search page at first" renamed to "Ask for filter condition before display data".
- Removed an unnecessary horizontal scrollbar that appeared in some cases.
- Deprecated mysql_escape_string function is no more used.
- DB2: a warning message related to GetCastToCharExpression function is no more displayed.
- WYSIWYG editor could work incorrectly in modal windows.
- Some other minor fixes and code optimization.
Version 14.10.0.3
- The "External audio file" option becomes available in the View properties. This allows you to use the standard HTML5 audio player for your application.
- The OnPreparePage page-level event has been added. This piece of code is a method of the Page class that is called at the end of the constructor. It allows you to customize all members of the class, for example, add an additional filter to the dataset.
- The OnBeforePageExecute event becomes available at the application level. This helps you to define a snapshot of PHP code that will be included into all the pages.
- The SpinEdit control was replaced to one from HTML5.
- The Step property has been added to the Range control.
- Lookup filter condition is now applied to Filter Row and Filter Builder tools.
- Date and datetime controls in Filter Row and Filter Builder now display values in the same format which is used in the corresponding Data Grid columns.
- Instances of the SMDateTime class used in the data manipulation events now can be converted to strings automatically.
- JavaScript API: the getCaption() function added to Combobox and RadioGroup editors.
- The "Save and open details" button could not work correctly on using an autoincrement key in the master table.
- Autocomplete Editor could work incorrectly in the modal Insert mode.
- The menu groups now can contain non-English characters.
- An error message is now displayed on attempt of changing a non-existent record.
- The "guest" and "Login as guest" strings become translatable.
- A number of translations have been updated. Thanks to our users.
Version 14.10
Version 12.8.0.18
- Ability to specify several output paths for a project is added (useful if you want to test the generated app under several local webservers).
- Now it is possible to include/exclude all columns to/from a certain presentation with a single click.
- Editors for entering file name templates (for example, in the Upload file to folder properties dialog) become more convenient.
- MS SQL: default content encoding is set to ANSI.
- Some client-side events did not fire for Insert forms in master/detail pages.
- Changes of column properties at the General tab could be displayed incorrectly for columns excluded from the List view.
- Headers of "Stored value" and "Display value" columns in Radio/Checkbox group editors are not swapped anymore.
- Popup hints for "More" links become available for columns of detail rows in master/detail views.
- Popup hints for "More" links could be displayed for non-english texts even if the text is not truncated.
- Images stored in the database could be displayed incorrectly in master/detail views if columns in master and detail tables have the same name.
- Uploading images to the database could cause a PHP warning in the strict mode.
- MS SQL: national symbols are now inserted and updated correctly even if the database collation does not correspond to the system locale.
- Code generation from the command line did not work without specifying the -o parameter (output directory). Now this parameter is not required (as it can be obtained from the project file).
- Some other minor fixes and corrections.
Version 12.8.0.16
- Support for user-defined parameters in custom templates. More information and examples.
- Ability to use separate custom layout templates for Insert and Edit forms.
- MS SQL Server: added support for SQL Server Express LocalDB databases. To access such databases, use SQL Server 2012 Native Client (SQLNCLI11) and SQL Server Driver for PHP.
- Czech localization has been improved. Thanks to Jaromír Adámek.
- Hopefully the final fix for processing datetime values in formats like m-d-y or d/m/Y. Now should work correctly for all supported versions of PHP.
- Filter row: filtering on date/datetime values could cause an error.
- Export to some formats could work incorrectly on using the ANSI encoding.
- Some other minor fixes and code optimization.
Version 12.8.0.15
- A new implementation of HTTP tunnel based on the MySQLi PHP extension.
- Smart default values of view/edit properties for pages based on queries.
- Automatic detection of query key columns.
- The visible (true|false) method added to the editor's API.
- A modal editor for lookup conditions becomes available (useful for lengthy and complex conditions).
- A link to the manual is included into the warning on invalid queries.
- Less compiler errors (if any) are now dispalyed in the preview window after theme customization.
- A warning message is displayed in the preview window on detecting an obsolete IE version
- Command buttons are added to the Details tab of the Page Editor.
- "More information and examples" link becomes available for global events.
- Combobox editor could display incorrect value if detail field contains NULL and master table contains a record with id = 0.
- Datetime values could be processed incorrectly on using some datetime formats like m-d-y or d/m/Y.
- A warning message is displayed if either .NET framework or dotLess compiler are missing in the system.
- A missing ampersand is added to the customHTMLHeaderText parameter in the OnCustomHTMLHeader event handler.
- Some other minor fixes and code optimization.
Version 12.8.0.14
- Filter row: the "Apply filter automatically" option is added. Also it becomes possible to specify the timer interval.
- Default empty grid height was decreased from 200 to 25 pixels.
- The login panel is now always visible and right-aligned (even on pages with a large amount of columns).
- There are no more conflicts between the library and generated files (so it becomes possible to use any file names for output pages).
- User-defined styles are now applied to the login page.
- Some markup corrections to simplify applying of user-defined styles.
- A number of translations have been updated. Thanks to our users.
- Some other minor fixes and code optimization.
Version 12.8.0.12
- This version has been successfully tested with PHP 5.5.
- Support for the SQLite3 database extension has been implemented.
- MySQL bit(1) columns are now displayed as check boxes.
- Turkish localization has been added. Thanks to Kadri Izer.
- Fixed some potential security vulnerabilities.
- PostgreSQL: modal and inline inserts could work incorrectly on using the serial data type.
- Some other minor fixes and code optimization.
Version 12.8.0.11
- Support for keyboard interactive SSH authentication has been added (when applicable).
- New program icons designed for up to 256x256 resolution.
- Now end-users can change their passwords themselves (on using table-based authorization).
- Record-level security becomes available for the first level detail pages.
- Admin panel: now to change a user password you need to enter it twice to avoid input mistakes.
- The inline display mode has been added for checkbox and radio groups (default mode is stacked).
- A handy editor has been added for editing combobox and radiogroup values.
- Computed columns are now excluded from the edit and insert forms by default (where applicable).
- Slovenian localization has been added. Thanks to Marko Bratkovic.
- No warnings are displayed anymore on opening the generated PHP files in our favorite IDE. :)
- Record-level security: additional verification of permissions has been added on opening of edit forms and on saving data.
- Table-based authorization: application and page-level permissions could be incorrectly saved in the database in certain cases.
- Now all the SpinEdit properties are saved, restored, and processed as expected.
- Some other minor fixes and code optimization.
Version 12.8.0.10
- The "Set null" checkboxes are not displayed anymore by default.
- The "Define key columns" button is no more available for invalid queries.
- Non-English symbols are now displayed correctly when using as True Caption / False Caption for columns with View Properties = Checkbox.
- MS SQL Server: non-English symbols are now displayed correctly within inline details.
- The OnCustomRenderTotals event handler code was not saved in the project file for detail pages.
- A warning message could be displayed in certain cases when there are no columns in the filter row.
- The extra stars for read-only columns are no more displayed in the Edit/Insert forms.
- The column captions containing the apostrophe (') could cause some errors in the JavaScript code.
- An informative message is displayed now when trying to access Admin Panel without the appropriate permissions.
- Combobox-style partitions makeup has been slightly improved.
Version 12.8.0.9
- Page titles and menu labels for detail pages can be edited now directly in the Page List.
- Page Navigator is improved to help users to estimate number of records in the data set.
- Admin panel: the "Page name" column now displays menu labels instead of object names (e.g. Customers.Orders instead of tbl_customer.tbl_order).
- Now it is possible to reset quick filter by entering an empty string and pressing Enter.
- Passwords are now stored and transferred encrypted everywhere.
- The comparison operators like =, >=, <= are now displayed as symbols in the filter string in order to save some space ("game_date <= 2008-11-01" instead of "game_date is less than or equal to 2008-11-01").
- The "user_password" column length was increased to 128 characters in order to support some complex encryption algorithms like SHA256.
- A more informative message is now displayed when trying to open a non-existing project file (More | Recent projects).
- The software now warns you if you forget to define key columns for a data source.
- A warning message is displayed on possibly incorrect script connection settings at the first step of the wizard.
- A more informative message is now displayed if the generated app cannot connect to the database.
- The generated app now displays a warning message if the templates_c directory does not exist or is not writable.
- Default ordering is now applied to inline details.
- The Amelia and SuperHero color schemes are removed from the installation package.
- The Reset Filter Row button could be displayed incorrectly if the Actions column contains a single button
- Checkbox group control: unchecking all checkboxes did not clear the field value.
- Date/time editor: the date value in the popup calendar could be displayed incorrectly in certain cases.
- Tables and views created in the database after the first invoking of the "Add table or view" dialog could not be selected as data sources.
- The project was not marked as modified when changing a page title or menu label directly in the Page List.
- Non-English symbols could be displayed incorrectly in some popup windows.
- The partition caption could be displayed incorrectly when it contains non-English characters.
- Simple search is now considered the lookup columns.
- List and Range partitions might work incorrectly on running the app under PHP 5.4.
- The inline editing now works properly for columns containing spaces in their names.
- Autocomplete Editor: the "Item caption template" property could be processed incorrectly in certain cases.
- The "Enable Guest Access" option was not stored in the project file.
- Admin Panel becomes translatable. The appropriate strings are added to language files.
- A few other missing strings are added to the appropriate language files. Hope they are complete now.
Version 12.8.0.8
- Menu labels become accessible directly from Page List.
- Support for passwords encrypted with crypt() and hash() functions (all algorithms) is added.
- Key columns for views are now stored fine in the project file.
- PostgreSQL: record-level security might work incorrectly in certain cases.
- Filter Row did not accept values containing single quotes.
- Filter Row enability for a page could be stored incorrectly in some cases.
- Admin page now includes user-defined styles.
- "Only variables should be passed by reference..." warning message could be displayed on accessing Admin Page.
- Filter Builder now displays column captions instead of field names.
- A string constant for NULL values is added to localization files. Some other strings are added there too.
- The "Open search page at first" option is now processed correctly.
- The "Force download" option for "File download" columns now works fine.
- Columns excluded from the List view did not appear in Filter Builder too independently of the appropriate option.
- Page Editor: the "Advanced search" column is finally renamed to "Filter builder".
- Page Editor: the "Quick search" tab was removed as it did not contain any valuable options.
- Aliases for generated lookup queries are now quoted if necessary.