diff options
author | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-12-29 20:17:54 +0000 |
---|---|---|
committer | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-12-29 20:17:54 +0000 |
commit | 7e434bda73195ad81d728c97823c14c09383438d (patch) | |
tree | c9af7225b4f82b0abfd9403fee4b3f0e439caa6e /actions/profile/fields/add.php | |
parent | ce7eb8ee45b4222e9ea5e63ed6941f19239b969d (diff) | |
download | elgg-7e434bda73195ad81d728c97823c14c09383438d.tar.gz elgg-7e434bda73195ad81d728c97823c14c09383438d.tar.bz2 |
Fixes #2751 profile custom fields uses the config table now
git-svn-id: http://code.elgg.org/elgg/trunk@7754 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'actions/profile/fields/add.php')
-rw-r--r-- | actions/profile/fields/add.php | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/actions/profile/fields/add.php b/actions/profile/fields/add.php index 96e878402..15bd7024a 100644 --- a/actions/profile/fields/add.php +++ b/actions/profile/fields/add.php @@ -5,28 +5,31 @@ * @package ElggProfile */ -global $CONFIG; +$label = get_input('label'); +$type = get_input('type'); -$label = sanitise_string(get_input('label')); -$type = sanitise_string(get_input('type')); - -$fieldlist = get_plugin_setting('user_defined_fields', 'profile'); +$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)){ - // Assign a random name - $n = md5(time().rand(0,9999)); - if (!empty($fieldlist)) { $fieldlist .= ','; } - $fieldlist .= $n; + $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)) { - if ((set_plugin_setting("admin_defined_profile_$n", $label, 'profile')) && - (set_plugin_setting("admin_defined_profile_type_$n", $type, 'profile')) && - set_plugin_setting('user_defined_fields',$fieldlist,'profile')) { system_message(elgg_echo('profile:editdefault:success')); } else { register_error(elgg_echo('profile:editdefault:fail')); |