From 472aa15c24655c4d978019edaa4669700964325d Mon Sep 17 00:00:00 2001 From: ben Date: Mon, 16 Jun 2008 23:32:45 +0000 Subject: Sticky menu items, but also, much more intelligent context detection. Plugin authors need not bother with set_context() any more - the context should be set automatically. This is overruled by page handling settings, if set, which use the first element of the URL to determine context. Fixes #32 git-svn-id: https://code.elgg.org/elgg/trunk@940 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/pageowner.php | 2 ++ engine/lib/plugins.php | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'engine') diff --git a/engine/lib/pageowner.php b/engine/lib/pageowner.php index 4531b5037..c6bd5bcaf 100644 --- a/engine/lib/pageowner.php +++ b/engine/lib/pageowner.php @@ -139,6 +139,8 @@ if (isset($CONFIG->context) && !empty($CONFIG->context)) { return $CONFIG->context; } + if ($context = get_plugin_name(true)) + return $context; return "main"; } diff --git a/engine/lib/plugins.php b/engine/lib/plugins.php index f12ed3cac..cc03bba04 100644 --- a/engine/lib/plugins.php +++ b/engine/lib/plugins.php @@ -45,10 +45,11 @@ } /** - * Get the name of the most recent plugin to be called in the call stack. + * Get the name of the most recent plugin to be called in the call stack (or the plugin that owns the current page, if any). * * i.e., if the last plugin was in /mod/foobar/, get_plugin_name would return foo_bar. * + * @param boolean $mainfilename If set to true, this will instead determine the context from the main script filename called by the browser. Default = false. * @return string|false Plugin name, or false if no plugin name was called */ function get_plugin_name($mainfilename = false) { -- cgit v1.2.3