- $args = func_get_args();
- foreach ($this->__mods as $mod) {
- if (!is_callable($mod, 'on_subscribe'))
- continue;
- call_user_func_array(array($mod, 'on_subscribe'), $args);
+ $page =& self::page();
+
+ $this->__mods['core']->handler_403($page);
+ $page->assign('platal', $this);
+ $page->run();
+ }
+
+ public function error404()
+ {
+ $page =& self::page();
+
+ $this->__mods['core']->handler_404($page);
+ $page->assign('platal', $this);
+ $page->run();
+ }
+
+ public static function notAllowed()
+ {
+ if (S::admin()) {
+ self::page()->trigWarning('Tu accèdes à cette page car tu es administrateur du site.');
+ return false;
+ } else {
+ return true;
+ }
+ }
+
+ public static function load($modname, $include = null)
+ {
+ global $platal;
+ $modname = strtolower($modname);
+ if (isset($platal->__mods[$modname])) {
+ if (is_null($include)) {
+ return;
+ }
+ $platal->__mods[$modname]->load($include);
+ } else {
+ if (is_null($include)) {
+ require_once PLModule::path($modname) . '.php';
+ } else {
+ require_once PLModule::path($modname) . '/' . $include;
+ }
+ }
+ }
+
+ static public function &page()
+ {
+ global $platal;
+ if (is_null(self::$_page)) {
+ $pageclass = PL_PAGE_CLASS;
+ self::$_page = new $pageclass();