From 279e74d06be7e2fc98c3df3cd867d1ecfd3e6de4 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sat, 15 Mar 2014 14:49:36 -0300 Subject: Squashed 'mod/landing/' content from commit d1ea0d2 git-subtree-dir: mod/landing git-subtree-split: d1ea0d2593cbf55a3804224fd587dbde00672a8c --- start.php | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 start.php (limited to 'start.php') diff --git a/start.php b/start.php new file mode 100644 index 000000000..05ccac9fb --- /dev/null +++ b/start.php @@ -0,0 +1,78 @@ + + * @copyright: 2012 Lorea Faeries + * @license: GNU Affero General Public License version 3 or later + * @package: ElggLanding + */ + +elgg_register_event_handler('init', 'system', 'landing_init'); + +function landing_init() { + // Register Tests + elgg_register_plugin_hook_handler('unit_test', 'system', 'landing_test'); + + // Register CSS + elgg_extend_view('css', 'landing/css'); + + // Register Login Event Handler + elgg_register_event_handler('login', 'user', 'landing_login_handler'); + +} + +/** + * Test the plugin + */ +function landing_test($hook, $type, $value, $params) { + $value[] = 'landing/test/landing_test.php'; + return $value; +} + +/** + * Redirect user to chosen landing page upon login + */ +function landing_login_handler($event, $type, $user) { + global $forward_url; + + if (empty($forward_url)) { + $forward_url = landing_page_url(); + } + + return NULL; +} + +function landing_page_url() { + + $user = elgg_get_logged_in_user_entity(); + if (!($user instanceof ElggUser)) { + return ''; + } + + $mode = get_plugin_usersetting('landing_mode', $user->guid, 'landing'); + + switch($mode) { + case 'profile': + if (elgg_is_active_plugin('profile')) { + $forward_url = "/profile/{$user->username}"; + } else { + $forward_url = "/view/{$user->guid}"; + } + break; + case 'custom': + $forward_url = get_plugin_usersetting('landing_url', $user->guid, 'landing'); + break; + case 'dashboard': + if (elgg_is_active_plugin('dashboard')) { + $forward_url = '/dashboard'; + break; + } + case 'default': + default: + $forward_url = ''; + break; + } + + return $forward_url; +} -- cgit v1.2.3