$cfg

This page is still incomplete. Please help us to write a comprehensive CONTENIDO documentation.

Configuration files

CONTENIDO can be configured in great detail using configuration files. These system-wide configuration files could be found in ROOT/data/config/<ENV> where <ENV> is your configured environment.

FileDescription
config.php

Defines general configuration values.

This configuration file is generated by CONTENIDO during setup!

config.misc.phpThis file contains miscellaneous configuration values.
config.path.phpThis file contains configuration values for paths to important directories.
config.templates.phpThis file contains configuration values for template names.
config.local.php

This fil is optional and does not exist after a fresh setup.

Put your modifications into the file 'config.local.php' to prevent that your changes are overwritten during a system update.
cfg_sql.inc.phpThis file contains configuration values for database table names.

Accessing configuration values

Most configuration values are written into a (deeply nested) global configuration variable called $cfg. In order to access these configuration values either the global variable itself (which used to be the standard approach) or the new registry class could be used which is the preferred approach since CONTENIDO 4.9.

// access the whole configuration array
$cfg = cRegistry::getConfig();
// access a single configuration array or value even allowing for a default value
$cfg = cRegistry::getConfigValue($sectionName, $optionName, $defaultValue);

Global configuration

Global configuration values can be defined as key value pairs of the array $cfg.

$cfg[<name>] = <value>;
NameDefaultDescriptionLocationSince
AvailableCharsetsarray('iso-8859-1', 'iso-8859-2', 'iso-8859-3', 'iso-8859-4', 'iso-8859-5', 'iso-8859-6', 'iso-8859-7', 'iso-8859-8', 'iso-8859-8-i', 'iso-8859-9', 'iso-8859-10', 'iso-8859-11', 'iso-8859-12', 'iso-8859-13', 'iso-8859-14', 'iso-8859-15', 'iso-8859-16', 'windows-1250', 'windows-1251', 'windows-1252', 'windows-1253', 'windows-1254', 'windows-1255', 'windows-1256', 'windows-1257', 'windows-1258', 'koi8-r', 'big5', 'gb2312', 'utf-8', 'utf-7', 'x-user-defined', 'euc-jp', 'ks_c_5601-1987', 'tis-620', 'SHIFT_JIS')Array of charsets that will be available when editing a language for a client.config.misc.php 
helpfalseEnable the help system. This feature has to be overhauled.config.misc.php 
database_extension'mysqli'Database extension/driver to use, feasible values are 'mysqli' or 'mysql'.
Should be part of Database configuration!
config.php 
login_languagesDepends upon folders in $cfg['path']['contenido_locale'].Determined in startup.php. Array of locales of backend languages that are found in $cfg['path']['contenido_locale'].not configurable 
native_i18nfalse

Flag to use native i18n. Note: Enabling this could create unwanted side effects, because of native gettext() behavior.

config.misc.php 
php_error_reportingE_ALL & ~(E_STRICT | E_NOTICE)PHP error reporting setting.
Should be part of PHP configuration!
config.misc.php 
simulate_magic_quotesDepends upon your setting of magic_quotes_gpc().Determined in globals_off.inc.php. When magic_quotes_gpc() is disabled magic quotes have to be "simulated" by adding slashes on names, descriptions and code of layouts and templates.not configurable 
statistics_heap_tablefalseUse heap table to accelerate statitics (off by default)config.misc.php 
translatable_content_typesarray('CMS_TEASER', 'CMS_FILELIST')

Define here all content types which includes special module translations (dont forget the prefix 'CMS_'!).
Should be part of Content Type configuration!

config.misc.php 
urlpathresolvefalseIf true, use the field 'urlname' for resolving. 'name' otherwise.config.misc.php 
use_pseudocrontrueUse Pseudo-Cron?config.misc.php 
versionCON_VERSIONCurrent CONTENIDO Version.config.misc.php 

Backend configuration

Backend configuration values can be defined as key value pairs of the array $cfg['backend'].

$cfg['backend'][<name>] = <value>;
NameDefaultDescriptionLocationSince
timeout60Lifetime of backend authentication in minutes. If none is defined the default will be 15 minutes.config.misc.php 

Cache configuration

Cache configuration values can be defined as key value pairs of the array $cfg['cache'].

$cfg['cache'][<name>] = <value>;
NameDefaultDescriptionLocationSince
disabletrue

Enable/disable caching. This flag is for globally activating the caching feature in all frontends.

You can control the caching behaviour of each client by configuring it separately in its specific configuration file located in cms/includes/concache.php. So, if you want to enable frontend caching, set $cfg['cache']['disable'] to false and configure the rest in cms/includes/concache.php!

config.misc.php 

Client template configuration

Client template configuration values can be defined as key value pairs of the array $cfg['client_template'].

$cfg['client_template'][<name>] = <value>;
NameDefaultDescriptionLocationSince
allowed_extensions'html,tpl'

allowed extensions of template files in the client template folder only files with these extensions will be shown in "Style | Module templates"

config.misc.php 
default_extension'html'

default extensions of template files in the client template folder if no extension is defined for new files this default will be assumed

config.misc.php 

Code generator configuration

Code generator configuration values can be defined as key value pairs of the array $cfg['code_generator'].

$cfg['code_generator'][<name>] = <value>;
NameDefaultDescriptionLocationSince
name'Standard'Name of code generator to use (e. g. 'Standard' to use class cCodeGeneratorStandard).config.misc.php 

CONTENIDO configuration

CONTENIDO configuration values can be defined as key value pairs of the array $cfg['contenido'].

$cfg['contenido'][<name>] = <value>;
NameDefaultDescriptionLocationSince
errorpage''

Configure page if CONTENIDO is unable to run (e.g. no database connection). It is wise to create a maintenance HTML page for redirection, so you won't confuse your customers. Note: The URL should be absolute with http:// in front of it.

config.misc.php 
notifyinterval20Configure how often the notification email is sent, in minutesconfig.misc.php 
notifyonerror''Configure an email address to alert when CONTENIDO is unable to runconfig.misc.php 

Content type configuration

Content type configuration values can be defined as key value pairs of the array $cfg['content_types'].

$cfg['content_types'][<name>] = <value>;
NameDefaultDescriptionLocationSince
CMS_LINKEDIT...Content type CMS_LINKEDIT settings.config.misc.php 

Database configuration

Database configuration values can be defined as key value pairs of the array $cfg['db'].

$cfg['db'][<name>] = <value>;

Extended database settings. This settings will be used from CONTENIDO 4.9.0.

NameDefaultDescriptionLocationSince
connectionhost The host where your database runs onconfig.php4.9.0
connectiondatabase The database name which you useconfig.php4.9.0
connectionuser The username to access the databaseconfig.php4.9.0
connectionpassword The password to access the databaseconfig.php4.9.0
connectioncharset'utf8'The charset of connection to databaseconfig.php4.9.0
haltBehavior'report'Feasible values are 'yes', 'no' or 'report'config.php4.9.0
haltMsgPrefix(isset($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] . ' ' : ''Text to prepend to the halt message in cDbDriverHandler.config.php4.9.0
enableProfilingfalseFlag to enable profilingconfig.php4.9.0

DBFS configuration

DBFS (database file system) values can be defined as key value pairs of the array $cfg['dbfs'].

$cfg['dbfs'][<name>] = <value>;
NameDefaultDescriptionLocationSince
skip_content_disposition_header_for_mimetypesarray('application/x-shockwave-flash')

List of mimetypes where the output of the Content-Disposition header should be skipped.

config.misc.php 

Debug configuration

Debug configuration values can be defined as key value pairs of the array $cfg['debug'].

$cfg['debug'][<name>] = <value>;
NameDefaultDescriptionLocationSince
functiontimingfalseIf you want to measure function timing set this to trueconfig.misc.php 
renderingfalseIf you want to measure backend page rendering times, set this to trueconfig.misc.php 
codeoutputfalseTo output the code when editing and browsing the frontend, set this to trueconfig.misc.php 
disable_chainsfalseWhether the chain system should be disabled.config.misc.php4.9.0 Beta 1
disable_pluginsfalseWhether the plugin system should be disabled. If disabled, plugins are neither scanned nor included.config.misc.php4.9.0 Beta 1
log_deprecationstrueWhether deprecations should be logged. If disabled, there are no information on usage of outdated code.config.misc.php4.9.0 Beta 1
log_stacktracestrueWhether stacktraces should be logged. If disabled, the stacktrace is not logged with the corresponding error in log.config.misc.php 
backend_exectimefullstart Determined in main.php/ ajaxmain.php. Microtime when script is started.
Purpose of this data is profiling the backend and should not be part of configuration.
not configurable 
backend_exectimestart 

Determined in main.php/ ajaxmain.php. Microtime before backend page is included.
Purpose of this data is profiling the backend and should not be part of configuration.

not configurable 
backend_exectimeend Determined in main.php/ ajaxmain.php. Microtime when script is done.
Purpose of this data is profiling the backend and should not be part of configuration.
not configurable 

Default permission configuration

Default permission configuration values can be defined as key value pairs of the array $cfg['default_perms'].

$cfg['default_perms'][<name>] = <value>;
NameDefaultDescriptionLocationSince
directory0775octal value (with a leading zero!) for use in chmodconfig.misc.php 
file0664octal value (with a leading zero!) for use in chmodconfig.misc.php 

Image configuration

Image configuration values can be defined as key value pairs of the array $cfg['images'].

$cfg['images'][<name>] = <value>;

The name column may contain more than one name. Use these as subsequent keys.

NameDefaultDescriptionLocationSince
image_magickusetrue

Flag to use ImageMagick, if available. If disabled, the image functions will try to use PHP GD library.

config.misc.php 
image_magickpath''

Optional, path to ImageMagick binary directory, with ending slash e. g. C:/Program Files/ImageMagick/

use slashes - not backslashes!
You should set this on a windows os, otherwhise the system could execute the "convert.exe" from system32 folder. This executable does not belongs to ImageMagick.
config.misc.php 

Inuse configuration

Inuse configuration values can be defined as key value pairs of the array $cfg['inuse'].

$cfg['inuse'][<name>] = <value>;
NameDefaultDescriptionLocationSince
lifetime3600Livetime in secondsconfig.misc.php 

Language configuration

Language configuration values can be defined as key value pairs of the array $cfg['lang'].

$cfg['lang'][<name>] = <value>;
NameDefaultDescriptionLocationSince
en_USlang_en_US.xml   
de_DElang_de_DE.xml   

Password configuration

Password configuration values can be defined as key value pairs of the array $cfg['password'].

$cfg['password'][<name>] = <value>;
NameDefaultDescriptionLocationSince
check_password_masktrueEnable or disable checking passwordconfig.misc.php 
min_length6Minimum length of password (num characters). Default is 6.config.misc.php 
mixed_case_mandatory0

If set to a value greater than 0 so many lower and upper case character must appear in the password. (e.g.: if set to 2, 2 upper and 2 lower case characters must appear)

config.misc.php 
symbols_mandatory0

If 'symbols_mandatory' set to a value greater than 0, at least so many symbols has to appear in given password.

config.misc.php 
numbers_mandatory2

If set to a value greater than 0, at least $cfg['password']['numbers_mandatory'] numbers must be in password

config.misc.php 

Path configuration

Path configuration values can be defined as key value pairs of the array $cfg['path'].

$cfg['path'][<name>] = <value>;

Path configuration values are URLs and filesystem paths or fragments of it:

  • A URL path is a web addresse. E.g. http://192.168.1.1/test/
  • A filesystem path is the path to a file or folder on the server's hard disk. E.g.: /var/www/html/contenido on *nix or C:\htdocs\contenido on Windows systems. There is no need to use backslashes on windows systems. Slashes are just fine here!
Usually all paths end with a slash. The one exception is $cfg['path']['frontend']!
NameDefaultDescriptionLocationSince
all_wysiwyg$cfg['path']['contenido']  . 'external/wysiwyg/'Absolute filesystem path to available WYSIWYG-Editors.config.php 
all_wysiwyg_html$cfg['path']['contenido_fullhtml'] . 'external/wysiwyg/'URL path to available WYSIWYG-Editors.config.php 
cache'data/cache/'Path fragment of the cache folder relative to the "frontend" folder.config.path.php 
classes'classes/'Path fragment of the classes folder relative to ???.config.path.php 
contenido$cfg['path']['frontend'] . '/contenido/'Absolute filesystem path to the CONTENIDO backend folder.config.php 
contenido_cache$cfg['path']['frontend'] . '/' . $cfg['path']['cache']Absolute filesystem path to the system cache folder.config.path.php 
contenido_config    
contenido_cronlog$cfg['path']['frontend'] . '/' . $cfg['path']['cronlog']Absolute filesystem path to the system cronlog folder.config.path.php 
contenido_fullhtml'http://con49.local/contenido/'The web server path to the CONTENIDO backendconfig.php 
contenido_html'../contenido/' config.path.php 
contenido_locale$cfg['path']['frontend'] . '/' . $cfg['path']['locale']Absolute filesystem path to the system locale folder.config.path.php 
contenido_logs$cfg['path']['frontend'] . '/' . $cfg['path']['logs']Absolute filesystem path to the system logs folder.config.path.php 
contenido_maillog$cfg['path']['frontend'] .'/' . $cfg['path']['maillog']Absolute filesystem path to the system maillog folder.config.path.php 
contenido_temp$cfg['path']['frontend'] . '/' . $cfg['path']['temp']Absolute filesystem path to the system temp folder.config.path.php 
cronjobs'cronjobs/'Path fragment of the cronjobs folder relative to the "contenido" folder.config.path.php 
cronlog'data/cronlog/'Path fragment of the cronlog folder relative to the "frontend" folder.config.path.php 
data$cfg['path']['frontend'] . '/data/'Absolute filesystem path to the system data folder.config.php 
exceptions$cfg['path']['classes'] . 'exceptions/'Path fragment of the exceptions folder.config.path.php 
external'external/'Path fragment of the external folder relative to the "contenido" folder.config.path.php 
frontend'/var/www/<ROOT>'Absolute filesystem path to the folder where all frontends are located.config.php 
frontendtemplate'external/frontend/'Path fragment of the frontendtemplate folder relative to the "contenido" folder. This folder is used as skeleton for new clients.config.path.php 
images'images/' config.path.php 
includes'includes/' config.path.php 
interfaces$cfg['path']['classes'] . 'interfaces/' config.path.php 
layouts'layouts/' config.path.php 
locale'data/locale/'Path fragment of the locale folder relative to the "frontend" folder.config.path.php 
logs'data/logs/'Path fragment of the logs folder relative to the "frontend" folder.config.path.php 
maillog'data/maillog'Path fragment of the maillog folder relative to the "frontend" folder.config.path.php 
modules'modules/' config.path.php 
pear$cfg['path']['frontend'] . '/pear/'Absolute filesystem path to the system PEAR folder.config.php 
plugins'plugins/'Path fragment of the maillog folder relative to the "contenido" folder.config.path.php 
repository$cfg['path']['plugins'] . 'repository/' config.path.php 
scripts'scripts/' config.path.php 
styles'styles/' config.path.php 
temp'data/temp/'Path fragment of the temp folder relative to the "frontend" folder.config.path.php 
templates'templates/standard/'Path fragment of the standard templates folder relative to the "contenido" folder.config.path.php 
wysiwyg$cfg['path']['all_wysiwyg'] . 'tinymce3/'Absolute filesystem path to the active WYSIWYG-Editor.config.php 
wysiwyg_html$cfg['path']['all_wysiwyg_html'] . 'tinymce3/'URL path to the active WYSIWYG-Editor.config.php 
xml'xml/'Path fragment of the XML folder relative to the "contenido" folder.config.path.php 

PHP settings configuration

PHP settings configuration values can be defined as key value pairs of the array $cfg['php_settings'].

$cfg['php_settings'][<name>] = <value>;

Configuration of different PHP settings. It is possible to configure each available PHP setting, which can be set by ini_set() method. All defined settings will be applied in contenido/includes/startup.php

NameDefaultDescriptionLocationSince
display_errorsfalseDisplay PHP errorsconfig.misc.php 
log_errorstrueEnable logging of PHP errorsconfig.misc.php 
error_log$cfg['path']['contenido_logs'] . 'errorlog.txt'Path to log fileconfig.misc.php 
date.timezone''valid PHP timezone http://php.net/manual/en/timezones.phpconfig.misc.php 
default_charset'UTF-8'valid PHP default charsetconfig.misc.php 

Properties configuration

Properties configuration values can be defined as key value pairs of the array $cfg['properties'].

$cfg['properties'][<name>] = <value>;

Here you can configure the behavior of properties (user, group, system and general properties). Enabling caching for a specific properties will preload all related entries which enhances the performance during application lifecycle.

The name column may contain more than one name. Use these as subsequent keys.

NameDefaultDescriptionLocationSince
user_propenable_cachetrueEnable caching of user propertiesconfig.misc.php 
group_propenable_cachetrueEnable caching of group propertiesconfig.misc.php 
group_propmax_groups3

Max groups to cache. Is helpfull if a user is in several groups. It's recommended to have a lower number, e. g. 3

config.misc.php 
system_propenable_cachetrueEnable caching of system propertiesconfig.misc.php 
propertiesenable_cachetrueEnable caching of general properties (for current client)config.misc.php 
propertiesitemtypes...

Configuration of itemtypes and itemids which should be cached. Itemids are represented with wild-cards and will be replaced as follows:

  • %client% against current client id
  • %lang% against current language id
config.misc.php 

SQL configuration

SQL (or GenericDB) configuration values can be defined as key value pairs of the array $cfg['sql'].

$cfg['sql'][<name>] = <value>;

The name column may contain more than one name. Use these as subsequent keys.

NameDefaultDescriptionLocationSince
cachemax_items_to_cache10Number of GenericDB items per table to cacheconfig.misc.php 
cacheenabletrueEnable GenericDB item cacheconfig.misc.php 
gdb_driver'mysql'The GenericDB driver to use, at the moment only 'mysql' is supportedconfig.misc.php 
select_all_modetrueEnable mode to select all fields in GenericDB item collections.config.misc.php 
sqlprefix'con'The prefix for all CONTENIDO system tables, usually 'con'config.php 

System log configuration

System log configuration values can be defined as key value pairs of the array $cfg['system_log'].

$cfg['system_log'][<name>] = <value>;
NameDefaultDescriptionLocationSince
number_of_lines100Number of linesconfig.misc.php 
file_extensionsarray('txt', 'log')Searched file extensionsconfig.misc.php 

Table configuration

Table configuration values can be defined as key value pairs of the array $cfg['tab'].

$cfg['tab'][<name>] = <value>;
NameDefaultDescriptionLocation 
**Name of the database table including the prefix that was defined on setup.cfg_sql.inc.php 

Template configuration

Template configuration values can be defined as key value pairs of the array $cfg['templates'].

$cfg['templates'][<name>] = <value>;

The list of available templates is far to long to be listed here.

NameDefaultDescriptionLocation
* Template files for pages.config.templates.php
widgets  Template files for widgtes.config.templates.php

URL builder configuration

URL builder configuration values can be defined as key value pairs of the array $cfg['url_builder'].

$cfg['url_builder'][<name>] = <value>;

Example setting for UriBuilder 'front_content' (generates URLs like '/cms/front_content.php?idcat=2&lang=1'):

$cfg['url_builder']['name']   = 'front_content';
$cfg['url_builder']['config'] = array();

Example setting for UriBuilder 'custom_path' (generates URLs like '/cms/Was-ist-Contenido/rocknroll,a,2.4fb'):

$cfg['url_builder']['name']   = 'custom_path';
$cfg['url_builder']['config'] = array('prefix' => 'rocknroll', 'suffix' => '.4fb', 'separator' => ',');

See also http://forum.contenido.org/viewtopic.php?f=64&t=23280

NameDefaultDescriptionLocationSince
configarray()

Default UriBuilder configuration. An associative configuration array which will be passed to the UriBuilder instance. Values depend on used UriBuilder.

config.misc.php 
name'front_content'

Name of UriBuilder to use. Feasible values are 'front_content', 'custom', 'custom_path' or a user defined name. Check out cUriBuilderFactory::getUriBuilder() in contenido/classes/uri/class.uriBuilder.factory.php for more details about this setting.

config.misc.php 

Validator configuration

Validator builder configuration values can be defined as key value pairs of the array $cfg['validator'].

$cfg['validator'][<name>] = <value>;

The name column may contain more than one name. Use these as subsequent keys.

NameDefaultDescriptionLocationSince
emaildisallow_tldarray('.test', '.example', '.invalid', '.localhost')

Optional, list of top level domains to disallow. Validation of E-Mail addresses having configured top level domains will fail!

config.misc.php 
emaildisallow_hostarray('example.com', 'example.org', 'example.net')

Optional, list of hosts to disallow. Validation of E-Mail addresses having configured hosts will fail!

config.misc.php 
emailmx_checkfalseOptional, flag to check DNS records for MX type.config.misc.php