Функция cot_build_user в Cotonti

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


Подробное объяснение:


/**
 * Returns link to user profile
 *
 * @param int $id User ID
 * @param string $userName User name
 * @param mixed $extraAttributes Extra link tag attributes as a string or associative array,
 *        e.g. ['class' => 'user-group-admin']
 * @return string
 */
function cot_build_user($id, $userName, $extraAttributes = '')
{
    $id = (int) $id; // Приводим ID к целому числу.

    // Если существует функция cot_build_user_custom, вызываем её.
    if (function_exists('cot_build_user_custom')) {
        return cot_build_user_custom($id, $userName, $extraAttributes);
    }

    // Проверяем, пусто ли имя пользователя, если да, то заменяем на '?'.
    $userName = !empty($userName) ? htmlspecialchars($userName) : '?';

    // Если ID пользователя равен 0, возвращаем имя пользователя.
    if (!$id) {
        return $userName;
    }

    // Возвращаем ссылку на профиль пользователя.
    return cot_rc_link(
        cot_url('users', ['m' => 'details', 'id' => $id, 'u' => $userName]),
        $userName,
        $extraAttributes
    );
}

Разбор:
Параметры функции:

$id: ID пользователя (целое число).
$userName: Имя пользователя (строка).
$extraAttributes: Дополнительные атрибуты для тега ссылки, переданные строкой или массивом.

Проверка наличия функции cot_build_user_custom:

Если эта функция определена, она вызывается вместо стандартного поведения.
Очистка имени пользователя:

Если имя пользователя пустое, устанавливается значение '?'.
Функция htmlspecialchars используется для предотвращения XSS-атак.
Проверка ID:

Если ID равен 0, возвращается только имя пользователя без ссылки.
Создание ссылки:

Используется cot_rc_link для генерации ссылки с заданным URL и атрибутами.

Пример использования:

'LIST_ROW_OWNER' => cot_build_user($pag['page_ownerid'], $pag['user_name']),

или так

echo cot_build_user(123, 'JohnDoe', ['class' => 'user-link']);

 

Вернет:

<a href="users.php?m=details&id=123&u=JohnDoe" class="user-link">JohnDoe</a>


 

 

 

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

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

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

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

Administrator

Оффлайн

Administrator

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

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