From 8fbbdf8785a9640e20bd4b4c59a02fbb3cac8337 Mon Sep 17 00:00:00 2001 From: ben Date: Mon, 28 Apr 2008 10:36:35 +0000 Subject: The profile now has fields set in start.php. TODO: make those user editable, once we have the admin panel ... git-svn-id: https://code.elgg.org/elgg/trunk@543 36083f99-b078-4883-b0ff-0f9b5a30f544 --- mod/profile/actions/edit.php | 22 ++++++++----- mod/profile/languages/en.php | 6 +++- mod/profile/start.php | 17 ++++++++++ mod/profile/views/default/profile/edit.php | 53 ++++++++++++------------------ mod/profile/views/default/user/user.php | 41 ++++++++--------------- 5 files changed, 71 insertions(+), 68 deletions(-) diff --git a/mod/profile/actions/edit.php b/mod/profile/actions/edit.php index 4bcecdb56..7ace0a22b 100644 --- a/mod/profile/actions/edit.php +++ b/mod/profile/actions/edit.php @@ -10,22 +10,28 @@ * @link http://elgg.com/ */ + // Load configuration + global $CONFIG; + // Get profile fields - $aboutme = get_input('aboutme'); - $location = string_to_tag_array(get_input('location')); - $skills = string_to_tag_array(get_input('skills')); - $interests = string_to_tag_array(get_input('interests')); + $input = array(); + foreach($CONFIG->profile as $shortname => $valuetype) { + $input[$shortname] = get_input($shortname); + if ($valuetype == 'tags') + $input[$shortname] = string_to_tag_array($input[$shortname]); + } // Save stuff if we can, and forward to the user's profile $user = $_SESSION['user']; if ($user->canEdit()) { // Save stuff - $user->description = $aboutme; + if (sizeof($input) > 0) + foreach($input as $shortname => $value) { + $user->$shortname = $value; + } $user->save(); - $user->location = $location; - $user->skills = $skills; - $user->interests = $interests; + system_message(elgg_echo("profile:saved")); // Forward to the user's profile diff --git a/mod/profile/languages/en.php b/mod/profile/languages/en.php index 8459c41af..79a3300cf 100644 --- a/mod/profile/languages/en.php +++ b/mod/profile/languages/en.php @@ -22,10 +22,14 @@ 'profile:edit' => "Edit profile", - 'profile:aboutme' => "About me", + 'profile:description' => "About me", 'profile:location' => "Location", 'profile:skills' => "Skills", 'profile:interests' => "Interests", + 'profile:contactemail' => "Contact email", + 'profile:phone' => "Telephone", + 'profile:mobile' => "Mobile phone", + 'profile:website' => "Website", /** * Status messages diff --git a/mod/profile/start.php b/mod/profile/start.php index baebf802f..03fe0eda1 100644 --- a/mod/profile/start.php +++ b/mod/profile/start.php @@ -34,6 +34,23 @@ )); } + // For now, we'll hard code the profile items as follows: + // TODO make this user configurable + $CONFIG->profile = array( + + // Language short codes must be of the form "profile:key" + // where key is the array key below + 'description' => 'longtext', + 'location' => 'tags', + 'interests' => 'tags', + 'skills' => 'tags', + 'contactemail' => 'email', + 'phone' => 'text', + 'mobile' => 'text', + 'website' => 'url', + + ); + // Register a page handler, so we can have nice URLs register_page_handler('profile','profile_page_handler'); diff --git a/mod/profile/views/default/profile/edit.php b/mod/profile/views/default/profile/edit.php index 0cd648bf6..685793bff 100644 --- a/mod/profile/views/default/profile/edit.php +++ b/mod/profile/views/default/profile/edit.php @@ -10,48 +10,37 @@ * @link http://elgg.com/ * * @uses $vars['entity'] The user entity + * @uses $vars['profile'] Profile items from $CONFIG->profile, defined in profile/start.php for now */ ?>
+ 0) + foreach($vars['profile'] as $shortname => $valtype) { + +?> +

-

-

- -

-

- -

-

-

+ + +

" />

diff --git a/mod/profile/views/default/user/user.php b/mod/profile/views/default/user/user.php index 2c64ac0df..d2411c3d9 100644 --- a/mod/profile/views/default/user/user.php +++ b/mod/profile/views/default/user/user.php @@ -28,46 +28,33 @@ 0) + foreach($vars['profile'] as $shortname => $valtype) { + if ($shortname != "description") { + $value = $vars['entity']->$shortname; + if (!empty($value)) { + ?> -

- : - $vars['entity']->location)); - - ?> -

: - $vars['entity']->skills)); - - ?> -

-

- : $vars['entity']->interests)); + echo elgg_view("output/{$valtype}",array('value' => $vars['entity']->$shortname)); ?> +

- canEdit()) { ?> -- cgit v1.2.3