File size: 1.29Kb
<?php
/**
* Управление доступом в админку
*/
abstract class dpanel {
/**
* Проверка страницы капчей
*/
static function check_access() {
if (self::is_access()) {
self::access();
} else {
header("Location: /dpanel/login.php?return=" . URL . '&' . SID);
exit;
}
}
/**
* Проверяет, была ли введена капча
* @return bool
*/
static function is_access() {
return cache_dpanel_access::get(self::key());
}
/**
* Разрешает доступ
*/
static function access() {
cache_dpanel_access::set(self::key(), true, 3600);
}
/**
* Удаляет разрешение на доступ
*/
static function access_delete() {
cache_dpanel_access::set(self::key(), false, 1);
}
/**
* Ключ идентификации пользователя, для которого разрешается доступ
* @global dcms $dcms
* @global user $user
* @return string
*/
static function key() {
global $dcms, $user;
return 'dpanel.access.' . $user->id . '.' . (string) $dcms->ip_long . '.' . (string) $dcms->browser;
}
}