function monashees_profile_page_handler($page) { if (isset($page[0])) { $username = $page[0]; $user = get_user_by_username($username); elgg_set_page_owner_guid($user->guid); } elseif (elgg_is_logged_in()) { forward(elgg_get_logged_in_user_entity()->getURL()); } // short circuit if invalid or banned username if (!$user || $user->isBanned() && !elgg_is_admin_logged_in()) { register_error(elgg_echo('profile:notfound')); forward(); } $action = NULL; if (isset($page[1])) { $action = $page[1]; } if ($action == 'edit') { // use the core profile edit page $base_dir = elgg_get_root_path(); require "{$base_dir}pages/profile/edit.php"; return true; } // main profile page /*$params = array ( 'content' => elgg_view ( 'profile/wrapper' ), 'num_columns' => 3 );*/ //$content = elgg_view_layout ( 'widgets', $params ); $body = elgg_view_layout('two_sidebar', array('content' => elgg_view('profile/wrapper') . "" . elgg_view("profile/owner_block") . "" . elgg_view("profile/homeposts"), 'username' => $username)); echo elgg_view_page($user->name, $body); return true; }
/** * Get page components to show news with publish dates between $lower and $upper * * @param int $owner_guid The GUID of the owner of this page * @param int $lower Unix timestamp * @param int $upper Unix timestamp * @return array */ function news_get_page_content_archive($owner_guid, $lower = 0, $upper = 0) { $owner = get_entity($owner_guid); elgg_set_page_owner_guid($owner_guid); $crumbs_title = $owner->name; if (elgg_instanceof($owner, 'user')) { $url = "news/owner/{$owner->username}"; } else { $url = "news/group/{$owner->guid}/all"; } elgg_push_breadcrumb($crumbs_title, $url); elgg_push_breadcrumb(elgg_echo('news:archives')); if ($lower) { $lower = (int) $lower; } if ($upper) { $upper = (int) $upper; } $options = array('type' => 'object', 'subtype' => 'news', 'full_view' => false, 'no_results' => elgg_echo('news:none'), 'preload_owners' => true, 'distinct' => false); if ($owner instanceof ElggGroup) { $options['container_guid'] = $owner_guid; } elseif ($owner instanceof ElggUser) { $options['owner_guid'] = $owner_guid; } if ($lower) { $options['created_time_lower'] = $lower; } if ($upper) { $options['created_time_upper'] = $upper; } $content = elgg_list_entities($options); $title = elgg_echo('date:month:' . date('m', $lower), array(date('Y', $lower))); return array('content' => $content, 'title' => $title, 'filter' => ''); }
/** * {@inheritdoc} */ public function setup() { parent::setup(); $this->post = get_entity($this->guid); $this->poster = elgg_get_logged_in_user_entity(); // GUIDs of friends that were tagged in the post if (!is_array($this->friend_guids)) { $this->friend_guids = string_to_tag_array((string) $this->friend_guids); } if (!is_array($this->attachment_guids)) { $this->attachment_guids = string_to_tag_array((string) $this->attachment_guids); } if (!is_array($this->upload_guids)) { $this->upload_guids = array(); } $this->subtype = Post::SUBTYPE; $this->container = $this->poster; if ($this->container_guid) { $container = get_entity($this->container_guid); if ($container) { $this->container = $container; } if ($this->container->guid != $this->poster->guid) { $this->subtype = hypeWall()->config->getPostSubtype(); } } // For underlying views to know who the container is elgg_set_page_owner_guid($this->container->guid); }
/** * Serve pages. URLs in the form: * * pg/block_users/blocked_users/<username> - Users blocked by <username>. If not set, defaults to logged in. * pg/block_users/blocked - The page to display when a user is blocked. * * @param array $page * @return bool Depending on success */ function page_handler($page) { gatekeeper(); if (!isset($page[0])) { $page[0] = 'blocked_users'; } switch ($page[0]) { case 'blocked_user_content': $site = elgg_get_site_entity(); elgg_set_page_owner_guid($site->guid); include dirname(__FILE__) . '/pages/block_users/blocked_user_content.php'; break; case 'blocked_content': $site = elgg_get_site_entity(); elgg_set_page_owner_guid($site->guid); include dirname(__FILE__) . '/pages/block_users/blocked_content.php'; break; default: case 'blocked_users': $logged_in_user = elgg_get_logged_in_user_entity(); if (!isset($page[1])) { $page[1] = $logged_in_user->username; } set_input('blocking_username', $page[1]); // only admins can see another user's block list if ($page[1] != $logged_in_user->username) { admin_gatekeeper(); } include dirname(__FILE__) . '/pages/block_users/blocked_users.php'; } return true; }
/** * https://github.com/Elgg/Elgg/pull/6393 * Hook handlers for 'access:collections:write','all' hook should respect * group's content access mode and container write permissions */ public function testWriteAccessArray() { $membersonly = ElggGroup::CONTENT_ACCESS_MODE_MEMBERS_ONLY; $unrestricted = ElggGroup::CONTENT_ACCESS_MODE_UNRESTRICTED; $original_page_owner = elgg_get_page_owner_entity(); elgg_set_page_owner_guid($this->group->guid); $ia = elgg_set_ignore_access(false); // User is not a member of the group // Member-only group $this->group->setContentAccessMode($membersonly); $write_access = get_write_access_array($this->user->guid, true); $this->assertFalse(array_key_exists($this->group->group_acl, $write_access)); // Unrestricted group $this->group->setContentAccessMode($unrestricted); $write_access = get_write_access_array($this->user->guid, true); $this->assertFalse(array_key_exists($this->group->group_acl, $write_access)); // User is a member (can write to container) $this->group->join($this->user); // Member-only group $this->group->setContentAccessMode($membersonly); $write_access = get_write_access_array($this->user->guid, true); $this->assertTrue(array_key_exists($this->group->group_acl, $write_access)); // Unrestricted group $this->group->setContentAccessMode($unrestricted); $write_access = get_write_access_array($this->user->guid, true); $this->assertTrue(array_key_exists($this->group->group_acl, $write_access)); elgg_set_ignore_access($ia); $this->group->leave($this->user); $original_page_owner_guid = elgg_instanceof($original_page_owner) ? $original_page_owner->guid : 0; elgg_set_page_owner_guid($original_page_owner_guid); }
/** * Profile page handler * * @param array $page Array of page elements, forwarded by the page handling mechanism */ function profile_page_handler($page) { if (isset($page[0])) { $username = $page[0]; $user = get_user_by_username($username); elgg_set_page_owner_guid($user->guid); } // short circuit if invalid or banned username if (!$user || $user->isBanned() && !elgg_is_admin_logged_in()) { register_error(elgg_echo('profile:notfound')); forward(); } $action = NULL; if (isset($page[1])) { $action = $page[1]; } if ($action == 'edit') { // use the core profile edit page $base_dir = elgg_get_root_path(); require "{$base_dir}pages/profile/edit.php"; return; } // main profile page $params = array('content' => elgg_view('profile/wrapper'), 'num_columns' => 3); $content = elgg_view_layout('widgets', $params); $body = elgg_view_layout('one_column', array('content' => $content)); echo elgg_view_page($title, $body); }
/** * Handle /file_tools URLs * * @param array $page URL segments * * @return bool */ public static function fileTools($page) { switch (elgg_extract(0, $page)) { case 'list': elgg_ajax_gatekeeper(); $params = []; elgg_set_page_owner_guid(elgg_extract(1, $page)); $folder_guid = get_input('folder_guid', false); if ($folder_guid !== false) { $params['folder_guid'] = (int) $folder_guid; $params['draw_page'] = false; } if (isset($page[2])) { $params['folder_guid'] = (int) $page[2]; } echo elgg_view_resource('file_tools/file/list', $params); return true; break; case 'folder': switch (elgg_extract(1, $page)) { case 'new': elgg_set_page_owner_guid(elgg_extract(2, $page)); echo elgg_view_resource('file_tools/folder/new'); return true; break; case 'edit': $params = ['folder_guid' => (int) elgg_extract(2, $page)]; echo elgg_view_resource('file_tools/folder/edit', $params); return true; break; } break; } return false; }
/** * Stripe related pages * * @param array $page * @param string $handler * @return boolean */ function stripe_page_handler($page, $handler) { gatekeeper(); $username = elgg_extract(0, $page, false); if ($username) { $user = get_user_by_username($username); } if (!elgg_instanceof($user) || !$user->canEdit()) { $user = elgg_get_logged_in_user_entity(); forward("{$handler}/{$user->username}"); } elgg_set_context('settings'); elgg_set_page_owner_guid($user->guid); elgg_push_breadcrumb(elgg_echo('stripe:billing'), 'billing'); $context = elgg_extract(1, $page, 'cards'); $action = elgg_extract(2, $page, 'all'); $view = "stripe/pages/{$context}/{$action}"; if (elgg_view_exists($view)) { $params = array('entity' => $user, 'id' => elgg_extract(3, $page, false), 'context' => $page); $title = elgg_echo("stripe:{$context}:{$action}"); $content = elgg_view($view, $params); $sidebar = elgg_view('stripe/sidebar', $params); $filter = elgg_view("stripe/filters/{$context}/{$action}", $params); } if ($content) { if (elgg_is_xhr()) { echo $content; } else { $layout = elgg_view_layout('content', array('title' => $title, 'content' => $content, 'sidebar' => $sidebar, 'filter' => $filter)); echo elgg_view_page($title, $layout); } return true; } return false; }
/** * Profile page handler * * @param array $page Array of URL segments passed by the page handling mechanism * @return bool */ function profile_page_handler($page) { if (isset($page[0])) { $username = $page[0]; $user = get_user_by_username($username); elgg_set_page_owner_guid($user->guid); } elseif (elgg_is_logged_in()) { forward(elgg_get_logged_in_user_entity()->getURL()); } // short circuit if invalid or banned username if (!$user || $user->isBanned() && !elgg_is_admin_logged_in()) { register_error(elgg_echo('profile:notfound')); forward(); } $action = NULL; if (isset($page[1])) { $action = $page[1]; } if ($action == 'edit') { // use the core profile edit page $base_dir = elgg_get_root_path(); require "{$base_dir}pages/profile/edit.php"; return true; } $content = elgg_view('profile/layout', array('entity' => $user)); $body = elgg_view_layout('one_column', array('content' => $content)); echo elgg_view_page($user->name, $body); return true; }
/** * User settings page handler * * @param array $segments URL segments * @return bool */ function user_settings_page_handler($segments) { elgg_gatekeeper(); $page = array_shift($segments); $username = array_shift($segments); if (!$page) { $page = 'user'; } if (!$username) { $user = elgg_get_logged_in_user_entity(); } else { $user = get_user_by_username($username); } if (!$user) { forward('', '404'); } if (!$user->canEdit()) { forward('', '403'); } elgg_set_page_owner_guid($user->guid); $resource = elgg_view_resource("settings/{$page}", array('username' => $user->username, 'entity' => $user, 'segments' => $segments)); if ($resource) { echo $resource; return true; } return false; }
function customstyle_page_handler($page) { gatekeeper(); elgg_set_context('customstyle'); elgg_set_page_owner_guid(elgg_get_logged_in_user_guid()); $title = elgg_echo('customstyle'); $base_dir = elgg_get_plugins_path() . 'customstyle/pages/customstyle'; switch ($page[0]) { case 'colors': $body = elgg_view('customstyle/colors'); break; case 'background': $body = elgg_view('customstyle/background'); break; case 'personalize': $body = elgg_view('customstyle/default'); break; default: $body = elgg_view('customstyle/default'); break; } $params = array('content' => $body, 'title' => $title); $body = elgg_view_layout('one_sidebar', $params); echo elgg_view_page($title, $body); return true; }
/** * Profile page handler * * @param array $page Array of URL segments passed by the page handling mechanism * @return bool */ function profile_page_handler($page) { if (isset($page[0])) { $username = $page[0]; $user = get_user_by_username($username); elgg_set_page_owner_guid($user->guid); } elseif (elgg_is_logged_in()) { forward(elgg_get_logged_in_user_entity()->getURL()); } // short circuit if invalid or banned username if (!$user || $user->isBanned() && !elgg_is_admin_logged_in()) { register_error(elgg_echo('profile:notfound')); forward(); } $action = NULL; if (isset($page[1])) { $action = $page[1]; } if ($action == 'edit') { // use the core profile edit page echo elgg_view_resource('profile/edit'); return true; } echo elgg_view_resource('profile/view', ['username' => $page[0]]); return true; }
function au_subgroups_pagehandler($page) { // dirty check to avoid duplicate page handlers // since this should only be called from the route, groups hook if (strpos(current_page_url(), elgg_get_site_url() . 'au_subgroups') === 0) { return false; } switch ($page[0]) { case 'add': set_input('au_subgroup', true); set_input('au_subgroup_parent_guid', $page[1]); elgg_set_page_owner_guid($page[1]); echo elgg_view('resources/au_subgroups/add'); return true; break; case 'list': elgg_set_page_owner_guid($page[1]); echo elgg_view('resources/au_subgroups/list'); break; case 'delete': elgg_set_page_owner_guid($page[1]); echo elgg_view('resources/au_subgroups/delete'); break; case 'openclosed': set_input('filter', $page[1]); echo elgg_view('resources/au_subgroups/openclosed'); return true; break; } return false; }
/** * The page handler vor vacaturebank * * @param array $page url segments * * @return bool */ function haarlem_tangram_page_handler($page) { $include_file = false; $pages_root = dirname(dirname(__FILE__)) . '/pages/'; $page_owner_guid = haarlem_tangram_get_page_owner_guid(); if (!empty($page_owner_guid)) { elgg_set_page_owner_guid($page_owner_guid); } switch ($page[0]) { case 'all': $include_file = "{$pages_root}all.php"; break; case 'view': set_input('vacaturenummer', $page[1]); $include_file = "{$pages_root}view.php"; break; default: forward('vacaturebank/all'); break; } if (!empty($include_file)) { include $include_file; return true; } return false; }
function file_tools_page_handler($page) { $include_file = false; switch ($page[0]) { case "list": if (elgg_is_xhr() && !empty($page[1])) { elgg_set_page_owner_guid($page[1]); if (get_input("folder_guid", false) !== false) { set_input("draw_page", false); } if (isset($page[2])) { set_input("folder_guid", $page[2]); } $include_file = dirname(dirname(__FILE__)) . "/pages/list.php"; } break; case "folder": if ($page[1] == 'new') { if (!empty($page[2])) { elgg_set_page_owner_guid($page[2]); } $include_file = dirname(dirname(__FILE__)) . "/pages/folder/new.php"; } elseif ($page[1] == 'edit') { if (!empty($page[2])) { set_input("folder_guid", $page[2]); $include_file = dirname(dirname(__FILE__)) . "/pages/folder/edit.php"; } } break; case "file": if ($page[1] == 'new') { if (!empty($page[2])) { elgg_set_page_owner_guid($page[2]); } $include_file = dirname(dirname(__FILE__)) . "/pages/file/new.php"; } elseif ($page[1] == 'edit') { set_input("guid", $page[2]); $include_file = dirname(dirname(__FILE__)) . "/pages/file/edit.php"; } elseif ($page[1] == 'download') { $include_file = dirname(dirname(__FILE__)) . "/pages/file/download.php"; } break; case "proc": if (file_exists(dirname(dirname(__FILE__)) . "/procedures/" . $page[1] . "/" . $page[2] . ".php")) { $include_file = dirname(dirname(__FILE__)) . "/procedures/" . $page[1] . "/" . $page[2] . ".php"; } else { echo json_encode(array('valid' => 0)); exit; } break; } if (!empty($include_file)) { include $include_file; return true; } else { forward("file/all"); } }
function customstyle_pagesetup() { if (!elgg_get_page_owner_guid() && elgg_is_logged_in()) { elgg_set_page_owner_guid($_SESSION['user']->getGUID()); } if ($_SERVER['PHP_SELF'] != "/index.php" && elgg_get_page_owner_guid() != 0) { elgg_extend_view('page/elements/foot', 'customstyle/metatags'); } }
/** * Page handlers for hypeFramework * * * @param type $page * @return type */ function hj_framework_page_handlers($page) { if (!isset($page[0])) { forward(); } $path_pages = elgg_get_root_path() . 'mod/hypeFramework/pages/'; switch ($page[0]) { case 'edit': set_input('guid', $page[1]); include $path_pages . 'edit/object.php'; break; case 'icon': set_input('guid', $page[1]); set_input('size', $page[2]); include $path_pages . "icon/icon.php"; break; case 'download': set_input('guid', $page[1]); include $path_pages . "file/download.php"; break; case 'file': switch ($page[1]) { case 'create': gatekeeper(); $container_guid = elgg_extract(2, $page, false); if (!$container_guid) { $container_guid = elgg_get_logged_in_user_guid(); } elgg_set_page_owner_guid($container_guid); set_input('container_guid', $container_guid); include "{$path_pages}create/file.php"; break; case 'edit': gatekeeper(); set_input('guid', $page[2]); include "{$path_pages}edit/object.php"; break; case 'view': if (!isset($page[2])) { return false; } $entity = get_entity($page[2]); if (!$entity) { return false; } $sidebar = elgg_view('framework/file/dashboard/sidebar', array('entity' => $entity)); echo elgg_view_page($entity->title, elgg_view_layout('framework/entity', array('entity' => $entity, 'sidebar' => $sidebar))); break; } break; default: return false; break; } return true; }
/** * Serves the content for the embed lightbox * * @param array $page URL segments */ function embed_page_handler($page) { $container_guid = (int) get_input('container_guid'); if ($container_guid) { elgg_set_page_owner_guid($container_guid); } echo elgg_view('embed/layout'); // exit because this is in a modal display. exit; }
/** * Extends thewire pagehandler with some extra pages * * @param string $hook_name 'route' * @param string $entity_type 'thewire' * @param bool $return the default return value * @param array $params supplied params * * @return bool */ function thewire_tools_route_thewire($hook_name, $entity_type, $return, $params) { $page = elgg_extract("segments", $return); if (is_array($page)) { switch ($page[0]) { case "group": if (!empty($page[1])) { set_input("group_guid", $page[1]); // @todo is this still needed or replace with page_owner in page if (!empty($page[2])) { set_input("wire_username", $page[2]); // @todo is this still needed? } $include_file = "pages/group.php"; break; } case "tag": case "search": if (isset($page[1])) { if ($page[0] == "tag") { set_input("query", "#" . $page[1]); } else { set_input("query", $page[1]); } } $include_file = "pages/search.php"; break; case "autocomplete": $include_file = "procedures/autocomplete.php"; break; case "conversation": if (isset($page[1])) { set_input("guid", $page[1]); } $include_file = "procedures/conversation.php"; break; case "thread": elgg_push_context("thewire_thread"); case "reply": if (!empty($page[1])) { $entity = get_entity($page[1]); if (!empty($entity) && elgg_instanceof($entity->getContainerEntity(), "group")) { elgg_set_page_owner_guid($entity->getContainerGUID()); } } break; } if (!empty($include_file)) { include dirname(dirname(__FILE__)) . "/" . $include_file; $return = false; } } return $return; }
function importer_page_handler($page) { gatekeeper(); elgg_set_context('friends'); elgg_set_page_owner_guid(elgg_get_logged_in_user_guid()); $title = elgg_echo('import:contacts'); $body = elgg_view('importer/form'); $params = array('content' => $body, 'title' => $title); $body = elgg_view_layout('one_sidebar', $params); echo elgg_view_page($title, $body); return true; }
/** * Page handler for embeds * * @param array $page */ function embed_page_handler($page) { $params = array('output' => '', 'status' => 0, 'system_messages' => array('error' => array(), 'success' => array())); $container_guid = get_input('container_guid'); if ($container_guid && get_entity($container_guid)) { elgg_set_page_owner_guid($container_guid); } switch ($page[0]) { default: case 'tab': $default_tab = elgg_is_active_plugin('file') ? 'file' : 'content_items'; $embed_tab = elgg_extract(1, $page, $default_tab); $title = elgg_echo("embed:embed"); $filter = elgg_view('embed/filter', array('filter_context' => $embed_tab)); $view = "embed/tab/{$embed_tab}"; if (elgg_view_exists($view)) { $content = elgg_view($view); } else { $embed_tab = elgg_get_config('embed_tab'); if ($embed_tab instanceof \ElggMenuItem) { $view = $embed_tab->getData('view'); $options = $embed_tab->getData('options'); if ($view) { $content = elgg_view($view); } else { if ($options) { $content = elgg_view('embed/get_list', array('options' => $options)); } } } } if (empty($content)) { $content = elgg_autop(elgg_echo('embed:section:invalid')); } $params['output'] = elgg_view_layout('one_column', array('title' => $title, 'content' => $filter . $content, 'class' => 'embed-wrapper')); break; } $system_messages = system_messages(NULL, ""); if (isset($system_messages['success'])) { $params['system_messages']['success'] = $system_messages['success']; } if (isset($system_messages['error'])) { $params['system_messages']['error'] = $system_messages['error']; $params['status'] = -1; } // We do not want to serve this page via non-xhr requests if (!elgg_is_xhr()) { register_error(elgg_echo('embed:error:non_xhr_request')); return false; } echo json_encode($params); exit; }
/** * GV isegoria page handler. */ function isegoria_page_handler() { // Ensure that only logged-in users can see this page gatekeeper(); // Set context and title elgg_set_context('dashboard'); elgg_set_page_owner_guid(elgg_get_logged_in_user_guid()); $title = elgg_echo('dashboard'); $params = array('num_columns' => 3, 'show_access' => false); $widgets = elgg_view_layout('widgets', $params); $body = elgg_view_layout('one_column', array('content' => $widgets)); echo elgg_view_page($title, $body); return true; }
/** * Page handler * * /site_notifications/view/<username> * * @param array $segments URL segments * @return boolean */ function site_notifications_page_handler($segments) { elgg_gatekeeper(); if (!isset($segments[1])) { $segments[1] = elgg_get_logged_in_user_entity()->username; } $user = get_user_by_username($segments[1]); if (!$user) { return false; } elgg_set_page_owner_guid($user->guid); echo elgg_view_resource('site_notifications/view'); return true; }
function livewire_river_page_handler($page) { global $CONFIG; elgg_set_page_owner_guid(elgg_get_logged_in_user_guid()); // make a URL segment available in page handler script $page_type = elgg_extract(0, $page, $param); $page_type = preg_replace('[\\W]', '', $page_type); if ($page_type == 'owner') { $page_type = 'mine'; } set_input('page_type', $page_type); require_once "{$CONFIG->path}mod/livewire/pages/river.php"; return true; }
/** * Serves the content for the embed lightbox * * @param array $page URL segments */ function embed_page_handler($page) { $container_guid = (int) get_input('container_guid'); if ($container_guid) { $container = get_entity($container_guid); if (elgg_instanceof($container, 'group') && $container->isMember()) { // embedding inside a group so save file to group files elgg_set_page_owner_guid($container_guid); } } echo elgg_view('embed/layout'); // exit because this is in a modal display. exit; }
/** * Handles all question pages * * @param array $segments * * @return bool */ function questions_page_handler($segments) { elgg_push_breadcrumb(elgg_echo('questions'), 'questions/all'); $pages = dirname(dirname(__FILE__)) . '/pages/questions'; switch ($segments[0]) { case 'all': include "{$pages}/all.php"; break; case 'todo': if (isset($segments[1]) && is_numeric($segments[1])) { set_input('group_guid', $segments[1]); } include "{$pages}/todo.php"; break; case 'owner': if (isset($segments[1]) && is_numeric($segments[1])) { elgg_set_page_owner_guid($segments[1]); } include "{$pages}/owner.php"; break; case 'view': set_input('guid', $segments[1]); include "{$pages}/view.php"; break; case 'add': elgg_gatekeeper(); include "{$pages}/add.php"; break; case 'edit': elgg_gatekeeper(); set_input('guid', $segments[1]); include "{$pages}/edit.php"; break; case 'group': elgg_group_gatekeeper(); include "{$pages}/owner.php"; break; case 'experts': if (isset($segments[1]) && is_numeric($segments[1])) { elgg_set_page_owner_guid($segments[1]); } include "{$pages}/experts.php"; break; default: forward('questions/all'); return false; } return true; }
/** * Page handler function * * @param array $page Page URL segments * @return bool */ function invitefriends_page_handler($page) { elgg_gatekeeper(); if (!elgg_get_config('allow_registration')) { return false; } elgg_set_context('friends'); elgg_set_page_owner_guid(elgg_get_logged_in_user_guid()); $title = elgg_echo('friends:invite'); $body = elgg_view('invitefriends/form'); $params = array('content' => $body, 'title' => $title); $body = elgg_view_layout('one_sidebar', $params); echo elgg_view_page($title, $body); return true; }
/** * Dispatches related groups pages. * URLs take the form of * * Group view related groups: relatedgroups/owner/<group_guid> * Group manage related groups: relatedgroups/manage/<group_guid> * * @param array $page * @return NULL */ function relatedgroups_page_handler($page) { $pages_path = elgg_get_plugins_path() . "relatedgroups/pages"; switch ($page[0]) { case 'add': case 'edit': elgg_set_page_owner_guid($page[1]); include $pages_path . "/relatedgroups/edit.php"; break; case 'owner': elgg_set_page_owner_guid($page[1]); include $pages_path . "/relatedgroups/owner.php"; break; } }
function custom_friends_page_handler($page_elements, $handler) { elgg_set_context('friends'); if (isset($page_elements[0]) && ($user = get_user_by_username($page_elements[0]))) { elgg_set_page_owner_guid($user->getGUID()); } if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) { collections_submenu_items(); } if (!isset($handler[0])) { $handler[0] = 'friends'; } require_once dirname(__FILE__) . "/pages/friends/index.php"; return true; }
function super_dashboard_page_handler($page) { $current_user = elgg_get_logged_in_user_entity(); if (isset($page[0])) { $username = $page[0]; $user = get_user_by_username($username); elgg_set_page_owner_guid($user->guid); } elseif (elgg_is_logged_in()) { forward('super_dashboard/' . $current_user->username); } else { forward('404'); } require_once dirname(__FILE__) . '/pages/super_dashboard.php'; return true; }