aboutsummaryrefslogtreecommitdiff
path: root/engine/lib
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib')
-rw-r--r--engine/lib/elgglib.php11
-rw-r--r--engine/lib/plugins.php29
2 files changed, 35 insertions, 5 deletions
diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php
index 7a4f3df9b..cc7fbf209 100644
--- a/engine/lib/elgglib.php
+++ b/engine/lib/elgglib.php
@@ -1345,13 +1345,14 @@
$callstack = debug_backtrace();
$call_paths = array();
foreach ($callstack as $call)
- $call_paths[] = sanitise_string($call['path']);
-
+ $call_paths[] = sanitise_string($call['file']);
+
// Get privileged paths
- $paths = get_data("SELECT * from {$CONFIG->dbprefix}privileged_paths");
+ $paths = get_data("SELECT * from {$CONFIG->dbprefix}privileged_paths");
+
foreach ($paths as $p)
- {
- if (in_array($CONFIG->path . $p->path, $call_paths))
+ {
+ if (in_array( $p->path, $call_paths))
return true;
}
diff --git a/engine/lib/plugins.php b/engine/lib/plugins.php
index 0edf46bfb..464163f2b 100644
--- a/engine/lib/plugins.php
+++ b/engine/lib/plugins.php
@@ -304,6 +304,9 @@
*/
function is_plugin_enabled($plugin, $site_guid = 0)
{
+ //return execute_privileged_codeblock('__is_plugin_enabled_priv', array('plugin'=>$plugin, 'site_guid' => $site_guid));
+ // Does this need to be in privileged? Doesn't seem to...
+
global $CONFIG;
$site_guid = (int) $site_guid;
@@ -320,6 +323,32 @@
return false;
}
+
+ /**
+ * Privileged execution so code can run before user logged in.
+ *
+ * @param array $params
+ * @return bool
+ */
+ /*function __is_plugin_enabled_priv(array $params = null)
+ {
+ global $CONFIG;
+
+ $plugin = $params['plugin'];
+ $site_guid = (int) $params['site_guid'];
+ if ($site_guid == 0)
+ $site_guid = $CONFIG->site_guid;
+
+ $site = get_entity($site_guid);
+ if (!($site instanceof ElggSite))
+ throw new InvalidClassException(sprintf(elgg_echo('InvalidClassException:NotValidElggStar'), $site_guid, "ElggSite"));
+
+ $enabled = find_metadata("enabled_plugins", $plugin, "site", "", 10, 0, "", $site_guid);
+ if ($enabled)
+ return true;
+
+ return false;
+ }*/
/**
* Run once and only once.