diff options
| author | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-12-18 21:25:54 +0000 | 
|---|---|---|
| committer | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-12-18 21:25:54 +0000 | 
| commit | 9bc9a3e7590ba15039b019da22c60bdd9d9868e0 (patch) | |
| tree | 405dd4a5fc8cfd5a9861507200b4c3982547b347 /engine | |
| parent | 9ac841f26e05af3515643e44eb5fde30bcfb1b75 (diff) | |
| download | elgg-9bc9a3e7590ba15039b019da22c60bdd9d9868e0.tar.gz elgg-9bc9a3e7590ba15039b019da22c60bdd9d9868e0.tar.bz2 | |
pulling the avatar code out of the profile plugin - just some minor icon related code left
git-svn-id: http://code.elgg.org/elgg/trunk@7671 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine')
| -rw-r--r-- | engine/lib/users.php | 48 | 
1 files changed, 48 insertions, 0 deletions
| diff --git a/engine/lib/users.php b/engine/lib/users.php index b9bf2058f..ee3814fd2 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -1463,6 +1463,39 @@ function user_create_hook_add_site_relationship($event, $object_type, $object) {  }  /** + * Serves the user's avatar + * + * @param string $hook + * @param string $entity_type + * @param string $returnvalue + * @param array $params + * @return string + */ +function user_avatar_hook($hook, $entity_type, $returnvalue, $params){ +	$entity = $params['entity']; +	$size = $params['size']; +	return "pg/avatar/view/{$entity->username}?size=$size"; +} + +/** + * Avatar page handler + * + * @param array $page + */ +function elgg_avatar_page_handler($page) { +	global $CONFIG; + +	$user = get_user_by_username($page[1]); +	elgg_set_page_owner_guid($user->guid); + +	if ($page[0] == 'edit') { +		require_once("{$CONFIG->path}pages/avatar/edit.php"); +	} else { +		require_once("{$CONFIG->path}pages/avatar/view.php"); +	} +} + +/**   * Members page handler   *    * @param array $page url segments @@ -1526,11 +1559,24 @@ function users_init() {  	register_page_handler('resetpassword', 'elgg_user_resetpassword_page_handler');  	register_page_handler('login', 'elgg_user_login_page_handler');  	register_page_handler('members', 'elgg_members_page_handler'); +	register_page_handler('avatar', 'elgg_avatar_page_handler'); +  	//register_page_handler('collections', 'collections_page_handler');  	$item = new ElggMenuItem('members', elgg_echo('members'), 'pg/members');  	elgg_register_menu_item('site', $item); +	$user = get_loggedin_user(); +	if ($user) { +		$params = array( +			'name' => 'edit_avatar', +			'url' => "pg/avatar/edit/{$user->username}", +			'title' => elgg_echo('avatar:edit'), +			'contexts' => array('avatar'), +		); +		elgg_register_menu_item('page', $params); +	} +  	elgg_register_action("register", '', 'public');  	elgg_register_action("useradd", '', 'public');  	elgg_register_action("friends/add"); @@ -1543,6 +1589,8 @@ function users_init() {  	//elgg_register_action('friends/editcollection');  	//elgg_register_action("user/spotlight"); +	elgg_register_plugin_hook_handler('entity:icon:url', 'user', 'user_avatar_hook'); +  	elgg_register_action("usersettings/save");  	elgg_register_action("user/passwordreset", '', 'public'); | 
