Функция 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 minutes read Administrator

Comments (0)

No comments yet
Only registered users can post new comments

Article multicategories

Additional categories where this article is shown as similar.

Content author

Administrator

Offline

Administrator

Last logged: 2026-09-13 14:50

  • Page published: 2025-01-21 20:01
  • Last update: 2025-01-21 20:55