Функция cot_block используется для блокировки пользователя, если он не имеет разрешения на доступ к странице.
Она проверяет переданное значение $allowed и, если оно false, перенаправляет пользователя на страницу с сообщением о запрете доступа.
Код функции
/**
* Block user if he is not allowed to access the page
*
* @param bool $allowed Authorization result
* @return bool
*/
function cot_block($allowed)
{
if (!$allowed) {
global $sys, $env;
$env['status'] = '403 Forbidden';
cot_redirect(cot_url('message', 'msg=930&' . $sys['url_redirect'], '', true));
}
return false;
}
Описание функции:
$allowed (bool): Результат проверки авторизации.
Если false, доступ запрещён, и пользователь будет перенаправлен на соответствующую страницу.
Возвращаемое значение:
Возвращает false в любом случае.
Логика работы функции:
Проверка разрешения: Если $allowed равно false, то выполняется блокировка доступа.
if (!$allowed) {
Установка статуса и редирект:
При блокировке функции устанавливается статус ответа 403 Forbidden и происходит перенаправление пользователя на страницу с сообщением о запрете.
$env['status'] = '403 Forbidden';
cot_redirect(cot_url('message', 'msg=930&' . $sys['url_redirect'], '', true));
Возвращение значения:
В любом случае функция возвращает false, что может быть полезно для логики дальнейшего кода.
return false;
Пример использования:
Если необходимо заблокировать пользователя, если он не прошёл проверку на доступ, функция будет вызвана так:
cot_block(cot_auth('page', 'read'));
В этом примере функция cot_auth проверяет права доступа пользователя на чтение страницы, и если они отсутствуют, сработает cot_block, блокирующая доступ.
Заключение:
Функция cot_block — простой и эффективный способ управления доступом к ресурсам в Cotonti, обеспечивая перенаправление на страницу с сообщением о запрете при отсутствии необходимых прав.