From 7e434bda73195ad81d728c97823c14c09383438d Mon Sep 17 00:00:00 2001 From: cash Date: Wed, 29 Dec 2010 20:17:54 +0000 Subject: 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 --- actions/profile/fields/add.php | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'actions/profile/fields/add.php') 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')); -- cgit v1.2.3