aboutsummaryrefslogtreecommitdiff
path: root/actions/admin/site/update_basic.php
blob: f5582fb2ec6f3417ee6969fff76a7ded64cd6a18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php

	/**
	 * Elgg update site action
	 * 
	 * This is an update version of the sitesettings/install action which is used by the admin panel to modify basic settings.
	 * 
	 * @package Elgg
	 * @subpackage Core
	 * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
	 * @author Curverider Ltd
	 * @copyright Curverider Ltd 2008-2009
	 * @link http://elgg.org/
	 */

	global $CONFIG;
	
	// block non-admin users
	admin_gatekeeper();
	action_gatekeeper();
	
	if (get_input('settings') == 'go') {
		
		if (datalist_get('default_site')) {
			
			$site = get_entity(datalist_get('default_site'));
			if (!($site instanceof ElggSite)) 
				throw new InstallationException(elgg_echo('InvalidParameterException:NonElggSite'));
			
			$site->description = get_input('sitedescription');
			$site->name = get_input('sitename');
			$site->email = get_input('siteemail');
			$site->url = get_input('wwwroot');
			
			datalist_set('path',sanitise_filepath(get_input('path')));
			datalist_set('dataroot',sanitise_filepath(get_input('dataroot')));
			
			set_config('language', get_input('language'), $site->getGUID());
			
			set_config('default_access', get_input('default_access'), $site->getGUID());
			
			set_config('view', get_input('view'), $site->getGUID());
			
			$debug = get_input('debug');
			if ($debug)
				set_config('debug', 1, $site->getGUID());
			else
				unset_config('debug', $site->getGUID());
				
			$https_login = get_input('https_login'); 
			if ($https_login)
				set_config('https_login', 1, $site->getGUID());
			else
				unset_config('https_login', $site->getGUID());
				
			$usage = get_input('usage');
			if ($usage)
				unset_config('ping_home', $site->getGUID());
			else
				set_config('ping_home', 'disabled', $site->getGUID());
				
			$api = get_input('api');
			if ($api)
				unset_config('disable_api', $site->getGUID());
			else
				set_config('disable_api', 'disabled', $site->getGUID());
			
			// Now ping home
			//if ((!isset($usage)) || ($usage!='disabled'))
			//{
			//	ping_home($site);
			//}
				
			if ($site->save())
				system_message(elgg_echo("admin:configuration:success"));
			else
				register_error(elgg_echo("admin:configuration:fail"));
			
			//header("Location: {$CONFIG->wwwroot}admin/site/");
			forward($_SERVER['HTTP_REFERER']);
			exit;
			
		}
		
	}

?>