diff options
| author | marcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-10-17 15:46:16 +0000 | 
|---|---|---|
| committer | marcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-10-17 15:46:16 +0000 | 
| commit | 7184453089f95216643ab697930b020890c65006 (patch) | |
| tree | 27a64f6181a3a505e7822e0671617125a104ba02 /engine | |
| parent | ab1a4a3daa441fcd2e4d9b37267de3b48fae9d6f (diff) | |
| download | elgg-7184453089f95216643ab697930b020890c65006.tar.gz elgg-7184453089f95216643ab697930b020890c65006.tar.bz2 | |
Closes #335: Marcus Povey : 
* Per user tools settings now present again (only displays if there are settings present AND the plugin is enabled - needs skinning accordingly)
* Re-jigged the settings code to behave like a proper page handler.
* Minor tweak to language
git-svn-id: https://code.elgg.org/elgg/trunk@2279 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine')
| -rw-r--r-- | engine/lib/usersettings.php | 33 | 
1 files changed, 29 insertions, 4 deletions
| diff --git a/engine/lib/usersettings.php b/engine/lib/usersettings.php index 647cbdaed..6f10ebdbd 100644 --- a/engine/lib/usersettings.php +++ b/engine/lib/usersettings.php @@ -40,10 +40,33 @@  		// Menu options
  			if (get_context() == "settings") {
 -				add_submenu_item(elgg_echo('usersettings:user:opt:linktext'),$CONFIG->wwwroot . "pg/settings/user?username=" . $_SESSION['user']->username);
 -				add_submenu_item(elgg_echo('profile:editicon'), $CONFIG->wwwroot . 'mod/profile/editicon.php');
 -				add_submenu_item(elgg_echo('usersettings:statistics:opt:linktext'),$CONFIG->wwwroot . "pg/settings/statistics?username=" . $_SESSION['user']->username);
 +				add_submenu_item(elgg_echo('usersettings:user:opt:linktext'),$CONFIG->wwwroot . "pg/settings/user/{$_SESSION['user']->username}/");
 +				add_submenu_item(elgg_echo('profile:editicon'), $CONFIG->wwwroot . 'mod/profile/editicon.php'); +				add_submenu_item(elgg_echo('usersettings:plugins:opt:linktext'),$CONFIG->wwwroot . "pg/settings/plugins/{$_SESSION['user']->username}/");
 +				add_submenu_item(elgg_echo('usersettings:statistics:opt:linktext'),$CONFIG->wwwroot . "pg/settings/statistics/{$_SESSION['user']->username}/");
  			}
 +	} +	 +	function usersettings_page_handler($page) +	{ +		global $CONFIG; +		 +		$path = $CONFIG->path . "settings/index.php"; +		 +		if ($page[0]) +		{ +			switch ($page[0]) +			{ +				case 'user' : $path = $CONFIG->path . "settings/user.php"; break; +				case 'statistics' : $path = $CONFIG->path . "settings/statistics.php"; break; +				case 'plugins' : $path = $CONFIG->path . "settings/plugins.php"; break; +			} +		} +		 +		if ($page[1]) +			set_input('username', $page[1]); +			 +		include($path);  	}
  	/** @@ -51,10 +74,12 @@  	 */  	function usersettings_init()  	{ - +		// Page handler +		register_page_handler('settings','usersettings_page_handler');  	}  	/// Register init function +	register_elgg_event_handler('init','system','usersettings_init');  	register_elgg_event_handler('pagesetup','system','usersettings_pagesetup');  ?>
\ No newline at end of file | 
