1<?php 2/** 3 * Updates the basic settings for the primary site object. 4 * 5 * Basic site settings are saved as metadata on the site object, 6 * with the exception of the default language, which is saved in 7 * the config table. 8 */ 9 10$site = elgg_get_site_entity(); 11if (!$site) { 12 throw new InstallationException("The system is missing an ElggSite entity!"); 13} 14if (!($site instanceof ElggSite)) { 15 throw new InstallationException("Passing a non-ElggSite to an ElggSite constructor!"); 16} 17 18$site->description = get_input('sitedescription'); 19$site->name = strip_tags(get_input('sitename')); 20$site->email = get_input('siteemail'); 21 22if (!$site->save()) { 23 return elgg_error_response(elgg_echo('admin:configuration:fail')); 24} 25 26// allow new user registration? 27$allow_registration = ('on' === get_input('allow_registration', false)); 28elgg_save_config('allow_registration', $allow_registration); 29 30// require admin validation for new users? 31$require_admin_validation = ('on' === get_input('require_admin_validation', false)); 32elgg_save_config('require_admin_validation', $require_admin_validation); 33 34// notify admins about pending validation 35$admin_validation_notification = get_input('admin_validation_notification'); 36if (empty($admin_validation_notification)) { 37 elgg_remove_config('admin_validation_notification'); 38} else { 39 elgg_save_config('admin_validation_notification', $admin_validation_notification); 40} 41 42// setup walled garden 43$walled_garden = ('on' === get_input('walled_garden', false)); 44elgg_save_config('walled_garden', $walled_garden); 45 46elgg_save_config('language', get_input('language')); 47 48elgg_save_config('allowed_languages', implode(',', get_input('allowed_languages', []))); 49 50$default_limit = (int) get_input('default_limit'); 51if ($default_limit < 1) { 52 return elgg_error_response(elgg_echo('admin:configuration:default_limit')); 53} 54 55elgg_save_config('default_limit', $default_limit); 56 57elgg_save_config('comment_box_collapses', (bool) get_input('comment_box_collapses')); 58elgg_save_config('comments_latest_first', (bool) get_input('comments_latest_first')); 59 60elgg_save_config('can_change_username', 'on' === get_input('can_change_username')); 61 62if (!_elgg_config()->hasInitialValue('simplecache_enabled')) { 63 if ('on' === get_input('simplecache_enabled')) { 64 elgg_enable_simplecache(); 65 } else { 66 elgg_disable_simplecache(); 67 } 68} 69 70if ('on' === get_input('cache_symlink_enabled')) { 71 if (!_elgg_symlink_cache()) { 72 register_error(elgg_echo('installation:cache_symlink:error')); 73 } 74} 75 76elgg_save_config('simplecache_minify_js', 'on' === get_input('simplecache_minify_js')); 77elgg_save_config('simplecache_minify_css', 'on' === get_input('simplecache_minify_css')); 78 79if ('on' === get_input('system_cache_enabled')) { 80 elgg_enable_system_cache(); 81} else { 82 elgg_disable_system_cache(); 83} 84 85elgg_save_config('default_access', (int) get_input('default_access', ACCESS_PRIVATE)); 86 87$user_default_access = ('on' === get_input('allow_user_default_access')); 88elgg_save_config('allow_user_default_access', $user_default_access); 89 90if (!_elgg_config()->hasInitialValue('debug')) { 91 $debug = get_input('debug'); 92 if ($debug) { 93 elgg_save_config('debug', $debug); 94 } else { 95 elgg_remove_config('debug'); 96 } 97} 98 99$remove_branding = ('on' === get_input('remove_branding', false)); 100elgg_save_config('remove_branding', $remove_branding); 101 102$disable_rss = ('on' === get_input('disable_rss', false)); 103elgg_save_config('disable_rss', $disable_rss); 104 105$friendly_time_number_of_days = get_input('friendly_time_number_of_days', 30); 106if ($friendly_time_number_of_days === '') { 107 $friendly_time_number_of_days = 30; 108} 109elgg_save_config('friendly_time_number_of_days', (int) $friendly_time_number_of_days); 110 111return elgg_ok_response('', elgg_echo('admin:configuration:success')); 112