return is_numeric($i) ? intval($i) : $default;
}
+ public static function t($key, $default = '')
+ {
+ return trim(S::s($key, $default));
+ }
+
+ public static function blank($key, $strict = false)
+ {
+ if (!S::has($key)) {
+ return true;
+ }
+ $var = $strict ? S::s($key) : S::t($key);
+ return empty($var);
+ }
+
public static function l(array $keys)
{
return array_map(array('S', 'v'), $keys);
public static function has_perms()
{
- return Platal::session()->checkPerms(PERMS_ADMIN);
+ // XXX: Deprecated, use S::admin() instead
+ return self::admin();
}
public static function logged()
return S::i('auth', AUTH_PUBLIC) >= Platal::session()->sureLevel();
}
+ public static function admin()
+ {
+ return Platal::session()->checkPerms(PERMS_ADMIN);
+ }
+
+ public static function suid($field = null, $default = null)
+ {
+ if (is_null($field)) {
+ return !S::blank('suid');
+ } else {
+ $suid = S::v('suid', array());
+ if (!empty($suid) && isset($suid[$field])) {
+ return $suid[$field];
+ } else {
+ return $default;
+ }
+ }
+ }
+
// Anti-XSRF protections.
public static function has_xsrf_token()
{
}
}
+ public static function hasAuthToken()
+ {
+ return !S::blank('token');
+ }
+
public static function rssActivated()
{
+ // XXX: Deprecated, to be replaced by S::hasToken()
return S::has('core_rss_hash') && S::v('core_rss_hash');
}
}
file_put_contents($wiki_cache, $wikiAll);
} elseif ($cache_exists) {
$wikiAll = file_get_contents($wiki_cache);
- } elseif (S::has_perms()) {
+ } elseif (S::admin()) {
$wikiAll = "<p>La page de wiki $n n'existe pas. "
. "Il te suffit de <a href='" . str_replace('.', '/', $n) . "?action=edit'>l'éditer</a></p>";
} else {
$page->assign('perms_opts', PlWikiPage::permOptions());
$page->assign('canedit', $wp->canWrite());
-$page->assign('has_perms', S::has_perms());
+$page->assign('has_perms', S::admin());
$page->assign('wikipage', str_replace('.', '/', $n));
if (!$feed && $wp->writePerms() == 'admin' && !Env::v('action') && $wiki_exists) {
function handler_get_rights(&$page, $level)
{
- if (S::has('suid')) {
+ if (S::suid()) {
$page->kill('Déjà en SUID');
}
-
- if (isset($_SESSION['log'])) {
- S::logger()->log("suid_start", "login by " . S::user()->login());
- }
Platal::session()->startSUID(S::i('uid'), $level);
pl_redirect('/');