diff options
author | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-04-07 16:11:29 +0000 |
---|---|---|
committer | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-04-07 16:11:29 +0000 |
commit | 68f2c92868ddf477568c1dcbe6c58bc2f3375d33 (patch) | |
tree | 8ffa8b835182154aa3793f479d1834064c411ab9 /mod/profile/actions | |
parent | 002f788efcd57f43a7347c12273779a163d2920a (diff) | |
download | elgg-68f2c92868ddf477568c1dcbe6c58bc2f3375d33.tar.gz elgg-68f2c92868ddf477568c1dcbe6c58bc2f3375d33.tar.bz2 |
First go at merging in draggable profile fields.
Added categories to profile plugin.
git-svn-id: http://code.elgg.org/elgg/trunk@5652 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/profile/actions')
-rw-r--r-- | mod/profile/actions/deletedefaultprofileitem.php | 20 | ||||
-rw-r--r-- | mod/profile/actions/editdefault.php | 20 | ||||
-rw-r--r-- | mod/profile/actions/editfield.php | 21 | ||||
-rw-r--r-- | mod/profile/actions/reorder.php | 17 | ||||
-rw-r--r-- | mod/profile/actions/resetdefaultprofile.php | 12 |
5 files changed, 73 insertions, 17 deletions
diff --git a/mod/profile/actions/deletedefaultprofileitem.php b/mod/profile/actions/deletedefaultprofileitem.php index b5b2eba84..7d431020d 100644 --- a/mod/profile/actions/deletedefaultprofileitem.php +++ b/mod/profile/actions/deletedefaultprofileitem.php @@ -1,7 +1,7 @@ <?php /** * Elgg profile plugin edit default profile action removal - * + * * @package ElggProfile * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 * @author Curverider Ltd <info@elgg.com> @@ -12,11 +12,21 @@ global $CONFIG; admin_gatekeeper(); - + $id = (int)get_input('id'); - -if ( ($id) && (set_plugin_setting("admin_defined_profile_$id", '', 'profile')) && - (set_plugin_setting("admin_defined_profile_type_$id", '', 'profile'))) { + +$fieldlist = get_plugin_setting('user_defined_fields', 'profile'); +if (!$fieldlist) { + $fieldlist = ''; +} + +$fieldlist = str_replace("{$id},", "", $fieldlist); +$fieldlist = str_replace(",{$id}", "", $fieldlist); +$fieldlist = str_replace("{$id}", "", $fieldlist); + +if (($id) && (set_plugin_setting("admin_defined_profile_$id", '', 'profile')) && + (set_plugin_setting("admin_defined_profile_type_$id", '', 'profile')) && + set_plugin_setting('user_defined_fields',$fieldlist,'profile')) { system_message(elgg_echo('profile:editdefault:delete:success')); } else { register_error(elgg_echo('profile:editdefault:delete:fail')); diff --git a/mod/profile/actions/editdefault.php b/mod/profile/actions/editdefault.php index 7f5fe0004..70e3b5cd8 100644 --- a/mod/profile/actions/editdefault.php +++ b/mod/profile/actions/editdefault.php @@ -15,15 +15,23 @@ admin_gatekeeper(); $label = sanitise_string(get_input('label')); $type = sanitise_string(get_input('type')); +$fieldlist = get_plugin_setting('user_defined_fields', 'profile'); +if (!$fieldlist) { + $fieldlist = ''; +} + if (($label) && ($type)){ - // find next index for new field - $n = 0; - while (get_plugin_setting("admin_defined_profile_$n", 'profile')) { - $n++; + // Assign a random name + $n = md5(time().rand(0,9999)); + + if (!empty($fieldlist)) { + $fieldlist .= ','; } + $fieldlist .= $n; - if ( (set_plugin_setting("admin_defined_profile_$n", $label, 'profile')) && - (set_plugin_setting("admin_defined_profile_type_$n", $type, 'profile'))) { + 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')); diff --git a/mod/profile/actions/editfield.php b/mod/profile/actions/editfield.php new file mode 100644 index 000000000..c26dfa4d9 --- /dev/null +++ b/mod/profile/actions/editfield.php @@ -0,0 +1,21 @@ +<?php
+/**
+ * Elgg profile plugin edit default profile action
+ *
+ * @package ElggProfile
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd <info@elgg.com>
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.com/
+ */
+
+admin_gatekeeper();
+
+$field = get_input('field');
+$text = get_input('value');
+
+set_plugin_setting("admin_defined_profile_{$field}",$text,'profile');
+
+echo $text;
+
+exit;
\ No newline at end of file diff --git a/mod/profile/actions/reorder.php b/mod/profile/actions/reorder.php new file mode 100644 index 000000000..a189b0513 --- /dev/null +++ b/mod/profile/actions/reorder.php @@ -0,0 +1,17 @@ +<?php
+/**
+ * Elgg profile plugin reorder fields
+ *
+ * @package ElggProfile
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd <info@elgg.com>
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.com/
+ */
+
+admin_gatekeeper();
+$ordering = get_input('fieldorder');
+//if (!empty($ordering))
+$result = set_plugin_setting('user_defined_fields',$ordering,'profile');
+
+exit;
\ No newline at end of file diff --git a/mod/profile/actions/resetdefaultprofile.php b/mod/profile/actions/resetdefaultprofile.php index a6c90d4b7..4ee87dbf9 100644 --- a/mod/profile/actions/resetdefaultprofile.php +++ b/mod/profile/actions/resetdefaultprofile.php @@ -12,12 +12,12 @@ global $CONFIG; admin_gatekeeper(); -$n = 0; -while (get_plugin_setting("admin_defined_profile_$n", 'profile')) { - set_plugin_setting("admin_defined_profile_$n", '', 'profile'); - set_plugin_setting("admin_defined_profile_type_$n", '', 'profile'); - - $n++; +if ($fieldlist = get_plugin_setting('user_defined_fields', 'profile')) { + $fieldlistarray = explode(',', $fieldlist); + foreach($fieldlistarray as $listitem) { + set_plugin_setting("admin_defined_profile_{$listitem}", '', 'profile'); + set_plugin_setting("admin_defined_profile_type_{$listitem}", '', 'profile'); + } } set_plugin_setting('user_defined_fields', FALSE, 'profile'); |