X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2FBarrel.php;h=cc41014e676df1eaa7ee2eaa87b7b1edc077091b;hb=45df1dd0971fe187d1e70435dd67ecf1dfcf09f0;hp=aab8e3f4ef2dba9ae5d5a1c946eb559fff373557;hpb=7aff44b2a3193e43aedfd7bf7fc3801bcffcf3e0;p=diogenes.git diff --git a/include/Barrel.php b/include/Barrel.php index aab8e3f..cc41014 100644 --- a/include/Barrel.php +++ b/include/Barrel.php @@ -21,7 +21,6 @@ require_once 'Barrel/Page.php'; require_once 'Barrel/Options.php'; require_once 'diogenes/diogenes.flagset.inc.php'; -require_once 'Plugin/Skel.php'; /** This class describes a Diogenes Barrel. @@ -245,6 +244,24 @@ class Diogenes_Barrel } + /** List the plugins that are active in a given context + * + * @param $page + */ + function getPlugins($page = 0) + { + $plugins = array(); + foreach ($this->pluginsCache as $plug) + { + if ($plug['page'] == $page) + { + array_push($plugins, $plug); + } + } + return $plugins; + } + + /** Check whether the barrel has a given flag * * @param $flag @@ -309,7 +326,7 @@ class Diogenes_Barrel } - /** Load all active plugins for the specified page. + /** Load all plugins for the specified page. * * @param $bpage */ @@ -317,11 +334,12 @@ class Diogenes_Barrel { global $globals; - $plugins = $globals->plugins->cacheGetActive($this->pluginsCache, $this->alias, $page); + $plugins = $this->getPlugins($bpage->props['PID']); + $loaded = array(); - foreach ($plugins as $plugname => $plugentry) + foreach ($plugins as $plugentry) { - $loaded[$plugname] =& $globals->plugins->load($plugname, $plugentry); + $loaded[$plugentry['plugin']] =& $globals->plugins->load($plugentry); } return $loaded; }