Traditionally, Geeklog and its plugins were configured through configuration files (config.php), which are PHP scripts that define a global array holding all the plugin configuration settings:
$_CONF for Geeklog's core configuration,
$_SP_CONF for the configuration of the Static Pages plugin, and so on.
While these files are easy to maintain and use for developers, they often caused issues for users, typically
- Parse and syntax errors due to typos and users being unfamiliar with PHP syntax
- Having to download, edit, and upload the config files to make changes
As of Geeklog 1.5.0, there is now a common Configuration Class that provides both a GUI (graphical front end) for easy access and a database schema to store configuration settings in the database.
Usage in plugins
Plugins will still use their own global
$_xx_CONF array to have configuration settings accessible at all times. However, that array is now initialized from the database and not by reading it from a config.php file any longer:
$my_config = config::get_instance(); $_MY_CONF = $my_config->get_config('myplugin');
This will initialize a global array
$_MY_CONF holding the configuration options for a plugin called 'myplugin'.