aboutsummaryrefslogtreecommitdiff
path: root/actions/profile/fields/add.php
diff options
context:
space:
mode:
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-12-29 20:17:54 +0000
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-12-29 20:17:54 +0000
commit7e434bda73195ad81d728c97823c14c09383438d (patch)
treec9af7225b4f82b0abfd9403fee4b3f0e439caa6e /actions/profile/fields/add.php
parentce7eb8ee45b4222e9ea5e63ed6941f19239b969d (diff)
downloadelgg-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.php27
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'));