aboutsummaryrefslogtreecommitdiff
path: root/actions/profile/fields/add.php
blob: fce7830928160466db2bdeb4fde274f397022798 (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
<?php
/**
 * Elgg profile plugin edit default profile action
 *
 */

$label = get_input('label');
$type = get_input('type');

$fieldlist = elgg_get_config('profile_custom_fields');
if (!$fieldlist) {
	$fieldlist = '';
	$id = 1;
} else {
	$fieldlistarray = explode(',', $fieldlist);
	foreach ($fieldlistarray as $key => $value) {
		$fieldlistarray[$key] = (int)$value;
	}
	$id = max($fieldlistarray) + 1;
}

if (($label) && ($type)) {
	if (!empty($fieldlist)) {
		$fieldlist .= ',';
	}
	$fieldlist .= "$id";

	if (elgg_save_config("admin_defined_profile_$id", $label) &&
		elgg_save_config("admin_defined_profile_type_$id", $type) &&
		elgg_save_config('profile_custom_fields', $fieldlist)) {

		system_message(elgg_echo('profile:editdefault:success'));
	} else {
		register_error(elgg_echo('profile:editdefault:fail'));
	}
} else {
	register_error(elgg_echo('profile:editdefault:fail'));
}

forward(REFERER);