+ $page->assign('skins', XDB::iterator($sql));
+ }
+
+ function handler_exit(&$page, $level = null)
+ {
+ if (S::has('suid')) {
+ $a4l = S::v('forlife');
+ $suid = S::v('suid');
+ $log = S::v('log');
+ S::logger()->log("suid_stop", S::v('forlife') . " by " . $suid['forlife']);
+ Platal::session()->stopSUID();
+ pl_redirect('admin/user/' . $a4l);
+ }
+
+ if ($level == 'forget' || $level == 'forgetall') {
+ setcookie('ORGaccess', '', time() - 3600, '/', '', 0);
+ Cookie::kill('ORGaccess');
+ if (isset($_SESSION['log']))
+ S::logger()->log("cookie_off");
+ }
+
+ if ($level == 'forgetuid' || $level == 'forgetall') {
+ setcookie('ORGuid', '', time() - 3600, '/', '', 0);
+ Cookie::kill('ORGuid');
+ setcookie('ORGdomain', '', time() - 3600, '/', '', 0);
+ Cookie::kill('ORGdomain');
+ }
+
+ if (isset($_SESSION['log'])) {
+ $ref = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
+ S::logger()->log('deconnexion',$ref);
+ }
+ Platal::session()->destroy();
+
+ if (Get::has('redirect')) {
+ http_redirect(rawurldecode(Get::v('redirect')));
+ } else {
+ $page->changeTpl('platal/exit.tpl');
+ }
+ }
+
+ function handler_review(&$page, $action = null, $mode = null)
+ {
+ require_once dirname(__FILE__) . '/platal/review.inc.php';
+ $dom = 'Review';
+ if (@$GLOBALS['IS_XNET_SITE']) {
+ $dom .= 'Xnet';
+ }
+ $wp = new PlWikiPage($dom . '.Admin');
+ $conf = explode('%0a', $wp->getField('text'));
+ $wiz = new PlWizard('Tour d\'horizon', 'core/plwizard.tpl', true);
+ foreach ($conf as $line) {
+ $list = preg_split('/\s*[*|]\s*/', $line, -1, PREG_SPLIT_NO_EMPTY);
+ $wiz->addPage('ReviewPage', $list[0], $list[1]);
+ }
+ $wiz->apply($page, 'review', $action, $mode);