aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/users.php
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib/users.php')
-rw-r--r--engine/lib/users.php40
1 files changed, 23 insertions, 17 deletions
diff --git a/engine/lib/users.php b/engine/lib/users.php
index 48f10f974..ce1b409f6 100644
--- a/engine/lib/users.php
+++ b/engine/lib/users.php
@@ -813,6 +813,7 @@ function validate_username($username) {
if (
preg_match($blacklist, $username)
) {
+ // @todo error message needs work
throw new RegistrationException(elgg_echo('registration:invalidchars'));
}
@@ -823,6 +824,7 @@ function validate_username($username) {
for ($n = 0; $n < strlen($blacklist2); $n++) {
if (strpos($username, $blacklist2[$n]) !== false) {
$msg = elgg_echo('registration:invalidchars', array($blacklist2[$n], $blacklist2));
+ $msg = htmlentities($msg, ENT_COMPAT, 'UTF-8');
throw new RegistrationException($msg);
}
}
@@ -1222,12 +1224,14 @@ function elgg_user_hover_menu($hook, $type, $return, $params) {
if ($user->isFriend()) {
$url = "action/friends/remove?friend={$user->guid}";
$text = elgg_echo('friend:remove');
+ $name = 'remove_friend';
} else {
$url = "action/friends/add?friend={$user->guid}";
$text = elgg_echo('friend:add');
+ $name = 'add_friend';
}
$url = elgg_add_action_tokens_to_url($url);
- $item = new ElggMenuItem('addfriend', $text, $url);
+ $item = new ElggMenuItem($name, $text, $url);
$item->setSection('action');
$return[] = $item;
} else {
@@ -1419,11 +1423,14 @@ function elgg_profile_page_handler($page) {
*/
function users_pagesetup() {
- if (elgg_get_page_owner_guid()) {
+ $owner = elgg_get_page_owner_entity();
+ $viewer = elgg_get_logged_in_user_entity();
+
+ if ($owner) {
$params = array(
'name' => 'friends',
'text' => elgg_echo('friends'),
- 'href' => 'friends/' . elgg_get_page_owner_entity()->username,
+ 'href' => 'friends/' . $owner->username,
'contexts' => array('friends')
);
elgg_register_menu_item('page', $params);
@@ -1431,43 +1438,43 @@ function users_pagesetup() {
$params = array(
'name' => 'friends:of',
'text' => elgg_echo('friends:of'),
- 'href' => 'friendsof/' . elgg_get_page_owner_entity()->username,
+ 'href' => 'friendsof/' . $owner->username,
'contexts' => array('friends')
);
elgg_register_menu_item('page', $params);
- }
-
- // topbar
- $user = elgg_get_logged_in_user_entity();
- if ($user) {
+
elgg_register_menu_item('page', array(
'name' => 'edit_avatar',
- 'href' => "avatar/edit/{$user->username}",
+ 'href' => "avatar/edit/{$owner->username}",
'text' => elgg_echo('avatar:edit'),
'contexts' => array('profile_edit'),
));
elgg_register_menu_item('page', array(
'name' => 'edit_profile',
- 'href' => "profile/{$user->username}/edit",
+ 'href' => "profile/{$owner->username}/edit",
'text' => elgg_echo('profile:edit'),
'contexts' => array('profile_edit'),
));
+ }
- $icon_url = $user->getIconURL('topbar');
+ // topbar
+ if ($viewer) {
+
+ $icon_url = $viewer->getIconURL('topbar');
$class = 'elgg-border-plain elgg-transition';
$title = elgg_echo('profile');
elgg_register_menu_item('topbar', array(
'name' => 'profile',
- 'href' => $user->getURL(),
- 'text' => "<img src=\"$icon_url\" alt=\"$user->name\" title=\"$title\" class=\"$class\" />",
+ 'href' => $viewer->getURL(),
+ 'text' => "<img src=\"$icon_url\" alt=\"$viewer->name\" title=\"$title\" class=\"$class\" />",
'priority' => 100,
'link_class' => 'elgg-topbar-avatar',
));
elgg_register_menu_item('topbar', array(
'name' => 'friends',
- 'href' => "friends/{$user->username}",
+ 'href' => "friends/{$viewer->username}",
'text' => elgg_view_icon('users'),
'title' => elgg_echo('friends'),
'priority' => 300,
@@ -1475,7 +1482,7 @@ function users_pagesetup() {
elgg_register_menu_item('topbar', array(
'name' => 'usersettings',
- 'href' => "settings/user/{$user->username}",
+ 'href' => "settings/user/{$viewer->username}",
'text' => elgg_view_icon('settings') . elgg_echo('settings'),
'priority' => 500,
'section' => 'alt',
@@ -1489,7 +1496,6 @@ function users_pagesetup() {
'priority' => 1000,
'section' => 'alt',
));
-
}
}