Функция cot_build_group в Cotonti

Разберем функцию cot_build_group, которая создает ссылку на группу пользователей или возвращает название группы.
Функция cot_build_group динамически создает ссылку на группу пользователей, обрабатывая различные случаи, включая скрытые группы и наличие кастомных названий.

Код функции и Подробное объяснение:

/**
 * Returns group link (button)
 *
 * @param int $grpid Group ID
 * @param bool $title Return group title instead of name
 * @return string
 */
function cot_build_group($grpid, $title = false)
{
    global $cot_groups, $L;

    // Проверяем, передан ли валидный ID группы и существует ли такая группа в массиве $cot_groups
    if (empty($grpid) || empty($cot_groups[$grpid])) {
        return '';
    }

    // Определяем, что возвращать: название группы (title) или имя группы (name)
    $type = ($title) ? 'title' : 'name';

    // Проверяем, является ли группа скрытой
    if ($cot_groups[$grpid]['hidden']) {
        // Если пользователь имеет права администратора, показываем ссылку с пометкой 'Hidden'
        if (cot_auth('users', 'a', 'A')) {
            return cot_rc_link(
                cot_url('users', 'gm=' . $grpid),
                $cot_groups[$grpid][$type] . ' (' . $L['Hidden'] . ')'
            );
        } else {
            // Если пользователь не администратор, возвращаем просто текст 'Hidden'
            return Cot::$L['Hidden'];
        }
    } else {
        // Проверяем, существует ли кастомное название для группы, если да, то возвращаем его
        if ($type == 'title' && isset(Cot::$L['users_grp_' . $grpid . '_title'])) {
            return cot_rc_link(
                cot_url('users', 'gm=' . $grpid),
                Cot::$L['users_grp_' . $grpid . '_title']
            );
        }
        // Если группа не скрыта, возвращаем стандартное название или имя группы
        return cot_rc_link(
            cot_url('users', 'gm=' . $grpid),
            $cot_groups[$grpid][$type]
        );
    }
}

Что делает эта функция:
Проверка параметров:

Проверяет, передан ли ID группы и существует ли группа в массиве $cot_groups.
Если группа не найдена, возвращается пустая строка.
Определение типа отображаемого текста:

Если $title установлен в true, возвращается название группы (title), иначе — имя группы (name).
Обработка скрытых групп:

Если группа скрыта, проверяется, является ли текущий пользователь администратором:
Если да, возвращается ссылка с пометкой "Hidden".
Если нет, возвращается просто текст "Hidden".
Обработка названий группы:

Если группа не скрыта, функция проверяет наличие кастомного названия группы в языковом массиве.
Если кастомное название найдено, возвращается оно, иначе — стандартное имя или название группы.


Создание ссылки:

Для создания ссылки используется функция cot_rc_link, которая формирует HTML-ссылку с указанным URL и текстом.

 

2 минут чтения Administrator

Комментарии (0)

Комментарии отсутствуют
Добавление комментариев доступно только зарегистрированным пользователям

Автор контента

Administrator

Оффлайн

Administrator

Последняя авторизация: 05.07.2026 18:32

  • Страница размещена: 21.01.2025 20:01
  • Последнее обновление: 21.01.2025 20:55