X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2FBarrel.php;h=21dd5c2ac3ef726e6d33a1a152d3ba2cddf397ca;hb=aa2b3c612a87840b35e26fa1cb36896dbeebc313;hp=aab8e3f4ef2dba9ae5d5a1c946eb559fff373557;hpb=7aff44b2a3193e43aedfd7bf7fc3801bcffcf3e0;p=diogenes.git diff --git a/include/Barrel.php b/include/Barrel.php index aab8e3f..21dd5c2 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. @@ -165,12 +164,14 @@ class Diogenes_Barrel $homepage = mysql_insert_id(); $globals->db->query("update {$alias}_page set location='',title='Home',perms='public' where PID='$homepage'"); - /* create home page & copy CSS template */ + /* create home page */ $rcs = new $globals->rcs($caller,$alias,$_SESSION['session']->username,true); $rcs->newdir("",$homepage); $rcs->commit($homepage,$globals->htmlfile,""); - $rcs->commit($homepage,$globals->cssfile, - file_get_contents("{$globals->root}/{$globals->cssfile}") ); + + /* copy CSS template */ + $def_css = file_get_contents("{$globals->root}/styles/{$globals->barrel_style_sheet}.css"); + $rcs->commit($homepage,$globals->cssfile, $def_css); } @@ -245,6 +246,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 +328,7 @@ class Diogenes_Barrel } - /** Load all active plugins for the specified page. + /** Load all plugins for the specified page. * * @param $bpage */ @@ -317,11 +336,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; }