Tools

Click [Tools] in the main menu bar to access the following useful tools available in PHP Report Maker.

Synchronization
Languages
Multi-Language Property Editor
Extensions
Advanced Settings
Locale Settings
Copy Table Settings
Copy Field Settings
Sort Tables Alphabetically
Create Report History Table
Create Email History Table
Delete Template Cache
Update Template
Compatibility Properties
Menu Editor
Scripts and Stylesheets

 

Synchronization

During the course of project development, it is common that you have altered your database schema. To save the effort of doing the customization from scratch again, PHP Report Maker provides you with the ability to synchronize your project data with the database. The synchronization process can be invoked in the following situations:


1. When working in PHP Report Maker

Simply click [Tools]->[Synchronize] or click thebutton on the toolbar to perform the synchronization. PHP Report Maker will check automatically to see if the database schema has been altered. If there are changes, you will be prompted whether or not to proceed with the synchronization.

2. When opening a project file

When open a project file, PHP Report Maker will automatically check the database to see if the schema has been altered. You will be prompted to keep or update to the new schema.

Note If the database contains a large number of tables/fields, this auto-synchronization feature may make reloading a project file slow. In that case you can disable this feature by unchecking [Tool]->[Auto Synchronize].

 

Languages

If you want to use multi-language project, make sure you have enabled Multi-Language in the [PHP]->[General] tab (see PHP Settings), then click [Tools] -> [Languages] to select the languages you want to use in the project. If more than one language is selected, a combobox will appear on the top of the generated scripts for user to select language.

After selecting the languages, select a Default Language in the [PHP]->[General] tab (see PHP Settings).

Read Multi-Language Project for details.

 

 

Multi-language Property Editor

Some text properties support unicode input for multi-language project through Multi-Language Property Editor.

Read Multi-Language Project for details.

 

Extensions

Click [Tools]->[Extensions] to enable or disable these extensions. If the extension has advanced settings (NOT every extension has it), you'll see the [Advanced] tab after selecting the extension. Click the [Advanced] to configure advanced settings for the extension.

 

 

Advanced Settings

Advanced Settings are some advanced general settings for PHP Report Maker, or some rarely changed settings for the project, or custom defined settings for use during code generation. Click [Tools] -> [Advanced Settings] to change these settings:

 

General General settings for PHP Report Maker (for all projects)
Custom validation functions

The comma separated function names for the Validate feature (see Field Setup)

You can add your own PHP/JavaScript functions for custom server/client-side validation. The function name is used for both PHP and JavaScript, so it must be a valid function name for both languages. You can put your server-side and client-side validation function in the Global Code (see Server Events and Client Scripts) section of server-side and client-side respectively.

PHP (php.exe) path

The installed path of php.exe. For use with Browse after generation and PHP as Testing web server, read Generate Settings.

PHP Report Maker uses php.exe to run the testing site, it will try to find automatically where php.exe is installed. If not found, enter your path here (including the file name "php.exe"), e.g. C:\Program Files (x86)\PHP\php.exe

PHP web server port

The port to be used by PHP built-in web server. For use with Browse after generation and PHP as Testing web server, read Generate Settings.

PHP Report Maker will try to find a free port automatically. If you want to specific one explicitly, enter it here.

Update template on start Check and update template on start (for registered users only)
Use project versioning Enable project versioning. If enabled, whenever you save your project, a version of the project will be created. You can click Project -> History to view the versions and revert to any version. See Project File for details.
Project Settings for the current project only
Project name Project name. See Project File for more info.
Project ID Unique ID of the project. Do not change the project ID unless absolutely necessary. See Project File for more info.
Node.js path Path of Node.js (node.exe). By default PHP Report Maker uses its own node.exe under the "node" subfolder of the installed path, e.g. C:\Program Files (x86)\PHP Report Maker <version>\node. If you want to use another version of Node.js (e.g. 64-bit version), you can specify your own path, e.g. C:\Program Files\nodejs.
Node.js max. old space size Memory limit of Node.js (MB). If your project is large, you may need to increase the memory limit, e.g. you can set it to 2048, 3072, 4096, etc.

Notes

  1. Set the setting according to the available memory of your system,
  2. If you need to use a large setting, you may need 64-bit version of Node.js. If your PC is 64-bit, download the latest 64-bit Windows installer and install it, then set Node.js path (see above) as the installed path, e.g. C:\Program Files\nodejs.
Node.js write file synchronously Write file synchronously. By default, output files are generated asynchronously. Use this setting if writing file synchronously performs better on your system.
Node.js garbage collection Use Node.js garbage collector to clean up memory regularly during generation.
Note Cleaning up memory manually will slow down generation, only enable this setting if you encounter out of memory problem.
Debug

Show the SQL and runtime error for debugging.

The setting is generated in rcfg*.php, if you change this setting only, you only need to re-generate rcfg*.php. Alternatively, you can manually modify the file and change the constant EWR_DEBUG_ENABLED.

Compress project .css Compress the project stylesheet (i.e. <project>.css) and output minified .css file.
Compress project .js Compress the project JavaScript file (i.e. ewr<version>.js) and output minified .js file.
Generate database helper Generate the database helper file named rdbhelper<version>.php for including in current or other project for simple access to the database and retrieiving data.
Disable project CSS styles

Do not generate the the project stylesheet.

Note If you use this setting, there will be no CSS styles generated for the scripts and the HTML will be malformed, make sure you provide your own CSS styles, for example, by specifying your own stylesheet, read HTML Settings.
Character encoding (for Ajax/iconv)

Specify the encoding for iconv

Some features require conversion between your encoding and utf-8. If you use non English languages, you may need to set character encoding for these features. By default PHP Report Maker will setup the encoding automatically based on your project's Charset setting. If that is incorrect, you can specify yours. Make sure either iconv functions or multibyte string functions are enabled and your encoding is supported. See PHP manual for details.

MySQL charset (for SET NAMES)

Specify the charset for MySQL SET NAMES statement.

If actually charset encoding of your data is different from the charset of your project, you may need to specify this setting for MySQL to convert between them. Read http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html before using this setting.

Use DOM XML for Language object

Use PHP 5 DOM XML to load language file instead of using PHP XML parser.

By default the scripts use PHP XML parser to load the language file for faster loading. If your PHP setup does not have PHP XML parser installed or you want to manipulate the loaded XML document by DOM XML, enable this setting.

Use JavaScript popup message

Use JavaScript popup message to display messages of the application.

By default the messages are displayed above the main table. This options uses JavaScript to show the message as a popup message on page load.

Disable button on submit

Disable submit buttons when submitting the form.

Enable this setting if you need to prevent user submitting the form more than once (by clicking the submit button) when the browser is submitting the form.

Allow login by URL

Allow passing username and password to the login page as URL parameters.

By default the login page accepts HTTP POST only. If this setting is enabled, it accepts HTTP GET also, then user can login by URL , e.g.

login.php?username=xxx&password=yyy (where "yyy" is a plain text password)

For example, this allows user login by using PHP cURL from your own scripts.

For security, you should pass an encrypted password whenever possible. In fact, usually you can retrieve an encrypted password (e.g. a md5 hashed password) from other web application only, if it is same as the encrypted password for your project (e.g. Hashed password is enabled in the project, or the project uses the same user table), then you can pass an additional URL parameter encrypted=1 to let the scripts know how to compare the passwords, e.g.

login.php?username=xxx&password=xyz&encrypted=1 (where "xyz" is an encrypted password)

Allow login by session variables

Allow passing username and password to the login page via session variables.

By default the login page accepts HTTP POST only. If this setting is enabled, it accepts session varaibles also, then user can auto-login by setting some session varaibles , e.g.

$_SESSION[EWR_PROJECT_NAME . "_Username"] = "xxx"; // where EW_PROJECT_NAME is the constant of your project name (see above) and "xxx" is user name
$_SESSION[EWR_PROJECT_NAME . "_Password"] = "yyy"; // where "yyy" is a plain text password

For security, you should pass an encrypted password whenever possible. In fact, usually you can retrieve an encrypted password (e.g. a hashed password) from other web application only, if it is same as the encrypted password for your project (e.g. Hashed password is enabled in the project, or the project uses the same user table), then you can pass an additional session variable to let the scripts know how to compare the passwords, e.g.

$_SESSION[EWR_PROJECT_NAME . "_Username"] = "xxx"; // where "xxx" is user name
$_SESSION[EWR_PROJECT_NAME . "_Password"] = "xyz"; // where "xyz" is an encrypted password

$_SESSION[EWR_PROJECT_NAME . "_Encrypted"] = TRUE;

Remove XSS

Specify if sensitive keywords allowing XSS attack should be removed.

If enabled, all user input string will be checked against an array of sensitive keywords. If discovered, those keywords will be broken by inserting "<x>" to prevent XSS attack. If this behavior is unwanted, you can disable this feature at your own risks. Re-generate and re-upload the rcfg*.php after changing this setting.

If you just want to allow some sensitive keywords, you can customize the array $EWR_XSS_ARRAY in rpt-config.php of the template. (Read Customizing Template.)

Session timeout period (minutes)

Specifies the session time-out period if the user does not refresh or request a page.

PHP has its own settings for session timeout, you can configure them in php.ini, read http://php.net/manual/en/session.configuration.php, but sometimes you may want to control the session period yourself, then you can setup BOTH this setting and the Session keep alive interval (seconds) setting (see below) to a positive value.

Session keep alive interval (seconds)

Specifies the interval to send Ajax request to the server for keeping the session alive.

Notes

  1. For this setting to work, this setting MUST be SHORTER than the session.gc_maxlifetime and session.cookie_lifetime in php.ini, otherwise the session will be expired by PHP first. Do not set the interval too short, making requests to the server every 300-600 seconds (5-10 minutes) should be enough.
  2. To enable this feature, this setting must be set to a value larger than 0.
Session time out countdown period (seconds)

Specifies the countdown period before session ends.

When the session is about to end, a modal dialog will show up to remind user and let the user choose to continue the session. If the user does not respond after the countdown period, the session will expire.

Check token for form post Check synchronizer token for form post (e.g. Popup filters)
Show current filter Show current filter, for example, for debug
Initiate filter panel as collapsed Collapse the Extended Filter panel on page load. However, if the filter panel has values, it will be expanded automatically.
Language files Default language files (comma separated)
Allow no paging section

Allow no paging section in the reports.

If both paging section at top and that at bottom are disabled, users will not be able to go to the second or later pages. The scripts will use paging section at bottom by default to make sure paging is possible. If you want to allow no paging section (e.g. you always have all records in one page), enable this setting.

Auto hide paging section if single page

If only one page (i.e. number of records <= page size), hide the paging section automatically.

Use hierarchical User ID

For used with User ID Security. (see Security Settings.)

If enabled, a parent user can view records of child users and grandchild users and so on. If disabled, a parent user can only view records of child users.

Use ADOdb driver for MySQL Use ADOdb driver if MySQL database is used (by default a customized lite version ewmysql<n>.php is used)
Use Microsoft PHP Driver for SQL Server Use Microsoft PHP Driver for SQL Server instead of the Microsoft SQL Server Native Client.

Notes

  1. This new setting is EXPERIMENTAL ONLY, use at your own risk. For the time being only Microsoft SQL Server Native Client (for Windows only) is officially supported.
  2. Requires Microsoft PHP Driver for SQL Server, check system requirements and make sure you have installed the correct version for your PHP and OS.
  3. Check phpinfo, find sqlsrv and make sure the PHP driver is properly enabled.
  4. Requires SQL Server 2005 or newer.
Oracle charset By default the project character is also used for connecting to Oracle. If you need to use a different charset, specify it with this setting.
Oracle compare

For setting Oracle's NLS_COMP parameter. Requires Oracle 10gR2 (or later). Possible values are: BINARY, LINGUISTIC, ANSI.

For example, if you want to do case insensitive search you can select LINGUISTIC.

Oracle sort

For setting Oracle's NLS_SORT parameter. Requires Oracle 10gR2 (or later).

For example, if you want to do case insensitive search you can enter "BINARY_CI" (no double quotes).

Auto-Suggest maximum display entries Specify the number of options to be displayed during Auto-Suggest. Default is 10.
Use contains for Auto-Suggest Use "contains" instead of "starts with" for Auto-Suggest.
Lookup filter value separator For use with Dynamic Selection List. Specify the separator for multiple selected values. Default is ",".
Hide user table password field If enabled, passwords in the user table will be displayed as "********" in reports.
Encrypt file path Encrypt upload file path if enabled.
File HREF path Specify the HREF path of uploaded files. Default is empty, meaning that the path of the global or field specific file folder will be used. However, under some rare cases, the HREF path cannot be derived from the file folder, then you can specify it explicitly.
Thumbnail default width (px)

For use with extension for image resize. (see Third-party Tools.)

If a target resize width is <= 0, this default width will be used. If this setting is also 0, the width will be auto-adjusted to keep the aspect ratio.

Thumbnail default height (px)

For use with extension for image resize. (see Third-party Tools.)

If a target height width is <= 0, this default height will be used. If this setting is also 0, the height will be auto-adjusted to keep the aspect ratio.

Reduce image size only (image resize) Do not resize if image is smaller than the resize dimension.
Always keep aspect ratio (image resize) Keep aspect ratio during image resize.
Use Colorbox for images Specify if colorbox should be used to displayed full size image on clicking the thumbnail in the List/View page. Default is true.
Multiple file separator Specify the file name separator used to separate the file names (e.g. saved by multiple file upload feature of PHPMaker). By default, comma is used. If you allow file names with comma, you can enter another separator, e.g. "|".
Use Custom Template for viewing By default if custom template is enabled, it will be used by export only. If this option is enabled, custom template will also be used for the normal report.
Max email recipient To avoid abusing the export to email feature, the number of email addresses in the recipient field is limited to the specified value. Default is 3.
Max email sent count per session To avoid abusing the export to email feature, the number of emails can be sent by the user in each session is limited to the specified value. Default is 3.
Max email sent session period To avoid abusing the export to email feature, the number of email within a period of time is limited to the specified value. The unit is minutes. Default value is 20.
Note Write email log (see below) must be enabled for this to work.
Write email log Specify if the email sent should be logged.
Note The File folder (see PHP Settings) will be used to store the log file. Make sure you have specified the file folder and granted write permission.
Email log field size limit

Specify the general size for all fields (see below) to be logged.

If you don't need to log everything, you may want to log the first nth characters for each field only. Enter the maximum number of characters for all fields, including the "..." appended to the end.

Write email log to database By default the log is written to a daily log file in the specified File folder (see PHP Setup), if you want to log to a database table, enable this setting and the table name and field names below.
Email log table name Table name of the email log table.
Email log DateTime field name Datetime field for logging the date and time of email sent.
Email log IP field name String field for logging IP of the sender.
Email log Sender field name String field for logging email address of the sender.
Email log Recipient field name String field for logging email address of the recipients.
Email log Subject field name String field for logging subject of the emails.
Email log Message field name String field for logging the message of the emails.
Use ILIKE operator (PostgreSQL) Use ILIKE instead of LIKE for case-insensitive search (for PostgreSQL only).
Collation for LIKE operator (MySQL) Use the specified COLLATION for the LIKE operator (for MySQL only).
Collation for LIKE operator (Microsoft SQL Server) Use the specified COLLATION for the LIKE operator (for Microsoft SQL Server only).
Use password hash For used with Hashed password (previously MD5 password), see Security Settings. If this setting is enabled, PHP password_hash function will be used to create password hash. By default CRYPT_BLOWFISH algorithm will be used. If this setting is disabled, the old md5 function will be used.
Note Beware that if you enable this setting but the user table is still storing old MD5 passwords, users will NOT be able to login. Since MD5 passwords cannot be decrypted, you MUST reset the passwords for the users first or ask users to reset their passwords themselves.
Show blank series for chart Show blank series for chart
Show zero values in stacked chart Show zero values in stacked chart
Use trial version (3rd party) for Candlestick/Gantt charts From v11, Candlestick / Gantt charts are implemented by Google charts, NOT by the old FusionCharts Free (Flash) any more. If you want to use FusionCharts for Candlestick / Gantt charts, you can enable this option to use FusionCharts Trial for Candlestick / Gantt charts. Read FusionCharts and Gantt Chart for more details.
Use Google charts You can enable this option to include the Google Charts JavaScript library if you want to create Google Charts in custom files.
Use popup panel for drill down Use a popup panel (Bootstrap Popover) to show the detail report in the same page. If disabled, user will be redirected to the drill down report directly after clicking the drill down link.
Show drill down filters Show current drill down filters in the detail report.
Use responsive layout Use responsive layout for mobile devices automatically. Default is TRUE.
Note If disabled, there will be NO mobile features, everything will be for desktop only.
Form left column CSS class Specify the left column CSS class for all forms. Possible values are: col-sm-2, col-sm-3, or col-sm-4. Default is col-sm-3.
Chart column CSS class (Left or Right) Specify the column CSS class for charts with position either on the left or right only. Possible values are: col-sm-3, col-sm-4, or col-sm-6. Default is col-sm-6.
Chart column CSS class (Left and Right) Specify the column CSS class for charts with positions on both left and right. Possible values are: col-sm-3 or col-sm-4. Default is col-sm-4.
Use place holder for text box Add placeholder attribute to form elements automatically. Possible values are:
  • None - no placeholder
  • Caption - use field caption (see Field Setup) as placeholder attribute value (default)
Reset layout height

For AdminLTE. Specify whether to reset height of the body to auto if content is wider then screen. Default is true. Read AdminLTE's Layout Plugin for details.

Notes

  1. This setting is provided for your own customization only, use at your own risk.
  2. It is recommended that you stick to AdminLTE's original design without horizontal scrollbar. If the main table is too wide, there are many ways to make your List page more user friendly without forcing users to scroll horizontally to view a large number of fields, e.g.
    1. click the menu button to hide the left menu, or
    2. use Custom Template to rearrange the layout of the table, or
    3. use Scrolling Table extension (for registered users) to make the table scrollable, or
    4. use Horizontal Menu extension (for registered users) to make more room for content, or
    5. select less fields to make it more user friendly.
  3. PHP Report Maker template is based on default setting of AdminLTE, i.e. resetHeight = true and the "overflow-x" properties of body and div.wrapper set to "hidden" by AdminLTE. In other words, there is no horizontal scrollbar for the body by design. If you set this setting to false, the resetHeight option will be set to false and the "overflow-x" properties will also be reset to "auto" when the content is wider than the screen (not always) so that the horizontal scrollbar will show. However, this also means you break the default AdminLTE layout and you may need to add your own CSS and/or JavaScript to fulfil your requirements. Nevertheless, this is a good start point for your own customization.
  4. You can also attach your event handler for the "overflow" event (fired when the content is wider than screen) by client side global Client Script to do your customization, see an example in Server Events and Client Scripts.
  5. Do NOT set this setting to false if you use AdminLTE's Fixed or Boxed Layout.
  6. Though not recommended, you can even disable AdminLTE Layout plugin and handle the layout yourself. You can disable the plugin in Startup Script (page level or global, depends on your needs), e.g.
    $("body").data("lte.layout", {}); // Disable AdminLTE Layout plugin
    $("body, .wrapper").css("overflow-x", "auto"); // Override AdminLTE CSS
  7. AdminLTE is a third-party tool not written by the author of PHP Report Maker. NO TECHNICAL SUPPORT WILL BE PROVIDED.
Page title style Specify the page title style. Possible values are:
  • None - no page title
  • Caption - use table caption
  • Breadcrumbs - use Breadcrumbs (default)
  • Title - site title (with Breadcrumbs)
Use css-flip Use Twitter css-flip to convert the generated <project>.css, bootstrap.css and bootstrap-theme.css to RTL version (*-rtl.css) and add dir="rtl" attribute to the BODY tag.

Note

  1. PHP Report Maker and Bootstrap 3 do NOT support RTL. This setting is it is provided for users' convenience only.
  2. css-flip just flips the CSS, using it alone cannot make everything perfectly RTL automatically. You'll still to adjust some CSS (and JavaScript) yourself to make your website completely RTL. However, this will be a very good start point for your own customization.
  3. css-flip is not written by the author of PHP Report Maker. NO TECHNICAL SUPPORT WILL BE PROVIDED.
Authentication mode Authentication mode: Possible values are: Windows, LDAP. If not specified, no authentication.

Notes

  1. If "Windows" is selected, only the server variable "AUTH_USER" is checked, you can use the function ewr_CurrentWindowsUser() to check the current Windows user name and the function IsAuthenticated() to check if the user is an authenticated user.
  2. If "LDAP" is selected, the following three LDAP settings are required.
  3. If User ID and/or User Level Security (see Security Settings) is enabled, after Windows/LDAP authentication, the built-in User ID/Level Security (if enabled) still applies and user table is still required. See User_CustomValidate (see Server Events and Client Scripts) server event for more information on getting User ID/Level from the user table.
LDAP host name LDAP server host name
Note It may not be necessary to include ldap://, test with your LDAP server.
LDAP port number LDAP server port number, e.g. 389
LDAP options

PHP array of options, for use with ldap_set_option, e.g. [LDAP_OPT_XXX => "xxx"]. By default the following options are already set:

[LDAP_OPT_PROTOCOL_VERSION => 3, LDAP_OPT_REFERRALS => 0]

LDAP distinguished name LDAP distinguished name for login (if the distinguished name requires additional info other than the user name), e.g. uid={username},dc=example,dc=com.
Note The generated script will replace {username} by the user name inputted by user in the login page automatically during login.
Google client ID

Enable Google Sign-In. Requires both Google client ID and Google client secret. To create client id and secret, read Creating a Google API Console project and client ID.

Note When you configure your project at google.com, the Authorized Rdirect URI should be set as http://www.company.com/my_project/hybridauth/?hauth.done=Google, replace "http://www.company.com/my_project" by the real protocol, domain name and the path to your project.
Google client secret Enable Google Sign-In. Requires both Google client ID and Google client secret. To create client id and secret, read Creating a Google API Console project and client ID.
Facebook app ID Enable Facebook Login. Requires both Facebook app ID and Facebook app secret. To implement Facebook Login, you need a Facebook App ID before you start, which you can create and retrieve on the App Dashboard. Read Register and Configure an App.
Note When you configure your app at App Dashboard, the Redirect URI should be set as http://www.company.com/my_project/hybridauth/?hauth.done=Facebook, replace "www.company.com/my_project" by the real protocol, domain name and the path to your project.
Facebook app secret Enable Facebook Login. Requires both Facebook app id and Facebook app secret. To implement Facebook Login, you need a Facebook App ID before you start, which you can create and retrieve on the App Dashboard. Read Register and Configure an App.
Report History table name Report History table name
Report Name field name Report Name field name
Report Type field name Report Type field name
Report Filter Name field name Report Filter Name field name
Report User Name field name Report User Name field name
Report DateTime field name Report DateTime field name
Report URL field name Report URL field name
Report IP field name Report IP field name
Report Request Parameters field name Report Request Parameters field name
Note The above settings are defined in the settings.xml located at the "src" folder. If you are an advanced user who customize templates, you can also add your own settings to the "Project" section. Open the settings.xml with a text or XML editor, add a <setting> node under the "Project" section. Make sure you provide an unique id to the setting. Supported data type is "String", "Integer" and "Boolean". If not specified, default is "String". The setting value can be retrieved in the template during code generation (NOT during runtime of the generated script) using the PROJ.GetV(id) method. Also read Template Tags and Object Properties.

 

Locale Settings

If you want to edit locale settings, click [Tools] -> [Locale Settings] to select the locale file you want to edit.

Each locale file contains the following settings:

Decimal point character Decimal point character
Thousands separator Thousands separator
International currency symbol International currency symbol
Local currency symbol Local currency symbol (e.g. $)
Monetary decimal point character Monetary decimal point character
Monetary thousands separator Monetary thousands separator
Sign for positive values Sign for positive values
Sign for negative values Sign for negative values
International fractional digits International fractional digits
Local fractional digits Local fractional digits
Currency symbol precedes a positive value 1 if currency_symbol precedes a positive value, 0 if it succeeds one
A space separates currency symbol from a positive value 1 if a space separates currency_symbol from a positive value, 0 otherwise
Currency symbol precedes a negative value 1 if currency_symbol precedes a negative value, 0 if it succeeds one
A space separates currency symbol from a negative value 1 if a space separates currency_symbol from a negative value, 0 otherwise
Positive sign position 0 - Parentheses surround the quantity and currency_symbol
1 - The sign string precedes the quantity and currency_symbol
2 - The sign string succeeds the quantity and currency_symbol
3 - The sign string immediately precedes the currency_symbol
4 - The sign string immediately succeeds the currency_symbol
Negative sign position 0 - Parentheses surround the quantity and currency_symbol
1 - The sign string precedes the quantity and currency_symbol
2 - The sign string succeeds the quantity and currency_symbol
3 - The sign string immediately precedes the currency_symbol
4 - The sign string immediately succeeds the currency_symbol
Date separator Date separator separating year, month and day, default is "/"
Time separator Time separator separating hour. minutes and seconds, default is ":"
Date format Date format. Default is "Ymd". Possible values are:
  • Ymd
  • mdY
  • dmY
  • YmdHis
  • mdYHis
  • dmYHis
  • ymd
  • mdy
  • dmy
  • ymdHis
  • mdyHis
  • dmyHis

where:

  • Y - A full numeric representation of a year, 4 digits
  • y - A two digit representation of a year
  • m - Numeric representation of a month, with leading zeros, 01 through 12
  • d - Day of the month, 2 digits with leading zeros, 01 to 31
  • H - 24-hour format of an hour with leading zeros, 00 through 23
  • i - Minutes with leading zeros, 00 to 59
  • s - Seconds, with leading zeros, 00 through 59
Time zone

Time zone, see List of Supported Timezones. Default is unspecified.

If not specified, the default "GMT" will be used.

Note After editing locale files, remember to re-generate them and upload them to your site. By default the locales files are generated in the "phprptlocale" folder.

 

 

Copy Table Settings

If you use database built-in query/view to make an alternate version of a table, you need to set up the table and field settings again, this tool help you quickly copies table and field settings from the source table to the view. Click [Tools] -> [Copy Table Settings] to open the following form:

 

Select the [Source table] and the [Target table] (e.g. the query/view), click OK to copy the table settings. If a field in the target table has the same name as that in the source table, field settings will also be copied.

Note This feature copies setting without validation. If settings from the source table/field are not applicable to the target table/field, errors may result. Check the settings after copying.

 

Copy Field Settings

When you create a Custom View, PHP Report Maker allows you to copy field settings from the source table. However, when database built-in query/view is used, you need to set up the field settings again, this tool help you quickly copies field settings from the source table to the view. Click [Tools] -> [Copy Field Settings] to open the following form:

 

Select the [Source table] and the [Target table] (e.g. the query/view), the fields of the target table will be listed in the left column, you can then select the respective source fields (from the specified source table) in the right column and click OK to copy the field settings.

Note This feature copies setting without validation. If settings from the source table/field are not applicable to the target table/field, errors may result. Check the settings after copying.

 

Sort Tables Alphabetically

If you prefer to have the table list displayed in the user interface in alphabetical order, click [Tools] -> [Sort Tables Alphabetically] to do so.

Notes
  1. Re-arranging the table display order by drag-and-drop in the Table Setup page is still supported, so the display order will NOT be re-sorted automatically after synchronizing the project with your database even there are new tables added to the database. Use this tool to sort again if necessary.
  2. Only tables are sorted, the display order of the fields in the user interface or in the generated scripts will NOT be affected by this tool.
  3. The display order of the menu items in the generated scripts is still controlled by the Menu Editor, using this tool will NOT affect the menu items.

 

Create Report History Table

Create a table in the main database to store report history of generated reports by HTTP GET/POST (see Table Setup). If you use your own table or fields or you change the table or field names, you can update them in advanced settings (see above).

 

 

Create Email History Table

Create a table in the main database to store history of sent emails. If you use your own table or fields or you change the table or field names, you can update them in advanced settings (see above).

 

 

Delete Template Cache

PHP Report Maker will reuse the pre-processed template scripts to speed up code-generation. We refer to these pre-processed scripts as "template cache", sometimes these template cache may become corrupted resulting from, for example, generating with a corrupted template or badly customized template. In these cases you may want to delete bad template cache and let PHP Report Maker builds the template cache again. You can do so by either clicking [Tools] -> [Delete Template Cache] or by manually removing the folder for the template under your Documents folder, i.e. <Documents Folder>\PHP Report Maker\Templates\<TemplateName>.zip\. (Also see Customizing Template.)

 

 

Update Template (for registered version only)

When you start PHP Report Maker, it will try to check if there is an updated template on the official website and download the new template to replace the existing template on your machine. This feature is only enabled in registered version and your PC must be connected to the internet for this feature to work.

Notes

  1. Only the default template (i.e. phprpt<major><minor>.zip, e.g. phprpt100.zip) specified by the Template file setting (see Generate Settings) will be updated. Renamed default template and customized template will not be updated.
  2. If you have customized the default template but kept the file name unchanged, be warned that updating template will overwrite your template if the version number of template is lower than that of the new template. Version number of a template is stored in the zip archive comment.
  3. To disable this feature, uncheck the advanced setting Update template on start (see above).

 

Compatibility Properties

See Compatibility Properties Setup.

 

 

Menu Editor

PHP Report Maker allow you to modify the menu in the generated site, to open the menu editor, click [Tools] -> [Menu Editor] in the main menu or click the "Menu Editor" icon in the toolbar.

Use the following toolbar buttons to manage your menu items:

Add item

Add a new menu item

You can add new menu items and link them to your own URLs. Just click the button to add and then enter your URL. Note that the URL of the List pages of the tables are uneditable, they will be generated by PHP Report Maker automatically.

Add child item

Add a child menu item to the focused menu item

You can also easily drag-and-drop the icon of a menu item to another menu item to create child menu items.

Delete Delete the focused menu item
Edit item Edit the displayed text of the focused menu item. You can also click the text directly to edit.
Post Post the changes you make to the focused menu item.
Cancel Cancel the changes you make to the focused menu item.
Refresh Refresh the menu items
Move up one level Move the focused menu item up one level
Move down one level Move the focused menu item down one level
Move Up Move the menu item up
Move Down Move the menu item down
Expand all items Expanse all menu items so all menu items of each level are shown
Collapse all items Collapse all menu items so only menu items of the first level are shown
Import items from PHP Report Maker project Import menu items from PHP Report Maker project
Delete imported menu items Delete imported menu items
Multi-Language Show Multi-Language Property Editor for editing unicode menu text
Chart menu items Show/hide the menu items for charts

 

You can show/hide the menu items by checking/unchecking the checkboxes beside the menu item text. If a parent menu item is hidden, all the child items will also be hidden.

If your custom menu items requires login, uncheck [Allow Anonymous User]. For other (non custom) menu items, this setting is same as the List permission for Anonymous User in Advanced Security. (See Security Settings.)

After modifying, make sure you click [OK] to save the changes.

By default, the menu is vertical.

Registered user can use the Horizontal Menu extension, click [Tools] -> [Extensions] to enable the extension, then click [Advanced] tab to set the menu options.

Group Title is supported. Group Titles are to be set up in the same way as a sub menu. You can check the title menu item in the Group Title column of the Menu Editor:

A Group Title will be displayed like:

 

Notes
  1. If the menu item has sub-items, adding URL to them is also not recommended and will not work properly. If you enable FollowLink for the vertical menu (see Menu_Rendering server event in Server Events and Client Scripts), the URL will work but then you cannot expand the menu item to show the sub-items.
  2. Group Titles are supposed to be titles only, adding URL to them is not recommended and will not work.
  3. Using Group Titles only at the root level for vertical menu is recommended.
  4. Since horizontal menu does not display menu groups like vertical menu, group title should not be enabled at the root level of the horizontal menu. If enabled, they will only be displayed as normal submenus. Since submenu is vertical, you can use group title for menu items in submenus. In general, using group titles for horizontal menu is not recommended.

Scripts and Stylesheets

Manage JavaScripts and stylesheets for your project. These scripts will be included in the header.php. The path(s) can be absolute URL, relative URL or absolute physical path. Absolute/Relative URL is recommended over physical path.

You can enter JavaScript and stylesheet paths in the JavaScripts(Global) and Stylesheets(Global) respectively. One line for each path. A JavaScript or stylesheet may depends on other, you can move them up or down to make sure the sequences are correct.

Notes

  1. Stylesheets are handled in the same way as JavaScript, just change "js" to "css".
  2. After changing, make sure you re-generate scripts and upload the scripts, JavaScripts and stylesheets to your site.
Absolute URL

Absolute URL(s), e.g.

https://host/path/xxx.js (absolute remote URL with protocol)
//host/path/xxx.js (absolute remote URL without protocol)
/path/xxx.js
(absolute local URL)
//host/path/xxx.js|//host2/path2/yyy.js
(more than one paths)

Relative URL

Relative URL(s) (relative to the destination folder), e.g.

bower_components/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.min.js

Absolute physical paths

Absolute physical paths, e.g.

D:\path\xxx.js

PHP Report Maker will bundle these physical scripts as one script (<project>_bundle.js) and output to the "phpjs" folder. This is the least recommended way of specifying the path.

 ©2007-2018 e.World Technology Ltd. All rights reserved.