is_user_access()

Проверяет права доступа пользователя по group_access, возвращает true в случае успеха, и false если группа пользователя не имеет прав.

$access (array, string) — Права доступа, можно указать несколько значений в виде массива

$user_id — ID пользователя, по умолчанию текущий пользователь

Использование

// Синтаксис
is_user_access($access, $user_id)

// Пример
if (is_user_access('adm_panel_show')) {
     // Пользователь от которого идет запрос может видеть админку
}

// Пример с ID пользователя
if (is_user_access('adm_panel_show', 12)) {
    // Пользователь с ID 12 может видеть админку
}

Код функции

function is_user_access($access, $user_id = '')
{
    if ($user_id == '')
        $user = get_user(get_user_id());
    else
        $user = get_user($user_id);

    if (!isset($user['group_access']) || $user['group_access'] == null) {
        return false; 
    }

    if (!is_array($access)) {
        $access = array($access); 
    }

    $is_group_access = db::count("SELECT COUNT(`id_group`) FROM `user_group_access` WHERE `id_group` = '" . $user['group_access'] . "' AND `id_access` IN('" . join("', '", $access) . "')"); 

    return ($is_group_access ? true : false);
}