aboutsummaryrefslogtreecommitdiff
path: root/mod/profile/actions
diff options
context:
space:
mode:
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-04-07 16:11:29 +0000
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-04-07 16:11:29 +0000
commit68f2c92868ddf477568c1dcbe6c58bc2f3375d33 (patch)
tree8ffa8b835182154aa3793f479d1834064c411ab9 /mod/profile/actions
parent002f788efcd57f43a7347c12273779a163d2920a (diff)
downloadelgg-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.php20
-rw-r--r--mod/profile/actions/editdefault.php20
-rw-r--r--mod/profile/actions/editfield.php21
-rw-r--r--mod/profile/actions/reorder.php17
-rw-r--r--mod/profile/actions/resetdefaultprofile.php12
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');