Annotated main.inc
Last Updated: 14 Feb 2020
The main.inc file is the primary configuration file for Squiz Matrix. This file can be located in the /data/private/conf directory of your Squiz Matrix system.
Many of the configuration settings available in the main.inc file can be altered on the Administration Interface by the system's Root User or a System Administrator; others must be manually edited in this file, such as database settings, due to their critical nature to the stability of the system.
Please note that many configuration settings within the main.inc file should not be changed from their default setting. Refer to all associated documentation and take extreme care when editing this file.
The table below lists the Squiz Matrix configuration settings that are available in the main.inc file. Click on a configuration setting for more information.
System Settings
SQ_CONF_SYSTEM_NAME / SQ_CONF_SYSTEM_OWNER
These configuration settings allow you to define the name and the owner of your Squiz Matrix system. This information is displayed in the HTML source code header of Sites within your system. It is also included at the bottom of emails sent from Squiz Matrix to content editors and system administrators.
define('SQ_CONF_SYSTEM_NAME', 'The System'); define('SQ_CONF_SYSTEM_OWNER', '');
These settings can also be configured via the System Name and System Owner fields on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_BACKEND_SUFFIX / SQ_CONF_LIMBO_SUFFIX
These configuration settings define the suffixes that are appended to a Squiz Matrix URL to access the editing interfaces.
The backend suffix is used to access the Administration Interface. By default, this is set to _admin. For more information, refer to the Administration Interface chapter in the Concepts manual.
The limbo suffix is used to access the Simple Edit Interface. By default, this is set to _edit. For more information, refer to the Simple Edit Interface chapter in the Concepts manual.
define('SQ_CONF_BACKEND_SUFFIX', '_admin'); define('SQ_CONF_LIMBO_SUFFIX', '_edit');
You can disable access to these interfaces by clearing the values in these configuration settings.
define('SQ_CONF_BACKEND_SUFFIX', ''); define('SQ_CONF_LIMBO_SUFFIX', '');
These settings can also be configured via the System Backend Suffix and System Simple Edit Suffix fields on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_LOGIN_SUFFIX
This configuration setting defines the suffix to be appended to a Squiz Matrix URL to access the system's log-in page. By default, this is set to _login. For more information, refer to the Squiz Matrix Concepts chapter in the Concepts manual.
define('SQ_CONF_LOGIN_SUFFIX', '_login');
This setting can also be configured via the System Login Suffix field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_NOCACHE_SUFFIX
This configuration setting defines the suffix that is appended to a Squiz Matrix URL to access the uncached version of the page. Using this suffix forces the system to serve the most recent version of the page to the site visitor.
define('SQ_CONF_NOCACHE_SUFFIX', '_nocache');
This setting can also be configured via the System Bypass Cache Suffix field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_RECACHE_SUFFIX
This configuration setting defines the suffix that is appended to a Squiz Matrix URL to refresh the Matrix cache with an up-to-date representation of the requested asset.
It is recommended that you change the value of this setting so as to hide its functionality from public users.
define('SQ_CONF_RECACHE_SUFFIX', '_recache');
This setting can also be configured via the System Clear Cache Suffix field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_PERFORMANCE_SUFFIX
This configuration setting defines the suffix to be appended to a Squiz Matrix URL to access Performance Mode for an asset. By default, this is set to _performance. For more information, refer to the Performance Mode chapter in the Concepts manual.
define('SQ_CONF_PERFORMANCE_SUFFIX', '_recache');
This setting can also be configured via the System Performance Mode Suffix field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
The SQ_CONF_PERFORMANCE_TIMING_SUFFIX / SQ_CONF_PERFORMANCE_RESULT_SUFFIX settings are used internally by Performance Mode. It is recommended that you do not alter the values of these configuration settings.
SQ_CONF_TIMEZONE
The configuration setting allows you to set the system timezone for the Squiz Matrix system, in the relevant PHP timezone format (http://au.php.net/timezones). By default, this is set to Australia/Sydney.
define('SQ_CONF_TIMEZONE', 'Australia/Sydney');
This setting can also be configured via the Timezone field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_DISABLE_ATTRIBUTION
The configuration setting allows you to remove the Squiz Matrix attribution from the design source of your sites.
<!--
Running Squiz Matrix
Developed by Squiz - http://www.squiz.net
Squiz, Squiz Matrix, MySource, MySource Matrix and Squiz.net are registered Trademarks of Squiz Pty Ltd
Page generated: 29 August 2013 09:59:40
-->
When this setting is enabled, the attribution will not be displayed. Please note that Design assets will need to be regenerated before this option takes effect.
define('SQ_CONF_DISABLE_ATTRIBUTION', '1');
This setting can also be configured via the Disable Attribution field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_ENFORCE_FRAME_SAMEORIGIN
If set to 1, Squiz Matrix will add the header "X-Frame-Options: SAMEORIGIN" to pages within Admin Mode and Edit Mode. This means that only pages hosted on the same domain as this Matrix system will be able to nest the Admin and Edit Mode interfaces using frames. Virtually all recent browsers support this header.
define('SQ_CONF_ENFORCE_FRAME_SAMEORIGIN', '1');
This value can also be configured via the Enforce Same Origin Frame Security For Backend? setting on the System Configuration screen.
SQ_CONF_ENFORCE_FRAME_SAMEORIGIN_FRONTEND
If set to 1, Matrix will add the header "X-Frame-Options: SAMEORIGIN" to frontend pages. This means that all frontend pages served by this Matrix system cannot be nested in a frame, unless the parent page is hosted on the same domain. Virtually all recent browsers support this header.
define('SQ_CONF_ENFORCE_FRAME_SAMEORIGIN_FRONTEND', '1');
Setting this value to 0 also means that any JS API calls made within the Squiz Matrix system will require a special CSRF Token value to be present within the HTML code that the JS API script will use when making web service calls.
This value can also be configured via the Enforce Same Origin Frame Security For Frontend? setting on the System Configuration screen.
SQ_CONF_ENABLE_CSRF_TOKEN_REQUEST
This configuration setting controls how the JS API receives its authentication token for making requests to Squiz Matrix. By default, this setting is set to 0 which means CSRF token requests are not possible, making the system more safe against CSRF attacks.
define('SQ_CONF_ENABLE_CSRF_TOKEN_REQUEST', '0');
Setting this value to 0 also means that any JS API calls made within the Squiz Matrix system will require a special CSRF Token value to be present within the HTML code that the JS API script will use when making web service calls.
For any systems that use the automatic upgrade script to upgrade to 5.2 or above, this setting will automatically get changed to 1 to prevent any existing implementations from breaking. Changing it to, or leaving it as, 1 means that potential CSRF token requests are enabled which is less secure, but the CSRF Token design area will not be required for the JS API to work. It is highly recommended that this is set to 0 however to make the system more secure.
System URL Settings
SQ_CONF_SYSTEM_ROOT_URLS
This configuration setting defines a list of URLs that can be used to access your system. All Site assets created within Squiz Matrix will require a URL based on the system URL defined in this setting.
When using multiple URLs on a system, each URL should be defined on a new line. The protocol (http:// or https://) should not be specified.
define('SQ_CONF_SYSTEM_ROOT_URLS', 'www.example.com'); OR define('SQ_CONF_SYSTEM_ROOT_URLS', 'www.example.com web01.example.com web02.example.com store.example.com secure.example.com');
This setting can also be configured via the System Root URLs field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_SYSTEM_PARENT_DOMAINS
This configuration setting defines a list of parent domains to use for setting session cookies.
Parent domains are useful if several system root URLs have a common parent domain, for example, syd.example.com and melb.example.com). If the current URL ends with one of the parent domains, the cookie will be set on the parent domain instead, with the result that the user's session will persist across the parent domain and all its subdomains.
When listing multiple parent domains, each domain should be defined on a new line. The protocol (http:// or https://) should not be specified.
define('SQ_CONF_SYSTEM_PARENT_DOMAINS', 'example.com'); OR define('SQ_CONF_SYSTEM_PARENT_DOMAINS', 'example.com squiz.com.au mydomain.com.au');
This setting can also be configured via the System Parent Domains field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_STATIC_ROOT_URL
These configuration settings can be used to offload static file serving to an alternative web server, reducing the load on the main web server used by Squiz Matrix.
By default, Squiz Matrix rewrites URLs for publicly accessible and live file-based assets to an Apache readable directory on the same server that Squiz Matrix is installed on. Configuring this option will tell Squiz Matrix to rewrite those URLs to an alternative location, which could be a different (and lightweight) piece of web server software on the same machine as the Squiz Matrix install, or a completely different machine. Leave this configuration setting empty to use the default Squiz Matrix behaviour.
The SQ_CONF_STATIC_ROOT_HTTP and SQ_CONF_STATIC_ROOT_HTTPS configuration settings define whether the static files can be served using the http:// or https:// protocols.
define('SQ_CONF_STATIC_ROOT_URL', ''); define('SQ_CONF_STATIC_ROOT_HTTP', true); define('SQ_CONF_STATIC_ROOT_HTTPS', false);
These setting can also be configured via the System Static URL, Static URL uses HTTP and Static URL uses HTTPS fields on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_WEB_PATH_SEPARATOR
This configuration setting defines the character used to replace spaces in the names of assets when automatically generating web paths. For example, an asset with the name Contact Us would have an automatically generated web path of content_us, where the space has been replaced by the web path separator (by default, a hyphen).
define('SQ_CONF_WEB_PATH_SEPARATOR', '-');
This setting can also be configured via the System Web Path Separator field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
Rollback Settings
SQ_CONF_ROLLBACK_ENABLED
This configuration setting defines whether rollback is enabled within the Squiz Matrix system.
define('SQ_CONF_ROLLBACK_ENABLED', '0');
This setting can also be configured via the Rollback Enabled field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
It is recommended that you do not independantly change this setting. To enable or disable rollback, follow the procedures outlined in the Rollback Management Script chapter in this manual.
Email Settings
SQ_CONF_DEFAULT_EMAIL
This configuration setting defines the email address that Squiz Matrix will send emails to if it has not been supplied with an email address. For example, a custom form that has been configured to send emails but not configured with an email address to send them to.
It is recommended that this be the email address of the owner of the Squiz Matrix installation.
define('SQ_CONF_DEFAULT_EMAIL', 'you@example.com');
This setting can also be configured via the Default Email field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_TECH_EMAIL
This configuration setting defines the email address that Squiz Matrix will send technical emails to, including error reports and System Configuration changes.
It is recommended that this be the email address of the user that is able to diagnose and fix any technical issues on the Squiz Matrix installation.
define('SQ_CONF_TECH_EMAIL', 'admin@example.com');
This setting can also be configured via the Tech Email field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
Login/Session Settings
SQ_CONF_FORCE_SECURE_LOGIN_URLS
This configuration setting accepts a list of system root URLs, as entered in the SQ_CONF_SYSTEM_ROOT_URLS setting. System Root URLs listed in this setting will attempt to display the login box using the HTTPS protocol, regardless of other protocol settings on the site.
Similarly to the SQ_CONF_SYSTEM_ROOT_URLS setting, this is stored as a newline-delimited ("\n") string.
define('SQ_CONF_FORCE_SECURE_LOGIN_URLS', '');
This setting can also be configured via the Root URLs Requiring Secure Login field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_MAX_LOGIN_ATTEMPTS
This configuration setting defines the number of times a user may incorrectly enter their password before their account is locked out.
define('SQ_CONF_MAX_LOGIN_ATTEMPTS', 3);
This setting can also be configured via the Max Login Attempts field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_ALLOW_IP_CHANGE
In some companies, proxy settings are configured to change the IP address of a user each time they view a Squiz Matrix page, which would effectively log these users out frequently using this setting's default.
Enabling this setting will permit Squiz Matrix to allow a user's IP address to change throughout their session.
define('SQ_CONF_ALLOW_IP_CHANGE', 1);
This setting can also be configured via the Allow IP Change field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_ACCEPT_HTTP_CREDS
If a user has previously entered their username and password in a standard HTTP authentication form, Squiz Matrix will be provided with the username and password they entered.
If this configuration setting is enabled, Squiz Matrix will attempt to log the user into the system using the username and password combination provided, without requiring the user to retype their username and password. The password stored within Squiz Matrix must match the password entered during the initial HTTP authentication.
define('SQ_CONF_ACCEPT_HTTP_CREDS', 1);
This setting can also be configured via the Process PHP Credentials field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_ENABLE_HTTP_LOGIN
If this configuration setting is enabled, Squiz Matrix will generate a HTTP Authentication dialogue box instead of painting the applied login design. This will allow external tools to log in to Squiz Matrix by appending USE_HTTP_LOGIN=1 to the URL.
define('SQ_CONF_ENABLE_HTTP_LOGIN', 0);
This setting can also be configured via the Enable HTTP Authentication field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_ALLOW_HTTP_LOGIN
This configuration setting controls whether Squiz Matrix should use a username sent from an external authentication mechanism (for example, an authentication system provided by a web server or a proxy) to automatically log in a user, without them having to enter their password directly into the Matrix system.This setting uses the server variable set in the SQ_CONF_HTTP_LOGIN_VAR configuration setting.
define('SQ_CONF_ALLOW_HTTP_LOGIN', 1);
This setting can also be configured via the Accept HTTP Authentication field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_HTTP_LOGIN_VAR
This configuration setting controls the PHP server variable used to authenticate external users if the SQ_CONF_ALLOW_HTTP_LOGIN setting is turned on.
Authentication may be bypassed if SQ_CONF_HTTP_LOGIN_VAR
is used with a HTTP header.
To securely implement this setting you must ensure that any HTTP header is fully managed through all routes to Matrix.
There are two common value types for this setting:
- REMOTE_USER: used by standard HTTP authentication systems, such as that used by Apache. This is the default setting.
- HTTP_*: some proxies may instead send a user name as an HTTP header. Generally speaking, to convert from an HTTP header name to a server variable name, the header name should be capitalised, hyphens should be changed to underscores, and HTTP_ added to the front. For example, if the user name is returned in a header X-User-Name, this setting should be set to HTTP_X_USER_NAME.
define('SQ_CONF_HTTP_LOGIN_VAR', 'REMOTE_USER');
This setting can also be configured via the HTTP Authentication Variable field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_ENABLE_EXTERNAL_AUTH_SYSTEMS
This configuration setting controls whether external authentication systems, such as LDAP bridges, are enabled when authenticating a user.
When this option is disabled, only the Default Authentication asset will be returned from the Authentication Systems folder (inside System Management). This allows a system administrator to temporarily disable external authentication in certain circumstances, for example, if an external system is compromised.
define('SQ_CONF_ENABLE_EXTERNAL_AUTH_SYSTEMS', false);
This setting can also be configured via the Enable External Authentication Systems field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_USE_DEFAULT_SESSION_SAVE_PATH
This configuration setting allows you to select whether or not to use the default PHP session file save path, as specified in the php.ini configuration file, or let Squiz Matrix set it to the cache folder of the system.
The former may be required when using shared storage, ie. with multiple Matrix servers, while the latter is required of site networks to operate.
This option should only be changed by advanced users. If you change this option, all users who are currently logged in will be immediately logged out of their session.
define('SSQ_CONF_USE_DEFAULT_SESSION_SAVE_PATH', false);
This setting can also be configured via the Use Default PHP Session File Save Path field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
Intervals
SQ_CONF_REFRESH_INTERVAL
This configuration setting defines how often (in seconds) the top frame refreshes in the Administration and Simple Edit Interfaces. The refreshing of this frame re-acquires locks that the user still needs.
The value of this setting should be lower than the value of SQ_CONF_LOCK_LENGTH to ensure locks do not expire while users are editing content.
define('SQ_CONF_REFRESH_INTERVAL', 120);
This setting can also be configured via the Refresh Interval field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_LOCK_LENGTH
This configuration setting defines how long a lock is held before it expires (in seconds). For example, if a user acquires the locks on a page and then decides they do not want to edit it any more, the lock will be released automatically after period of time defined in this setting.
define('SQ_CONF_LOCK_LENGTH', 600);
This setting can also be configured via the Lock Length field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_LOCK_INACTIVITY_EXPIRY
This configuration setting defines how long a lock is held before it expires (in seconds) due to inactivity on the current page. For example, if a user acquires the locks on a page and doesn't do any changes within this time, the lock will be released automatically after a period of time defined in this setting.
define('SQ_CONF_LOCK_INACTIVITY_EXPIRY', 1800);
This setting can also be configured via the Lock Inactivity Expiry field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
PHP Configuration
SQ_CONF_WEB_MEMORY_LIMIT / SQ_CONF_CRON_MEMORY_LIMIT
These configuration settings specify the maximum amount of memory that can be used by Squiz Matrix's Web and Cron systems (in megabytes). The default value for both these settings is 64 MB. On larger, more complex systems, you may need to increase this limit.
define('SQ_CONF_WEB_MEMORY_LIMIT', 64); define('SQ_CONF_CRON_MEMORY_LIMIT', 64);
These settings can also be configured via the Web Memory Limit and Cron Memory Limit fields on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
Error/Debug Settings
SQ_CONF_LOG_ERRORS
This configuration setting allows you to specify whether or not Squiz Matrix will log all errors generated on the Frontend and editing interfaces.
It is highly recommended that you do not alter the default value of this configuration setting.
define('SQ_CONF_LOG_ERRORS', true);
This setting can also be configured via the Log Errors field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_ERRORS_HIDE_FRONTEND
This configuration setting allows you to specify whether errors are hidden on the frontend for users of your site. The default value for this setting is false, meaning that errors will be displayed on the frontend. This may be undesirable on a production system and can be disabled by setting this option to true.
define('SQ_CONF_ERRORS_HIDE_FRONTEND', false);
This setting can also be configured via the Hide Errors on Frontend field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_ERRORS_LOG_TO_SYSLOG
This configuration setting allows you to specify whether or not to log system errors to the operating system log.
define('SQ_CONF_ERRORS_LOG_TO_SYSLOG', false);
This setting can also be configured via the Log Errors to Syslog? field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_ERRORS_SYSLOG_FACILITY
This configuration setting defines the facility used for logging errors to the operating system log. This will determine where in the system log the errors will be filed. The options available are User and Local 0 to 7. These facilities are user-defined and must be configured in the system's syslog.conf file.
The SQ_CONF_ERRORS_LOG_TO_SYSLOG setting must be enabled to set the syslog facility.
define('SQ_CONF_ERRORS_SYSLOG_FACILITY', 'user');
This setting can also be configured via the Syslog Facility field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_LOG_EXTENSION
This setting defines the file extension that all log files will receieve.
It is highly recommended that you do not alter the default value of this configuration setting.
define('SQ_CONF_LOG_EXTENSION', '.log');
SQ_CONF_LOG_FILE_SYSTEM / SQ_CONF_LOG_FILE_ERROR
Within Squiz Matrix, there are two main log files:
- The system log is an audit trail of all activity that occurs within the Squiz Matrix editing interfaces.
- The error log is a record of all errors that are generated on the frontend and editing interfaces.
These configuration settings define the names of these log files. The file extension should not be specified.
It is highly recommended that you do not alter the default values of these configuration settings.
define('SQ_CONF_LOG_FILE_SYSTEM', 'system'); define('SQ_CONF_LOG_FILE_ERROR', 'error');
Internationalisation Settings
SQ_CONF_DEFAULT_FRONTEND_LANGUAGE
This configuration setting allows you to select the frontend language that is sent in the headers of the pages in your Site to a user's web browser. This setting can be configured on individual assets, but if the value has not been set then this value is used instead.
define('SQ_CONF_DEFAULT_BACKEND_LOCALE', 'en');
This setting can also be configured via the Default Frontend Language field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_DEFAULT_BACKEND_LOCALE
This configuration setting determines the locale used by the translation system to determine the language to be used for string translations.
define('SQ_CONF_DEFAULT_BACKEND_LOCALE', 'en_AU');
This setting can also be configured via the Default Backend Locale field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_DEFAULT_CHARACTER_SET
This configuration setting allows you to select the character set that is sent in the headers of the pages in your Site to a user's web browser.
define('SQ_CONF_DEFAULT_CHARACTER_SET', 'utf-8');
Changing this value has not been supported since Matrix 5.0.0.0.
SQ_CONF_USE_LANG_CHAR_MAP
The configuration setting allows you to select whether or not to use character conversion for web paths based on the International Settings. If this setting is enabled, newly-created asset's web paths will be converted to characters of the selected language. Please note that not all languages are supported.
define('SQ_CONF_USE_LANG_CHAR_MAP', false);
This setting can also be configured via the Use Language Character Map field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
Editing Interface Settings
SQ_CONF_COMMIT_BUTTON_TEXT
This configuration setting defines the text displayed on the commit button in the Administration and Simple Edit
Interfaces.
define('SQ_CONF_COMMIT_BUTTON_TEXT', 'Commit');
This setting can also be configured via the Commit Button Text field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_CONFIRM_SAVE_CHANGES
This configuration setting defines whether a warning dialogue is displayed when navigating away from a page within the Administration Interface on which there are uncommitted changes. This setting is enabled by default.
define('SQ_CONF_CONFIRM_SAVE_CHANGES', 1);
This setting can also be configured via the Confirm Save Changes field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_EDITING_TIME
This configuration setting defines the amount of time that a user can be idle before they are logged out automatically by Squiz Matrix.
define('SQ_CONF_EDITING_TIME', 3600)
SQ_CONF_NO_ASSET_SELF_LINKS
This configuration setting prevents the content of an asset from containing a link to itself. By default, this setting is disabled.
define('SQ_CONF_NO_ASSET_SELF_LINKS', false)
Asset Map Settings
SQ_CONF_ASSET_MAP_ASSET_LIMIT
When an asset is expanded in the asset map, a set number of child assets are shown before the next button is displayed to view the next set of child assets. This configuration setting defines how many child assets are shown at the one time.
define('SQ_CONF_ASSET_MAP_ASSET_LIMIT', 50);
This setting can also be configured via the Asset Limit Per Set field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_ASSET_MAP_DISPLAY_NAME
This configuration setting controls the display name of assets within the asset map. By default, this will be the short name of an asset.
You can modify this setting to display other information for each asset, such as the asset ID and the number of children. The following keywords can be used in conjunction with other formatting:
- %asset_assetid%: the asset's ID
- %asset_name%: the full name of the asset
- %asset_short_name%: the short name of the asset
- %asset_type_code%: the full asset type name (eg. "Standard Page")
- %asset_status%: a text description of the asset's status (eg. "Safe Editing")
- %asset_num_kids%: the number of immediate child assets (bridges return "N/A" for this keyword)
define('SQ_CONF_ASSET_MAP_ASSET_DISPLAY_NAME', '%asset_name% (%asset_assetid%)');
This setting can also be configured via the Asset Display Name field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
HTTP Header Settings
SQ_CONF_SEND_CACHEABLE_HEADER
When this configuration setting is enabled, Squiz Matrix will send cacheable Cache-Control and Pragma headers for all public Live pages it serves to users who are not logged in. This allows the web browser to cache pages for faster browsing.
define('SQ_CONF_SEND_CACHEABLE_HEADER', 1);
This setting can also be configured via the Send Cacheable Header field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_SEND_LAST_MODIFIED_HEADER
When this configuration setting is enabled, Squiz Matrix will send a last-modified header for all publicly cached pages it serves to users who are not logged in.
define('SQ_CONF_SEND_LAST_MODIFIED_HEADER', 0);
This setting can also be configured via the Send Last-Modfiied Header field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_SEND_NOT_MODIFIED_HEADER
When this configuration setting is enabled, Squiz Matrix will send a 304 Not Modified code if requested to do so by a proxy. The 304 code will only be sent for publicly cached pages and for users who are not logged in.
define('SQ_CONF_SEND_NOT_MODIFIED_HEADER', 0);
This setting can also be configured via the Send Not Modified Status-Code field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_SEND_NO_CACHE_HEADER
When this configuration setting is enabled, Squiz Matrix will send a no-cache Cache-control header for File asset types. This option can be disabled to resolve inline file display issues involving PDF documents in Internet Explorer.
define('SQ_CONF_SEND_NO_CACHE_HEADER', 0);
This setting can also be configured via the Send No-Cache Header for File Assets field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_SEND_404_CACHEABLE_HEADER
When this configuration setting is enabled, pages returning a HTTP 404 not found response are cached by a caching proxy server. This option is separate from the SQ_CONF_SEND_CACHEABLE_HEADER setting. The expiry time of the cached response is determined by the cache expiry setting on the Details screen of the Cache Manager.
define('SQ_CONF_SEND_404_CACHEABLE_HEADER', 0);
This setting can also be configured via the Send 404 Cacheable Header field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_USE_HTTP_X_FORWARDED_FOR
This configuration setting allows you to specify whether or not to enable the X-Forwarded-For HTTP header. This header allows parent servers to discern client IPs when behind reverse proxies. This means that IP restrictions within Squiz Matrix can be used in conjunction with Squid and other reverse proxies, as specified in the SQ_CONF_FORWARDED_IP_PROXY_LIST setting.
define('SQ_CONF_USE_HTTP_X_FORWARDED_FOR', 1); define('SQ_CONF_FORWARDED_IP_PROXY_LIST', '172.16.254.1
172.16.254.2
172.16.254.3');
These settings can also be configured via the Use "X-Forwarded-For" Header field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_COOKIE_OPTION_HTTP_ONLY
This configuration setting allows you to specify whether or not to enable HTTPOnly cookies. An HTTPOnly cookie will only be used when transmitting HTTP or HTTPS requests. Additionally, a web browser will not allow client-side scripts (such as JavaScript) access to the cookie. This can help mitigate the effects of cross-site scripting attacks.
define('SQ_CONF_COOKIE_OPTION_HTTP_ONLY', false);
This setting can also be configured via the HTTP Only for Cookie field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_COOKIE_OPTION_SECURE
This configuration setting allows you to specify whether or not to transmit the secure cookie flag when a connection is made over HTTPS. Enabling this will cause browsers to not share the session cookie between HTTP and HTTPS.
define('SQ_CONF_COOKIE_OPTION_SECURE', false);
This setting can also be configured via the Enable 'Secure' Cookie Option field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
Roles Configuration Settings
SQ_CONF_ENABLE_ROLES_PERM_SYSTEM
This configuration setting allows you to enable Permission Roles in the system. By default, this setting is disabled. Leaving Roles disabled will increase the performance of the system.
define('SQ_CONF_ENABLE_ROLES_PERM_SYSTEM', false);
This setting can also be configured via the Enable Permission Roles System field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_ENABLE_ROLES_WF_SYSTEM
This configuration setting allows you to enable Workflow Roles in the system. By default, this setting is disabled. Leaving Roles disabled will increase the performance of the system.
define('SQ_CONF_ENABLE_ROLES_WF_SYSTEM', false);
This setting can also be configured via the Enable Workflow Roles System field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
SQ_CONF_ENABLE_GLOBAL_ROLES
This configuration setting allows you to enable Global Roles in the system. By default, this setting is disabled. Leaving Roles disabled will increase the performance of the system.
define('SQ_CONF_ENABLE_ROLES_WF_SYSTEM', false);
This setting can also be configured via the Enable Global Roles field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
Pear Configuration Settings
SQ_CONF_PEAR_PATH
Squiz Matrix overrides some PEAR packages to fix minor errors that have not been fixed in the official release of the package. These overridden packages are placed into the directory defined in this configuration setting.
It is highly recommended that you do not alter the default value of this configuration setting.
define('SQ_CONF_PEAR_PATH', SQ_SYSTEM_ROOT.'/php_includes');
Asset Tree Configuration Settings
SQ_CONF_ASSET_TREE_BASE / SQ_CONF_ASSET_TREE_SIZE
These configuration settings define the way the linking system encodes asset tree IDs in the database.It is highly recommended that you do not alter the default values of these configuration settings.
define('SQ_CONF_ASSET_TREE_BASE', 64); define('SQ_CONF_ASSET_TREE_SIZE', 4);
These settings should not be modified after Squiz Matrix has been installed. If they are changed, the Squiz Matrix link tree must be recreated.
Cache Configuration Settings
SQ_CONF_ASSET_CACHE_SIZE_WEB / SQ_CONF_ASSET_CACHE_SIZE_CLI
These configuration settings define the maximum number of assets that can be stored in the internal Squiz Matrix asset cache for web and CLI requests. A value of -1 indicates that there is no maximum.
It is highly recommended that you do not alter the default values of these configuration settings.
define('SQ_CONF_ASSET_CACHE_SIZE_WEB', -1); define('SQ_CONF_ASSET_CACHE_SIZE_CLI', -1);
Debug Configuration Settings
SQ_CONF_DEBUG
This configuration setting defines the amount of debugging information displayed within the system. Debug information is useful for diagnosing issues that may occur within your system.
This setting takes one of the following values:
- 0: No debug information will be displayed
- 1: All errors will display the file and line number where the error occurred.
- 2: All errors will display a backtrace of the script's execution.
- 3: All errors will display the file and line number of where the error occurred and a backtrace of the script's execution.
- 4: Additional information about memory and performance metrics of a page is displayed when the page loads.
- 5: All errors will display the file and line number of where the error occurred and additional information about memory and performance will be shown for pages.
- 6: All errors will display a backtrace of the script's execution and additional information about memory and performance will be shown for pages.
- 7: All errors will display the file and line number of where the error occurred and a backtrace of the script's execution and additional information about memory, and performance will be shown for pages.
define('SQ_CONF_DEBUG', 3);
Session Handler Settings
SQ_CONF_SESSION_HANDLER / SQ_CONF_CUSTOM_SESSION_SAVE_PATH
The SQ_CONF_SESSION_HANDLER configuration setting defines whether the default Squiz Matrix session handler is used (when blank) or if a Memcache session handler is used (when set to memcache).
The SQ_CONF_CUSTOM_SESSION_SAVE_PATH configuration setting allows you to specify an alternate path in which to save Squiz Matrix session files. By default, this setting will be blank, indicating the system's default 'cache' directory.
If a memcache session handler is specified in the SQ_CONF_SESSION_HANDLER setting, you will need to configure the system's memcache.inc file. For more information, refer to the Memcache Configuration chapter in this manual.
define('SQ_CONF_SESSION_HANDLER', ''); define('SQ_CONF_CUSTOM_SESSION_SAVE_PATH', '/path/to/caches');
SQ_CONF_SESSION_GC_MAXLIFETIME
This configuration setting defines the amount of time that a user's session file can be idle before it is deleted by PHP.
More information about the PHP session.gc_maxlifetime configuration option can be found on the PHP Session Configuration Manual.
If you are using the Memcache Session Handler, this setting cannot exceed 2592000 seconds.
It is highly recommended that you do not alter the default value of this configuration setting.
define('SQ_CONF_SESSION_GC_MAXLIFETIME', 604800);
SQ_CONF_LOCKING_METHOD
Squiz Matrix lock entries can be stored within Memcache, rather than the default SQ_LOCK database table (specified as default). Please note, however, that forcibly acquiring locks, the mass changing of lock ownership and notifications of active lock ownership are not available under Memcache asset locking, due to the limitations of Memcache.
Once you have configured the memcache.inc file, you can enable Memcache asset locking by setting this configuration option to memcache. For more information, refer to the Memcache Configuration chapter in this manual.
Define('SQ_CONF_LOCKING_METHOD', 'default');
Data Directory Settings
SQ_CONF_NUM_DATA_DIRS
The Squiz Matrix system data directory (data/private/assets) has a two-level structure; the upper level containing asset ID hash directories (to avoid the 32,000 sub-directory limit found in some file systems). The configuration setting regulates the number of hash directories used.
It is highly recommended that you do not alter the default values of these configuration settings except in very large systems (upwards of 640,000 of specific asset types).
Do not alter this setting after step_02.php is run during the initial system installation. Altering this setting after this step will corrupt the data directory.
define('SQ_CONF_NUM_DATA_DIRS', 20);
License Key Settings
SQ_LICENSE_INSTALL_KEY / SQ_LICENSE_WARRANTY_KEY
These configuration settings define the unique Squiz Matrix install and warranty license keys for your system.
The SQ_LICENSE_INSTALL_KEY is automatically generated during the installation process and should not be altered.
The SQ_LICENSE_WARRANTY_KEY setting can be used to input a warranty key, if you have obtained one for your system.
define('SQ_LICENSE_INSTALL_KEY', ''); define('SQ_LICENSE_WARRANTY_KEY', '');
These settings can also be configured via the Install Key and Warranty Key fields on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.
User Settings
SQ_CONF_FORCE_LOWERCASE_USERNAME
This configuration will force the usernames of Squiz Matrix users created in the backend and frontend to lowercase characters.
This setting is effective on the following user types:
- User
- Simple_Edit_User
- Backend_User
- System_User (System Administrator)
define('SQ_CONF_FORCE_LOWERCASE_USERNAME', false);
SQ_CONF_ROOT_USER_DISABLED
This feature works differently in versions between 4.16.2 - 5.4.1.2 and versions from 5.4.2.0 and above.
4.16.2 - 5.4.1.3
Enabling this configuration setting will disable the system's Root User account and give root access to System Administrators.
When the Root User account is disabled, the account asset will remain within the system, however, all of its functionality will be removed and the account will no longer be able to be logged into. In addition, all root privileges, including access to the System Configuration and System Management settings, will be given to System Administrator users.
define('SQ_CONF_ROOT_USER_DISABLED', '1');
If the Root User account has been disabled, disabling this configuration setting will reinstate the Root User account and remove the root privileges for System Administrators.
This setting will be automatically enabled if the Root User account exhausts its max number of incorrect login attempts, as defined in the SQ_CONF_MAX_LOGIN_ATTEMPTS configuration setting. If this occurs, a System Administrator will be required to disable this setting in order to reinstate the Root User account.
5.4.2.0 +
Enabling this configuration setting will disable the system's Root User account.
When the Root User account is disabled, the account asset will remain within the system, however, all of its functionality will be removed and the account will no longer be able to be logged into.
define('SQ_CONF_ROOT_USER_DISABLED', '1');
If the Root User account has been disabled, disabling this configuration setting will reinstate the Root User account.
Changing this setting will not have any effect on the access level for System Administrators.
SQ_CONF_FUNNELBACK_INDEXING_USER
This configuration is used to allow Funnelback to crawl a Matrix instance using one or multiple Matrix users.
define('SQ_CONF_FUNNELBACK_INDEXING_USER', '1111,2222,3333');
Specify one or multiple Matrix User IDs (comma-separated) to be allowed for Funnelback Indexing. Funnelback Crawler will have to login as one of those users to receive "X-Funnelback" headers for extra page metadata.