From b1177c028d19aef4abd18e87ffdb398df0f6f24a Mon Sep 17 00:00:00 2001 From: ben Date: Mon, 21 Apr 2008 17:26:51 +0000 Subject: Introduced profile plugin git-svn-id: https://code.elgg.org/elgg/trunk@511 36083f99-b078-4883-b0ff-0f9b5a30f544 --- mod/profile/start.php | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 mod/profile/start.php (limited to 'mod/profile/start.php') diff --git a/mod/profile/start.php b/mod/profile/start.php new file mode 100644 index 000000000..baebf802f --- /dev/null +++ b/mod/profile/start.php @@ -0,0 +1,79 @@ + + * @copyright Curverider Ltd 2008 + * @link http://elgg.com/ + */ + + /** + * Profile init function; sets up the profile functions + * + */ + function profile_init() { + + // Get config + global $CONFIG; + + // Load the language file + register_translations($CONFIG->pluginspath . "profile/languages/"); + + // Register a URL handler for users - this means that profile_url() + // will dictate the URL for all ElggUser objects + register_entity_url_handler('profile_url','user','all'); + + // Set up menu for logged in users + if (isloggedin()) { + add_menu(elgg_echo('profile'), $CONFIG->wwwroot . "pg/profile/" . $_SESSION['user']->username,array( + menu_item(elgg_echo('profile:yours'),$CONFIG->wwwroot . "pg/profile/" . $_SESSION['user']->username), + menu_item(elgg_echo('profile:edit'),$CONFIG->wwwroot."mod/profile/edit.php"), + )); + } + + // Register a page handler, so we can have nice URLs + register_page_handler('profile','profile_page_handler'); + + } + + /** + * Profile page handler + * + * @param array $page Array of page elements, forwarded by the page handling mechanism + */ + function profile_page_handler($page) { + + global $CONFIG; + + // The username should be the file we're getting + if (isset($page[0])) { + set_input('username',$page[0]); + } + // Include the standard profile index + include($CONFIG->pluginspath . "profile/index.php"); + + } + + /** + * Profile URL generator for $user->getUrl(); + * + * @param ElggUser $user + * @return string User URL + */ + function profile_url($user) { + global $CONFIG; + return $CONFIG->wwwroot . "pg/profile/" . $user->username; + } + + // Make sure the profile initialisation function is called on initialisation + register_event_handler('init','system','profile_init',1); + + // Register actions + global $CONFIG; + register_action("profile/edit",false,$CONFIG->pluginspath . "profile/actions/edit.php"); + + +?> \ No newline at end of file -- cgit v1.2.3