X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fxorgpage.php;h=b132fe834adb4be48bd41b8b066f3cb1f7b8d9aa;hb=fda78a6777a5f385537fc9f291afb310e12525e5;hp=ad73b1d8194cb438053f33c7eefa9cc2ea4bd4c1;hpb=64087a3430249f84d999be01219697c925c5c7f7;p=platal.git diff --git a/classes/xorgpage.php b/classes/xorgpage.php index ad73b1d..b132fe8 100644 --- a/classes/xorgpage.php +++ b/classes/xorgpage.php @@ -1,6 +1,6 @@ changeTpl('platal/index.tpl'); + if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) { + $this->addJsLink('json2.js'); + } + $this->addJsLink('jquery.xorg.js'); + $this->addJsLink('overlib.js'); + $this->addJsLink('core.js'); $this->addJsLink('xorg.js'); + if ($globals->core->sentry_js_dsn) { + $this->addJsLink('raven.min.js'); + } $this->setTitle('le site des élèves et anciens élèves de l\'École polytechnique'); + if (S::logged() && S::user()->checkPerms('admin')) { + $types = array(S::user()->type); + $perms = DirEnum::getOptions(DirEnum::ACCOUNTTYPES); + ksort($perms); + foreach ($perms as $type => $perm) { + if (!empty($perm) && $type != $types[0]) { + $types[] = $type; + } + } + $this->assign('account_types_list', $types); + + $skins = DirEnum::getOptions(DirEnum::SKINS); + asort($skins); + $this->assign('skin_list', $skins); + } + } + + /** Force the skin to use, bypassing user choice. + * Typically used for the 'register' page. + * @param $skin The skin to use. + */ + public function forceSkin($skin) + { + $this->forced_skin = $skin; + } + + /** Choose another 'default' skin. + * Typically used for the 'Auth Groupe X' login page. + * @param $skin The default skin to use. + */ + public function setDefaultSkin($skin) + { + $this->default_skin = $skin; } public function run() { global $globals, $platal; - if (isset($platal) && $platal->path == 'register') { - $skin = $globals->register_skin . ".tpl"; + if ($this->forced_skin !== null) { + $skin = $this->forced_skin . '.tpl'; } else { - $skin = S::v('skin', $globals->skin . ".tpl"); + if ($this->default_skin === null) { + $default_skin = $globals->skin; + } else { + $default_skin = $this->default_skin; + } + $skin = S::v('skin', $default_skin . '.tpl'); } $this->_run('skin/' . $skin); } } -// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8: ?>