Configurator
Overview
The Configurator class, located in ./modules/Configurator/Configurator.php
, handles the config settings found in ./config.php
and ./config_override.php
.
Retrieving Settings
You can access the Sugar config settings by using the global variable $GLOBALS['sugar_config']
as shown below:
global $sugar_config;
//Use a specific setting
$MySetting = $sugar_config['MySetting'];
If you should need to reload the config settings, this is an example of how to retrieve a specific setting using the configurator:
require_once 'modules/Configurator/Configurator.php';
$configuratorObj = new Configurator();
//Load config
$configuratorObj->loadConfig();
//Use a specific setting
$MySetting = $configuratorObj->config['MySetting'];
Creating / Updating Settings
To create or update a specific setting, you can specify the new value using the configurator as shown below:
require_once 'modules/Configurator/Configurator.php';
$configuratorObj = new Configurator();
//Load config
$configuratorObj->loadConfig();
//Update a specific setting
$configuratorObj->config['MySetting'] = "MySettingsValue";
//Save the new setting
$configuratorObj->saveConfig();
Considerations
When looking to store custom settings, the Configurator class will store the settings in the ./config_override.php
file. This class should only be used for long-term configuration options as Configurator->saveConfig()
will trigger a metadata refresh that may log users out of the system.
Alternatively, you can use the Administration class, located in ./modules/Administration/Administration.php
, to store settings in the config
table in the database. This Administration
class should be used for storing dynamic settings such as a last run date or an expiring token.