Elgg  Version master
settings.php
Go to the documentation of this file.
1 <?php
7 
8 $site_name = strip_tags(get_input('sitename', ''));
9 if (empty($site_name)) {
10  return elgg_error_response(elgg_echo('admin:configuration:fail'));
11 }
12 
13 $site->description = get_input('sitedescription');
14 $site->name = $site_name;
15 $site->email = get_input('siteemail');
16 
17 if (!$site->save()) {
18  return elgg_error_response(elgg_echo('admin:configuration:fail'));
19 }
20 
21 $allowed_languages = (array) get_input('allowed_languages', []);
22 $allowed_languages[] = 'en'; // always add English (as it's the ultimate fallback)
23 $allowed_languages[] = elgg_get_config('language'); // add default site language
24 $allowed_languages = implode(',', array_unique($allowed_languages));
25 
26 $default_limit = (int) get_input('default_limit');
27 if ($default_limit < 1) {
28  $default_limit = 10;
29 }
30 
31 $comments_max_depth = (int) get_input('comments_max_depth');
32 if (!in_array($comments_max_depth, [0,2,3,4])) {
34 }
35 
36 $trash_retention = (int) get_input('trash_retention', 30);
37 if ($trash_retention < 0) {
38  $trash_retention = 30;
39 }
40 
41 $friendly_time_number_of_days = (int) get_input('friendly_time_number_of_days', 30);
44 }
45 
46 elgg_save_config('admin_validation_notification', (bool) get_input('admin_validation_notification'));
47 elgg_save_config('allow_registration', (bool) get_input('allow_registration'));
48 elgg_save_config('allow_user_default_access', (bool) get_input('allow_user_default_access'));
49 elgg_save_config('allowed_languages', $allowed_languages);
50 elgg_save_config('can_change_username', (bool) get_input('can_change_username'));
51 elgg_save_config('comment_box_collapses', (bool) get_input('comment_box_collapses'));
52 elgg_save_config('comments_group_only', (bool) get_input('comments_group_only'));
53 elgg_save_config('comments_latest_first', (bool) get_input('comments_latest_first'));
54 elgg_save_config('comments_max_depth', $comments_max_depth);
55 elgg_save_config('comments_per_page', (int) get_input('comments_per_page'));
56 elgg_save_config('color_schemes_enabled', (bool) get_input('color_schemes_enabled'));
57 elgg_save_config('default_access', (int) get_input('default_access', ACCESS_PRIVATE));
58 elgg_save_config('default_limit', $default_limit);
59 elgg_save_config('disable_rss', (bool) get_input('disable_rss'));
60 elgg_save_config('email_html_part', (bool) get_input('email_html_part'));
61 elgg_save_config('email_html_part_images', get_input('email_html_part_images'));
62 elgg_save_config('enable_delayed_email', (bool) get_input('enable_delayed_email'));
63 elgg_save_config('friendly_time_number_of_days', $friendly_time_number_of_days);
64 elgg_save_config('language', get_input('language'));
65 elgg_save_config('mentions_display_format', get_input('mentions_display_format'));
66 elgg_save_config('message_delay', (int) get_input('message_delay', 6));
67 elgg_save_config('pagination_behaviour', get_input('pagination_behaviour', 'ajax-replace'));
68 elgg_save_config('remove_branding', (bool) get_input('remove_branding'));
69 elgg_save_config('require_admin_validation', (bool) get_input('require_admin_validation'));
70 elgg_save_config('simplecache_minify_css', (bool) get_input('simplecache_minify_css'));
71 elgg_save_config('simplecache_minify_js', (bool) get_input('simplecache_minify_js'));
72 elgg_save_config('system_cache_enabled', (bool) get_input('system_cache_enabled'));
73 elgg_save_config('trash_enabled', (bool) get_input('trash_enabled'));
74 elgg_save_config('trash_retention', $trash_retention);
75 elgg_save_config('user_joined_river', (bool) get_input('user_joined_river'));
76 elgg_save_config('walled_garden', (bool) get_input('walled_garden'));
77 elgg_save_config('who_can_change_language', get_input('who_can_change_language'));
78 
79 $remove_unvalidated_users_days = (int) get_input('remove_unvalidated_users_days');
81  elgg_remove_config('remove_unvalidated_users_days');
82 } else {
83  elgg_save_config('remove_unvalidated_users_days', $remove_unvalidated_users_days);
84 }
85 
86 if (!elgg()->config->hasInitialValue('simplecache_enabled')) {
87  if (get_input('simplecache_enabled')) {
88  _elgg_services()->simpleCache->enable();
89  } else {
90  _elgg_services()->simpleCache->disable();
91  }
92 }
93 
94 if (get_input('cache_symlink_enabled')) {
95  if (!_elgg_services()->simpleCache->createSymbolicLink()) {
96  elgg_register_error_message(elgg_echo('installation:cache_symlink:error'));
97  }
98 }
99 
100 if (!elgg()->config->hasInitialValue('debug')) {
101  $debug = get_input('debug');
102  if ($debug) {
103  elgg_save_config('debug', $debug);
104  } else {
105  elgg_remove_config('debug');
106  }
107 }
108 
110 
111 return elgg_ok_response('', elgg_echo('admin:configuration:success'));
$remove_unvalidated_users_days
Definition: settings.php:79
$default_limit
Definition: settings.php:26
if(! $site->save()) $allowed_languages
Definition: settings.php:21
$site_name
Definition: settings.php:8
if($default_limit< 1) $comments_max_depth
Definition: settings.php:31
$site
Updates the settings for the site.
Definition: settings.php:6
if($trash_retention< 0) $friendly_time_number_of_days
Definition: settings.php:41
if(!in_array($comments_max_depth, [0, 2, 3, 4])) $trash_retention
Definition: settings.php:36
elgg_invalidate_caches()
Invalidate all the registered caches.
Definition: cache.php:88
elgg_save_config(string $name, $value)
Save a configuration setting.
elgg_get_config(string $name, $default=null)
Get an Elgg configuration value.
elgg_remove_config(string $name)
Removes a config setting.
const ACCESS_PRIVATE
Definition: constants.php:10
elgg()
Bootstrapping and helper procedural code available for use in Elgg core and plugins.
Definition: elgglib.php:12
_elgg_services()
Get the global service provider.
Definition: elgglib.php:347
elgg_register_error_message(string|array $options)
Registers a error system message.
Definition: elgglib.php:72
get_input(string $variable, $default=null, bool $filter_result=true)
Parameter input functions.
Definition: input.php:20
elgg_echo(string $message_key, array $args=[], string $language='')
Elgg language module Functions to manage language and translations.
Definition: languages.php:17
elgg_get_site_entity()
Get the current site entity.
Definition: entities.php:99
elgg_ok_response($content='', string|array $message='', ?string $forward_url=null, int $status_code=ELGG_HTTP_OK)
Prepares a successful response to be returned by a page or an action handler.
elgg_error_response(string|array $message='', string $forward_url=REFERRER, int $status_code=ELGG_HTTP_BAD_REQUEST)
Prepare an error response to be returned by a page or an action handler.