*
* @param array $page Array of pages
*
- * @return void
+ * @return bool
* @access private
*/
function admin_page_handler($page) {
$body = elgg_view_layout('admin', array('content' => $content, 'title' => $title));
echo elgg_view_page($title, $body, 'admin');
+ return true;
}
/**
* admin_plugin_screenshot/<plugin_id>/<size>/<ss_name>.<ext>
*
* @param array $pages The pages array
- * @return void
+ * @return bool
* @access private
*/
function admin_plugin_screenshot_page_handler($pages) {
echo file_get_contents($file);
break;
}
+ return true;
}
/**
* * LICENSE.txt
*
* @param type $page
- * @return void
+ * @return bool
* @access private
*/
function admin_markdown_page_handler($pages) {
));
echo elgg_view_page($title, $body, 'admin');
+ return true;
}
/**
*
* @param array $page Pages
*
- * @return void
+ * @return bool
* @access private
*/
function cron_page_handler($page) {
$std_out = ob_get_clean();
echo $std_out . $old_stdout;
+ return true;
}
/**
*
* @param array $page The page array
*
- * @return void
+ * @return bool
* @elgg_pagehandler js
* @access private
*/
function elgg_js_page_handler($page) {
- elgg_cacheable_view_page_handler($page, 'js');
+ return elgg_cacheable_view_page_handler($page, 'js');
}
/**
*
* @param array $page The page array
*
- * @return void
+ * @return bool
* @elgg_pagehandler ajax
* @access private
*/
}
echo elgg_view($view, $vars);
+ return true;
}
+ return false;
}
/**
$page[0] = 'elgg';
}
- elgg_cacheable_view_page_handler($page, 'css');
+ return elgg_cacheable_view_page_handler($page, 'css');
}
/**
* @param array $page The page array
* @param string $type The type: js or css
*
- * @return void
+ * @return bool
* @access private
*/
function elgg_cacheable_view_page_handler($page, $type) {
break;
default:
- return;
+ return false;
break;
}
//header("Content-Length: " . strlen($return));
echo $return;
+ return true;
}
}
*
* @param array $page Page elements from pain page handler
*
- * @return void
+ * @return bool
* @elgg_page_handler view
* @access private
*/
global $CONFIG;
set_input('guid', $page[0]);
include($CONFIG->path . "pages/entities/index.php");
+ return true;
}
+ return false;
}
/**
$handler = $params['handler'];
$page = $params['segments'];
+ $result = false;
if (isset($CONFIG->pagehandler) && !empty($handler) && isset($CONFIG->pagehandler[$handler])) {
$function = $CONFIG->pagehandler[$handler];
- call_user_func($function, $page, $handler);
+ $result = call_user_func($function, $page, $handler);
}
- return headers_sent();
+ return $result || headers_sent();
}
/**
* The context is set to the page handler identifier before the registered
* page handler function is called. For the above example, the context is set to 'blog'.
*
+ * Page handlers should return true to indicate that they handled the request.
* Requests not handled are forwarded to the front page with a reason of 404.
* Plugins can register for the 'forward', '404' plugin hook. @see forward()
*
* Page handler for activiy
*
* @param array $page
- * @return void
+ * @return bool
* @access private
*/
function elgg_river_page_handler($page) {
$entity_subtype = '';
require_once("{$CONFIG->path}pages/river.php");
+ return true;
}
/**
*
* @param array $page Page array
*
- * @return void
+ * @return bool
* @access private
*/
function elgg_tagcloud_page_handler($page) {
$body = elgg_view_layout('one_sidebar', array('content' => $content));
echo elgg_view_page(elgg_echo('tags:site_cloud'), $body);
+ return true;
}
/**
*
* @param array $page Pages array
*
- * @return void
+ * @return bool
* @access private
*/
function usersettings_page_handler($page) {
if (isset($path)) {
require $path;
+ return true;
}
}
*
* @param array $page_elements Page elements
*
- * @return void
+ * @return bool
* @access private
*/
function friends_page_handler($page_elements) {
collections_submenu_items();
}
require_once(dirname(dirname(dirname(__FILE__))) . "/pages/friends/index.php");
+ return true;
}
/**
*
* @param array $page_elements Page elements
*
- * @return void
+ * @return bool
* @access private
*/
function friends_of_page_handler($page_elements) {
collections_submenu_items();
}
require_once(dirname(dirname(dirname(__FILE__))) . "/pages/friends/of.php");
+ return true;
}
/**
*
* @param array $page_elements Page elements
*
- * @return void
+ * @return bool
* @access private
*/
function collections_page_handler($page_elements) {
set_page_owner(elgg_get_logged_in_user_guid());
collections_submenu_items();
require_once "{$base}pages/friends/collections/add.php";
+ return true;
} else {
$user = get_user_by_username($page_elements[0]);
if ($user) {
collections_submenu_items();
}
require_once "{$base}pages/friends/collections/view.php";
+ return true;
}
}
}
+ return false;
}
/**
* @param array $page_elements Page elements
* @param string $handler The handler string
*
- * @return void
+ * @return bool
* @access private
*/
function elgg_user_account_page_handler($page_elements, $handler) {
case 'register':
require_once("$base_dir/register.php");
break;
+ default:
+ return false;
}
+ return true;
}
/**
* This is a fallback for non-JS users who click on the
* dropdown login link.
*
- * @return void
+ * @return bool
* @access private
*/
function elgg_user_login_page_handler() {
if (elgg_is_logged_in()) {
- forward();
+ forward('');
}
$login_box = elgg_view('core/account/login_box');
$content = elgg_view_layout('one_column', array('content' => $login_box));
echo elgg_view_page(elgg_echo('login'), $content);
+ return true;
}
/**
* /avatar/view/<username>/<size>/<icontime>
*
* @param array $page
- * @return void
+ * @return bool
* @access private
*/
function elgg_avatar_page_handler($page) {
if ($page[0] == 'edit') {
require_once("{$CONFIG->path}pages/avatar/edit.php");
+ return true;
} else {
set_input('size', $page[2]);
require_once("{$CONFIG->path}pages/avatar/view.php");
+ return true;
}
+ return false;
}
/**
* Profile page handler
*
* @param array $page
- * @return void
+ * @return bool
* @access private
*/
function elgg_profile_page_handler($page) {
if ($page[1] == 'edit') {
require_once("{$CONFIG->path}pages/profile/edit.php");
+ return true;
}
+ return false;
}
/**
* @todo no archives for all blogs or friends
*
* @param array $page
- * @return void
+ * @return bool
*/
function blog_page_handler($page) {
case 'all':
$params = blog_get_page_content_list();
break;
+ default:
+ return false;
}
- if (isset($params)) {
- $params['sidebar'] .= elgg_view('blog/sidebar', array('page' => $page_type));
+ $params['sidebar'] .= elgg_view('blog/sidebar', array('page' => $page_type));
- $body = elgg_view_layout('content', $params);
+ $body = elgg_view_layout('content', $params);
- echo elgg_view_page($params['title'], $body);
- }
+ echo elgg_view_page($params['title'], $body);
+ return true;
}
/**
* Title is ignored
*
* @param array $page
- * @return void
+ * @return bool
*/
function bookmarks_page_handler($page) {
elgg_load_library('elgg:bookmarks');
set_input('container_guid', $page[1]);
include "$pages/bookmarklet.php";
break;
+
+ default:
+ return false;
}
elgg_pop_context();
+ return true;
}
/**
/**
* Category page handler
- * @return void
+ * @return bool
*/
function categories_page_handler() {
include(dirname(__FILE__) . "/pages/categories/listing.php");
+ return true;
}
/**
/**
* Dashboard page handler
- * @return void
+ * @return bool
*/
function dashboard_page_handler() {
// Ensure that only logged-in users can see this page
$body = elgg_view_layout('one_column', array('content' => $widgets));
echo elgg_view_page($title, $body);
+ return true;
}
* Serve the theme preview pages
*
* @param array $page
- * @return void
+ * @return bool
*/
function developers_theme_preview_controller($page) {
if (!isset($page[0])) {
));
echo elgg_view_page($title, $layout, 'theme_preview');
+ return true;
}
*
* @param array $page URL segements
* @param string $handler Handler identifier
- * @return void
+ * @return bool
*/
function expages_page_handler($page, $handler) {
if ($handler == 'expages') {
$body = elgg_view_layout("one_sidebar", array('content' => $content));
echo elgg_view_page($title, $body);
+ return true;
}
/**
* Title is ignored
*
* @param array $page
- * @return void
+ * @return bool
*/
function file_page_handler($page) {
case 'all':
include "$file_dir/world.php";
break;
+ default:
+ return false;
}
+ return true;
}
/**
* Group members: groups/members/<guid>
*
* @param array $page Array of url segments for routing
- * @return void
+ * @return bool
*/
function groups_page_handler($page) {
case 'requests':
groups_handle_requests_page($page[1]);
break;
+ default:
+ return false;
}
+ return true;
}
/**
* Edit discussion topic: discussion/edit/<guid>
*
* @param array $page Array of url segments for routing
- * @return void
+ * @return bool
*/
function discussion_page_handler($page) {
case 'view':
discussion_handle_view_page($page[1]);
break;
+ default:
+ return false;
}
+ return true;
}
/**
* Page handler function
*
* @param array $page Page URL segments
- * @return void
+ * @return bool
*/
function invitefriends_page_handler($page) {
gatekeeper();
$body = elgg_view_layout('one_sidebar', $params);
echo elgg_view_page($title, $body);
+ return true;
}
* Members page handler
*
* @param array $page url segments
- * @return void
+ * @return bool
*/
function members_page_handler($page) {
$base = elgg_get_plugins_path() . 'members/pages/members';
} else {
require_once "$base/index.php";
}
+ return true;
}
* Group messageboard: messageboard/group/<guid>/all (not implemented)
*
* @param array $page Array of page elements
- * @return void
+ * @return bool
*/
function messageboard_page_handler($page) {
$new_section_one = array('owner', 'add', 'group');
set_input('page_owner_guid', $owner_guid);
include "$pages/owner.php";
break;
+
+ default:
+ return false;
}
+ return true;
}
/**
* Messages page handler
*
* @param array $page Array of URL components for routing
- * @return void
+ * @return bool
*/
function messages_page_handler($page) {
case 'add':
include("$base_dir/send.php");
break;
+ default:
+ return false;
}
+ return true;
}
/**
* Route page requests
*
* @param array $page Array of url parameters
- * @return void
+ * @return bool
*/
function notifications_page_handler($page) {
case 'personal':
require "$base/index.php";
break;
+ default:
+ return false;
}
+ return true;
}
/**
* Title is ignored
*
* @param array $page
- * @return void
+ * @return bool
*/
function pages_page_handler($page) {
case 'all':
include "$base_dir/world.php";
break;
+ default:
+ return false;
}
+ return true;
}
/**
* Profile page handler
*
* @param array $page Array of URL segments passed by the page handling mechanism
- * @return void
+ * @return bool
*/
function profile_page_handler($page) {
$body = elgg_view_layout('one_column', array('content' => $content));
echo elgg_view_page($title, $body);
+ return true;
}
/**
* Serves the add report page
*
* @param array $page Array of page routing elements
- * @return void
+ * @return bool
*/
function reportedcontent_page_handler($page) {
// only logged in users can report things
$body = elgg_view_layout('one_sidebar', $params);
echo elgg_view_page(elgg_echo('reportedcontent:this'), $body);
+ return true;
}
/**
* Page handler for search
*
* @param array $page Page elements from core page handler
- * @return void
+ * @return bool
*/
function search_page_handler($page) {
$base_dir = elgg_get_plugins_path() . 'search/pages/search';
include_once("$base_dir/index.php");
+ return true;
}
/**
* thewire/tag/<tag> View wire posts tagged with <tag>
*
* @param array $page From the page_handler function
- * @return void
+ * @return bool
*/
function thewire_page_handler($page) {
}
include "$base_dir/previous.php";
break;
+
+ default:
+ return false;
}
+ return true;
}
/**
* Handles old pg/twitterservice/ handler
*
* @param array $page
- * @return void
+ * @return bool
*/
function twitter_api_pagehandler_deprecated($page) {
$url = elgg_get_site_url() . 'pg/twitter_api/authorize';
$msg = elgg_echo('twitter_api:deprecated_callback_url', array($url));
register_error($msg);
- twitter_api_pagehandler($page);
+ return twitter_api_pagehandler($page);
}
*/
function twitter_api_pagehandler($page) {
if (!isset($page[0])) {
- return;
+ return false;
}
switch ($page[0]) {
$pages = dirname(__FILE__) . '/pages/twitter_api';
include "$pages/interstitial.php";
break;
+ default:
+ return false;
}
+ return true;
}
/**
* Checks sent passed validation code and user guids and validates the user.
*
* @param array $page
- * @return void
+ * @return bool
*/
function uservalidationbyemail_page_handler($page) {