You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.3 KiB
87 lines
2.3 KiB
<?php
|
|
/* For licensing terms, see /license.txt */
|
|
/**
|
|
* This script generates a CSV file of all settings in the order they appear
|
|
* in the platform settings section, in the given language.
|
|
* This is meant to speed up the redaction of the admin guide.
|
|
* Note: to obtain the default values for all settings, you need to run
|
|
* this script on a freshly installed Chamilo setup with all options set
|
|
* by default in the installation process.
|
|
* @package chamilo.tests.scripts
|
|
*/
|
|
/**
|
|
* Init
|
|
*/
|
|
die('Remove the "die()" statement on line '.__LINE__.' to execute this script'.PHP_EOL);
|
|
/* Usage doc */
|
|
if ($argc <= 1) {
|
|
echo 'Usage: php settings2csv.php [language]'.PHP_EOL;
|
|
echo ' Where the language name is supported by Chamilo. e.g. french, spanish, ...'.PHP_EOL;
|
|
echo ' (defaults to "english").'.PHP_EOL;
|
|
echo ' The resulting filepath will appear on the output line'.PHP_EOL.PHP_EOL;
|
|
}
|
|
|
|
$language = 'english';
|
|
if (!empty($argv[1])) {
|
|
$language = $argv[1];
|
|
}
|
|
$_GET['language'] = $language;
|
|
@require_once __DIR__.'/../../public/main/inc/global.inc.php';
|
|
|
|
// Categories, in order of appearance in the Chamilo settings page
|
|
// Check the end of main/admin/settings.php for the initial list
|
|
$categories = [
|
|
'Platform',
|
|
'Course',
|
|
'Session',
|
|
'Languages',
|
|
'User',
|
|
'Tools',
|
|
'Editor',
|
|
'Security',
|
|
'Tuning',
|
|
'Gradebook',
|
|
'Timezones',
|
|
'Tracking',
|
|
'Search',
|
|
'Stylesheets',
|
|
'Templates',
|
|
'Plugins',
|
|
'LDAP',
|
|
'CAS',
|
|
'Shibboleth',
|
|
'Facebook',
|
|
'Crons',
|
|
'WebServices',
|
|
];
|
|
|
|
$fileName = 'settings'; // will be appended a ".csv" extension
|
|
$fileContent = [];
|
|
$fileContent[] = [
|
|
'Variable',
|
|
'Subkey',
|
|
'Comment',
|
|
'Current value'
|
|
];
|
|
|
|
foreach ($categories as $category) {
|
|
$fileContent[] = [
|
|
'***** '.get_lang('Category', null, $language).': '.$category.' ****',
|
|
'',
|
|
'',
|
|
''
|
|
];
|
|
$settings = api_get_settings($category, 'group');
|
|
foreach ($settings as $setting) {
|
|
$fileContent[] = [
|
|
get_lang($setting['title'], null, $language),
|
|
$setting['subkey'],
|
|
get_lang($setting['comment'], null, $language),
|
|
$setting['selected_value']
|
|
];
|
|
}
|
|
}
|
|
|
|
$filePath = Export::arrayToCsv($fileContent, $fileName, true);
|
|
|
|
echo "File generated and stored in $filePath".PHP_EOL;
|
|
|