<?php
+namespace Shaarli\Config;
/**
* Class ConfigPhp (ConfigIO implementation)
'credentials.login' => 'login',
'credentials.hash' => 'hash',
'credentials.salt' => 'salt',
- 'path.data_dir' => 'config.DATADIR',
- 'path.config' => 'config.CONFIG_FILE',
- 'path.datastore' => 'config.DATASTORE',
- 'path.updates' => 'config.UPDATES_FILE',
- 'path.log' => 'config.LOG_FILE',
- 'path.update_check' => 'config.UPDATECHECK_FILENAME',
- 'path.raintpl_tpl' => 'config.RAINTPL_TPL',
- 'path.raintpl_tmp' => 'config.RAINTPL_TMP',
- 'path.thumbnails_cache' => 'config.CACHEDIR',
- 'path.page_cache' => 'config.PAGECACHE',
- 'path.ban_file' => 'config.IPBANS_FILENAME',
+ 'resource.data_dir' => 'config.DATADIR',
+ 'resource.config' => 'config.CONFIG_FILE',
+ 'resource.datastore' => 'config.DATASTORE',
+ 'resource.updates' => 'config.UPDATES_FILE',
+ 'resource.log' => 'config.LOG_FILE',
+ 'resource.update_check' => 'config.UPDATECHECK_FILENAME',
+ 'resource.raintpl_tpl' => 'config.RAINTPL_TPL',
+ 'resource.theme' => 'config.theme',
+ 'resource.raintpl_tmp' => 'config.RAINTPL_TMP',
+ 'resource.thumbnails_cache' => 'config.CACHEDIR',
+ 'resource.page_cache' => 'config.PAGECACHE',
+ 'resource.ban_file' => 'config.IPBANS_FILENAME',
'security.session_protection_disabled' => 'disablesessionprotection',
'security.ban_after' => 'config.BAN_AFTER',
'security.ban_duration' => 'config.BAN_DURATION',
'general.title' => 'title',
'general.timezone' => 'timezone',
'general.header_link' => 'titleLink',
- 'general.check_updates' => 'config.ENABLE_UPDATECHECK',
- 'general.check_updates_branch' => 'config.UPDATECHECK_BRANCH',
- 'general.check_updates_interval' => 'config.UPDATECHECK_INTERVAL',
- 'general.default_private_links' => 'privateLinkByDefault',
- 'general.rss_permalinks' => 'config.ENABLE_RSS_PERMALINKS',
+ 'updates.check_updates' => 'config.ENABLE_UPDATECHECK',
+ 'updates.check_updates_branch' => 'config.UPDATECHECK_BRANCH',
+ 'updates.check_updates_interval' => 'config.UPDATECHECK_INTERVAL',
+ 'privacy.default_private_links' => 'privateLinkByDefault',
+ 'feed.rss_permalinks' => 'config.ENABLE_RSS_PERMALINKS',
'general.links_per_page' => 'config.LINKS_PER_PAGE',
- 'general.enable_thumbnails' => 'config.ENABLE_THUMBNAILS',
- 'general.enable_localcache' => 'config.ENABLE_LOCALCACHE',
+ 'thumbnail.enable_thumbnails' => 'config.ENABLE_THUMBNAILS',
+ 'thumbnail.enable_localcache' => 'config.ENABLE_LOCALCACHE',
'general.enabled_plugins' => 'config.ENABLED_PLUGINS',
- 'extras.redirector' => 'redirector',
- 'extras.redirector_encode_url' => 'config.REDIRECTOR_URLENCODE',
- 'extras.show_atom' => 'config.SHOW_ATOM',
- 'extras.hide_public_links' => 'config.HIDE_PUBLIC_LINKS',
- 'extras.hide_timestamps' => 'config.HIDE_TIMESTAMPS',
- 'extras.open_shaarli' => 'config.OPEN_SHAARLI',
+ 'redirector.url' => 'redirector',
+ 'redirector.encode_url' => 'config.REDIRECTOR_URLENCODE',
+ 'feed.show_atom' => 'config.SHOW_ATOM',
+ 'privacy.hide_public_links' => 'config.HIDE_PUBLIC_LINKS',
+ 'privacy.hide_timestamps' => 'config.HIDE_TIMESTAMPS',
+ 'security.open_shaarli' => 'config.OPEN_SHAARLI',
);
/**
* @inheritdoc
*/
- function read($filepath)
+ public function read($filepath)
{
if (! file_exists($filepath) || ! is_readable($filepath)) {
return array();
$out = array();
foreach (self::$ROOT_KEYS as $key) {
- $out[$key] = $GLOBALS[$key];
+ $out[$key] = isset($GLOBALS[$key]) ? $GLOBALS[$key] : '';
}
- $out['config'] = $GLOBALS['config'];
- $out['plugins'] = !empty($GLOBALS['plugins']) ? $GLOBALS['plugins'] : array();
+ $out['config'] = isset($GLOBALS['config']) ? $GLOBALS['config'] : [];
+ $out['plugins'] = isset($GLOBALS['plugins']) ? $GLOBALS['plugins'] : [];
return $out;
}
/**
* @inheritdoc
*/
- function write($filepath, $conf)
+ public function write($filepath, $conf)
{
$configStr = '<?php '. PHP_EOL;
foreach (self::$ROOT_KEYS as $key) {
$configStr .= '$GLOBALS[\'' . $key . '\'] = ' . var_export($conf[$key], true) . ';' . PHP_EOL;
}
}
-
+
// Store all $conf['config']
foreach ($conf['config'] as $key => $value) {
$configStr .= '$GLOBALS[\'config\'][\''. $key .'\'] = '.var_export($conf['config'][$key], true).';'. PHP_EOL;
if (!file_put_contents($filepath, $configStr)
|| strcmp(file_get_contents($filepath), $configStr) != 0
) {
- throw new IOException(
+ throw new \IOException(
$filepath,
- 'Shaarli could not create the config file.
- Please make sure Shaarli has the right to write in the folder is it installed in.'
+ t('Shaarli could not create the config file. '.
+ 'Please make sure Shaarli has the right to write in the folder is it installed in.')
);
}
}
/**
* @inheritdoc
*/
- function getExtension()
+ public function getExtension()
{
return '.php';
}