From e583b52a4d5b6d4c217c2d06f8e38fa3f8fbf5c8 Mon Sep 17 00:00:00 2001 From: cash Date: Sat, 14 May 2011 19:16:52 +0000 Subject: removed a deprecated function use in users lib git-svn-id: http://code.elgg.org/elgg/trunk@9077 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/users.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'engine/lib/users.php') diff --git a/engine/lib/users.php b/engine/lib/users.php index dcec36ba5..c16ae1176 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -1074,7 +1074,7 @@ function collections_submenu_items() { */ function friends_page_handler($page_elements) { if (isset($page_elements[0]) && $user = get_user_by_username($page_elements[0])) { - set_page_owner($user->getGUID()); + elgg_set_page_owner_guid($user->getGUID()); } if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) { collections_submenu_items(); -- cgit v1.2.3 From ff1edc8a348780dcde12e656304309a2bd89755c Mon Sep 17 00:00:00 2001 From: cash Date: Sat, 14 May 2011 20:31:29 +0000 Subject: Fixes #3456 user/default now works much like the object/ views regarding the menu git-svn-id: http://code.elgg.org/elgg/trunk@9082 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/users.php | 37 +++++++++++++++++++++++++++++++++++++ views/default/user/default.php | 31 ++++++++++++++++--------------- 2 files changed, 53 insertions(+), 15 deletions(-) (limited to 'engine/lib/users.php') diff --git a/engine/lib/users.php b/engine/lib/users.php index c16ae1176..43b6980b2 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -1309,6 +1309,41 @@ function elgg_user_hover_menu($hook, $type, $return, $params) { return $return; } +function elgg_users_setup_entity_menu($hook, $type, $return, $params) { + if (elgg_in_context('widgets')) { + return $return; + } + + $entity = $params['entity']; + if (!elgg_instanceof($entity, 'user')) { + return $return; + } + + if ($entity->isBanned()) { + $banned = elgg_echo('banned'); + $options = array( + 'name' => 'banned', + 'text' => "$banned", + 'href' => false, + 'priority' => 0, + ); + $return = array(ElggMenuItem::factory($options)); + } else { + $return = array(); + if (isset($entity->location)) { + $options = array( + 'name' => 'location', + 'text' => "$entity->location", + 'href' => false, + 'priority' => 150, + ); + $return[] = ElggMenuItem::factory($options); + } + } + + return $return; +} + /** * This function loads a set of default fields into the profile, then triggers a hook letting other plugins to edit * add and delete fields. @@ -1529,6 +1564,8 @@ function users_init() { // Register the user type elgg_register_entity_type('user', ''); + elgg_register_plugin_hook_handler('register', 'menu:entity', 'elgg_users_setup_entity_menu', 501); + elgg_register_event_handler('create', 'user', 'user_create_hook_add_site_relationship'); } diff --git a/views/default/user/default.php b/views/default/user/default.php index 71eb273f0..501949306 100644 --- a/views/default/user/default.php +++ b/views/default/user/default.php @@ -6,25 +6,26 @@ * @uses $vars['size'] Size of the icon */ -$user = $vars['entity']; +$entity = $vars['entity']; $size = elgg_extract('size', $vars, 'tiny'); -$icon = elgg_view_entity_icon($user, $size); +$icon = elgg_view_entity_icon($entity, $size); // Simple XFN $rel = ''; -if (elgg_get_logged_in_user_guid() == $user->guid) { +if (elgg_get_logged_in_user_guid() == $entity->guid) { $rel = 'rel="me"'; -} elseif (check_entity_relationship(elgg_get_logged_in_user_guid(), 'friend', $user->guid)) { +} elseif (check_entity_relationship(elgg_get_logged_in_user_guid(), 'friend', $entity->guid)) { $rel = 'rel="friend"'; } -$title = "getUrl() . "\" $rel>" . $user->name . ""; +$title = "getUrl() . "\" $rel>" . $entity->name . ""; - -$metadata = "
  • $user->location
  • "; -$metadata .= elgg_view("entity/metadata", array('entity' => $user)); -$metadata .= "
"; +$metadata = elgg_view_menu('entity', array( + 'entity' => $entity, + 'sort_by' => 'priority', + 'class' => 'elgg-menu-hz', +)); if (elgg_in_context('owner_block') || elgg_in_context('widgets')) { $metadata = ''; @@ -33,20 +34,20 @@ if (elgg_in_context('owner_block') || elgg_in_context('widgets')) { if (elgg_get_context() == 'gallery') { echo $icon; } else { - if ($user->isBanned()) { + if ($entity->isBanned()) { $banned = elgg_echo('banned'); $params = array( - 'entity' => $user, + 'entity' => $entity, 'title' => $title, - 'metadata' => '', + 'metadata' => $metadata, ); } else { $params = array( - 'entity' => $user, + 'entity' => $entity, 'title' => $title, 'metadata' => $metadata, - 'subtitle' => $user->briefdescription, - 'content' => elgg_view('user/status', array('entity' => $user)), + 'subtitle' => $entity->briefdescription, + 'content' => elgg_view('user/status', array('entity' => $entity)), ); } -- cgit v1.2.3 From 3f293fe7b5deae93bc90e8f9f30a6b5ae221ea2e Mon Sep 17 00:00:00 2001 From: cash Date: Fri, 20 May 2011 02:51:33 +0000 Subject: Refs #3340 pulls dashboard out as plugin git-svn-id: http://code.elgg.org/elgg/trunk@9108 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/users.php | 13 -------- mod/dashboard/manifest.xml | 16 ++++++++++ mod/dashboard/start.php | 42 +++++++++++++++++++++++++ mod/dashboard/views/default/dashboard/blurb.php | 17 ++++++++++ pages/dashboard.php | 29 ----------------- views/default/core/dashboard/blurb.php | 17 ---------- views/default/css/elements/misc.php | 4 --- 7 files changed, 75 insertions(+), 63 deletions(-) create mode 100644 mod/dashboard/manifest.xml create mode 100644 mod/dashboard/start.php create mode 100644 mod/dashboard/views/default/dashboard/blurb.php delete mode 100644 pages/dashboard.php delete mode 100644 views/default/core/dashboard/blurb.php (limited to 'engine/lib/users.php') diff --git a/engine/lib/users.php b/engine/lib/users.php index 43b6980b2..a7765a5e5 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -1128,18 +1128,6 @@ function collections_page_handler($page_elements) { } } -/** - * Page handler for dashboard - * - * @param array $page_elements Page elements - * - * @return void - */ -function dashboard_page_handler($page_elements) { - require_once(dirname(dirname(dirname(__FILE__))) . "/pages/dashboard.php"); -} - - /** * Page handler for registration * @@ -1525,7 +1513,6 @@ function users_init() { elgg_register_page_handler('friends', 'friends_page_handler'); elgg_register_page_handler('friendsof', 'friends_of_page_handler'); - elgg_register_page_handler('dashboard', 'dashboard_page_handler'); elgg_register_page_handler('register', 'registration_page_handler'); elgg_register_page_handler('resetpassword', 'elgg_user_resetpassword_page_handler'); elgg_register_page_handler('login', 'elgg_user_login_page_handler'); diff --git a/mod/dashboard/manifest.xml b/mod/dashboard/manifest.xml new file mode 100644 index 000000000..b5e9cff2e --- /dev/null +++ b/mod/dashboard/manifest.xml @@ -0,0 +1,16 @@ + + + User Dashboard + Core developers + 1.8 + bundled + A widget-based dashboard for your users + http://www.elgg.org/ + See COPYRIGHT.txt + GNU Public License version 2 + + elgg_version + 2010030101 + + advanced + \ No newline at end of file diff --git a/mod/dashboard/start.php b/mod/dashboard/start.php new file mode 100644 index 000000000..4fa048b3d --- /dev/null +++ b/mod/dashboard/start.php @@ -0,0 +1,42 @@ + 'dashboard', + 'href' => 'dashboard', + 'text' => elgg_view_icon('home') . elgg_echo('dashboard'), + 'priority' => 450, + 'section' => 'alt', + )); +} + +function dashboard_page_handler() { + // Ensure that only logged-in users can see this page + gatekeeper(); + + // Set context and title + elgg_set_context('dashboard'); + elgg_set_page_owner_guid(elgg_get_logged_in_user_guid()); + $title = elgg_echo('dashboard'); + + // wrap intro message in a div + $intro_message = elgg_view('dashboard/blurb'); + + $params = array( + 'content' => $intro_message, + 'num_columns' => 3, + 'show_access' => false, + ); + $widgets = elgg_view_layout('widgets', $params); + + $body = elgg_view_layout('one_column', array('content' => $widgets)); + + echo elgg_view_page($title, $body); +} diff --git a/mod/dashboard/views/default/dashboard/blurb.php b/mod/dashboard/views/default/dashboard/blurb.php new file mode 100644 index 000000000..202be1dc5 --- /dev/null +++ b/mod/dashboard/views/default/dashboard/blurb.php @@ -0,0 +1,17 @@ + + +
+ 'dashboard-info', + 'class' => 'elgg-inner elgg-border-plain pam mhs mbl mtn', + 'value' => elgg_echo("dashboard:nowidgets"), + )); + +?> +
\ No newline at end of file diff --git a/pages/dashboard.php b/pages/dashboard.php deleted file mode 100644 index 31cc9087d..000000000 --- a/pages/dashboard.php +++ /dev/null @@ -1,29 +0,0 @@ - $intro_message, - 'num_columns' => 3, - 'show_access' => false, -); -$widgets = elgg_view_layout('widgets', $params); - -$body = elgg_view_layout('one_column', array('content' => $widgets)); - -echo elgg_view_page($title, $body); \ No newline at end of file diff --git a/views/default/core/dashboard/blurb.php b/views/default/core/dashboard/blurb.php deleted file mode 100644 index 0c4e3947a..000000000 --- a/views/default/core/dashboard/blurb.php +++ /dev/null @@ -1,17 +0,0 @@ - - -
- 'dashboard-info', - 'class' => 'elgg-inner pas mhs mbl', - 'value' => elgg_echo("dashboard:nowidgets"), - )); - -?> -
\ No newline at end of file diff --git a/views/default/css/elements/misc.php b/views/default/css/elements/misc.php index c8ba4f735..ebac2b91f 100644 --- a/views/default/css/elements/misc.php +++ b/views/default/css/elements/misc.php @@ -8,10 +8,6 @@ z-index: 100; } -#dashboard-info .elgg-inner { - border: 2px solid #dedede; -} - /* *************************************** AVATAR UPLOADING & CROPPING *************************************** */ -- cgit v1.2.3 From 6fbacea7340b0739c23be0a7d073782c64eee78d Mon Sep 17 00:00:00 2001 From: cash Date: Thu, 9 Jun 2011 22:15:56 +0000 Subject: Fixes #3489 added input/output views for tag and location git-svn-id: http://code.elgg.org/elgg/trunk@9163 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/users.php | 4 ++-- views/default/input/location.php | 21 +++++++++++++++++++++ views/default/input/tag.php | 17 +++++++++++++++++ views/default/output/location.php | 14 ++++++++++++++ views/default/output/tag.php | 30 ++++++++++++++++++++++++++++++ views/default/output/tags.php | 2 +- 6 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 views/default/input/location.php create mode 100644 views/default/input/tag.php create mode 100644 views/default/output/location.php create mode 100644 views/default/output/tag.php (limited to 'engine/lib/users.php') diff --git a/engine/lib/users.php b/engine/lib/users.php index a7765a5e5..832bcd529 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -1345,7 +1345,7 @@ function elgg_profile_fields_setup() { $profile_defaults = array ( 'description' => 'longtext', 'briefdescription' => 'text', - 'location' => 'tags', + 'location' => 'location', 'interests' => 'tags', 'skills' => 'tags', 'contactemail' => 'email', @@ -1379,7 +1379,7 @@ function elgg_profile_fields_setup() { // register any tag metadata names foreach ($CONFIG->profile_fields as $name => $type) { - if ($type == 'tags') { + if ($type == 'tags' || $type == 'location' || $type == 'tag') { elgg_register_tag_metadata_name($name); // register a tag name translation add_translation(get_current_language(), array("tag_names:$name" => elgg_echo("profile:$name"))); diff --git a/views/default/input/location.php b/views/default/input/location.php new file mode 100644 index 000000000..d7ae2bbbd --- /dev/null +++ b/views/default/input/location.php @@ -0,0 +1,21 @@ + 'elgg-input-location', + 'disabled' => FALSE, +); + +if (isset($vars['entity'])) { + $defaults['value'] = $vars['entity']->location; + unset($vars['entity']); +} + +$vars = array_merge($defaults, $vars); + +echo elgg_view('input/tag', $vars); diff --git a/views/default/input/tag.php b/views/default/input/tag.php new file mode 100644 index 000000000..a78ec3163 --- /dev/null +++ b/views/default/input/tag.php @@ -0,0 +1,17 @@ + 'elgg-input-tag', + 'disabled' => FALSE, +); + +$vars = array_merge($defaults, $vars); + +echo elgg_view('input/text', $vars); \ No newline at end of file diff --git a/views/default/output/location.php b/views/default/output/location.php new file mode 100644 index 000000000..e3619d2e1 --- /dev/null +++ b/views/default/output/location.php @@ -0,0 +1,14 @@ +location; + unset($vars['entity']); +} + +echo elgg_view('output/tag', $vars); diff --git a/views/default/output/tag.php b/views/default/output/tag.php new file mode 100644 index 000000000..abae9c4b2 --- /dev/null +++ b/views/default/output/tag.php @@ -0,0 +1,30 @@ + $url, 'text' => $vars['value'], 'rel' => 'tag')); +} diff --git a/views/default/output/tags.php b/views/default/output/tags.php index 57cb21ea7..6dedfacc7 100644 --- a/views/default/output/tags.php +++ b/views/default/output/tags.php @@ -10,7 +10,7 @@ */ if (isset($vars['entity'])) { - $defaults['value'] = $vars['entity']->tags; + $vars['tags'] = $vars['entity']->tags; unset($vars['entity']); } -- cgit v1.2.3 From 0e39eac3459d2ff698b51e87a469a2790e510a19 Mon Sep 17 00:00:00 2001 From: cash Date: Sat, 11 Jun 2011 15:56:11 +0000 Subject: Fixes #3515 created a unified page handler for account pages git-svn-id: http://code.elgg.org/elgg/trunk@9175 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/classes/ElggSite.php | 2 +- engine/lib/users.php | 60 ++++++++-------------- pages/account/forgotten_password.php | 2 - pages/account/reset_password.php | 35 +++++++++++++ views/default/core/account/login_walled_garden.php | 2 +- views/default/forms/login.php | 2 +- 6 files changed, 58 insertions(+), 45 deletions(-) create mode 100644 pages/account/reset_password.php (limited to 'engine/lib/users.php') diff --git a/engine/classes/ElggSite.php b/engine/classes/ElggSite.php index d3cb0d488..30b222c24 100644 --- a/engine/classes/ElggSite.php +++ b/engine/classes/ElggSite.php @@ -400,7 +400,7 @@ class ElggSite extends ElggEntity { 'action/login', 'register', 'action/register', - 'pages/account/forgotten_password\.php', + 'forgotpassword', 'action/user/requestnewpassword', 'resetpassword', 'upgrade\.php', diff --git a/engine/lib/users.php b/engine/lib/users.php index 832bcd529..8333888a2 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -747,40 +747,6 @@ function execute_new_password_request($user_guid, $conf_code) { return FALSE; } -/** - * Handles pages for password reset requests. - * - * @param array $page Pages array - * - * @return void - */ -function elgg_user_resetpassword_page_handler($page) { - - $user_guid = get_input('u'); - $code = get_input('c'); - - $user = get_entity($user_guid); - - // don't check code here to avoid automated attacks - if (!$user instanceof ElggUser) { - register_error(elgg_echo('user:passwordreset:unknown_user')); - forward(); - } - - $params = array( - 'guid' => $user_guid, - 'code' => $code, - ); - $form = elgg_view_form('user/passwordreset', array(), $params); - - $title = elgg_echo('resetpassword'); - $content = elgg_view_title(elgg_echo('resetpassword')) . $form; - - $body = elgg_view_layout('one_column', array('content' => $content)); - - echo elgg_view_page($title, $body); -} - /** * Simple function that will generate a random clear text password * suitable for feeding into generate_user_password(). @@ -1129,14 +1095,27 @@ function collections_page_handler($page_elements) { } /** - * Page handler for registration + * Page handler for account related pages * - * @param array $page_elements Page elements + * @param array $page_elements Page elements + * @param string $handler The handler string * * @return void */ -function registration_page_handler($page_elements) { - require_once(dirname(dirname(dirname(__FILE__))) . "/pages/account/register.php"); +function elgg_user_account_page_handler($page_elements, $handler) { + + $base_dir = elgg_get_root_path() . 'pages/account'; + switch ($handler) { + case 'forgotpassword': + require_once("$base_dir/forgotten_password.php"); + break; + case 'resetpassword': + require_once("$base_dir/reset_password.php"); + break; + case 'register': + require_once("$base_dir/register.php"); + break; + } } /** @@ -1513,8 +1492,9 @@ function users_init() { elgg_register_page_handler('friends', 'friends_page_handler'); elgg_register_page_handler('friendsof', 'friends_of_page_handler'); - elgg_register_page_handler('register', 'registration_page_handler'); - elgg_register_page_handler('resetpassword', 'elgg_user_resetpassword_page_handler'); + elgg_register_page_handler('register', 'elgg_user_account_page_handler'); + elgg_register_page_handler('forgotpassword', 'elgg_user_account_page_handler'); + elgg_register_page_handler('resetpassword', 'elgg_user_account_page_handler'); elgg_register_page_handler('login', 'elgg_user_login_page_handler'); elgg_register_page_handler('avatar', 'elgg_avatar_page_handler'); elgg_register_page_handler('profile', 'elgg_profile_page_handler'); diff --git a/pages/account/forgotten_password.php b/pages/account/forgotten_password.php index 93d786e22..7679eaa55 100644 --- a/pages/account/forgotten_password.php +++ b/pages/account/forgotten_password.php @@ -6,8 +6,6 @@ * @subpackage Registration */ -require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); - if (elgg_is_logged_in()) { forward(); } diff --git a/pages/account/reset_password.php b/pages/account/reset_password.php new file mode 100644 index 000000000..019ec3add --- /dev/null +++ b/pages/account/reset_password.php @@ -0,0 +1,35 @@ + $user_guid, + 'code' => $code, +); +$form = elgg_view_form('user/passwordreset', array(), $params); + +$title = elgg_echo('resetpassword'); +$content = elgg_view_title(elgg_echo('resetpassword')) . $form; + +$body = elgg_view_layout('one_column', array('content' => $content)); + +echo elgg_view_page($title, $body); diff --git a/views/default/core/account/login_walled_garden.php b/views/default/core/account/login_walled_garden.php index 9b5019096..1606b9592 100644 --- a/views/default/core/account/login_walled_garden.php +++ b/views/default/core/account/login_walled_garden.php @@ -6,7 +6,7 @@ */ $reg_url = elgg_normalize_url('register'); -$forgot_url = elgg_normalize_url('pages/account/forgotten_password.php'); +$forgot_url = elgg_normalize_url('forgotpassword'); $cancel_button = elgg_view('input/button', array( 'value' => elgg_echo('cancel'), 'class' => 'elgg-button-cancel mlm', diff --git a/views/default/forms/login.php b/views/default/forms/login.php index 452c4c425..5cfdcd4c6 100644 --- a/views/default/forms/login.php +++ b/views/default/forms/login.php @@ -39,7 +39,7 @@ echo '
  • ' . elgg_echo('register') . '
  • '; } ?> -
  • +
  • \ No newline at end of file -- cgit v1.2.3 From 4d11e2d761919130aa572203e303baa0d8fe00d8 Mon Sep 17 00:00:00 2001 From: cash Date: Sat, 11 Jun 2011 20:06:30 +0000 Subject: topbar icons were pushing the site title. Forced the elgg logo and avatar to behave. Adding overflow hidden to the topbar div would prevent future problems but cause issues for those adding drop down menus git-svn-id: http://code.elgg.org/elgg/trunk@9183 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/elgglib.php | 3 ++- engine/lib/users.php | 1 + views/default/css/elements/navigation.php | 13 ++++++++++++- 3 files changed, 15 insertions(+), 2 deletions(-) (limited to 'engine/lib/users.php') diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index 170750849..08f3d5e7c 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -2002,8 +2002,9 @@ function elgg_init() { elgg_register_menu_item('topbar', array( 'name' => 'elgg_logo', 'href' => 'http://www.elgg.org/', - 'text' => "\"Elgg", + 'text' => "\"Elgg", 'priority' => 1, + 'link_class' => 'elgg-topbar-logo', )); // Sets a blacklist of words in the current language. diff --git a/engine/lib/users.php b/engine/lib/users.php index 8333888a2..59bfa1259 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -1453,6 +1453,7 @@ function users_pagesetup() { 'href' => $user->getURL(), 'text' => "\"$user-name\" title=\"$title\" class=\"$class\" />", 'priority' => 100, + 'link_class' => 'elgg-topbar-avatar', )); elgg_register_menu_item('topbar', array( diff --git a/views/default/css/elements/navigation.php b/views/default/css/elements/navigation.php index e4709cb27..ff27acd4b 100644 --- a/views/default/css/elements/navigation.php +++ b/views/default/css/elements/navigation.php @@ -130,7 +130,7 @@ } .elgg-menu-topbar > li > a { - padding: 2px 15px; + padding: 2px 15px 0; color: #eee; margin-top: 1px; } @@ -144,6 +144,17 @@ float: right; } +.elgg-menu-topbar > li > a.elgg-topbar-logo { + margin-top: 0; + width: 38px; + height: 20px; +} + +.elgg-menu-topbar > li > a.elgg-topbar-avatar { + width: 18px; + height: 18px; +} + /* *************************************** SITE MENU *************************************** */ -- cgit v1.2.3