Онлайн-руководство разработчика NetCat
Новогодние скидки до 25%!
Подробнее
Модуль «Поиск по сайту» 12.2.1Начало работы с модулем 12.2.2Язык запросов 12.2.3Способы хранения индекса 12.2.4Интерфейс модуля в панели управления сайтом 12.2.5Области индексирования 12.2.6Области HTML-страниц 12.2.7Области поиска на сайте 12.2.8Индексирование по расписанию, запуск индексирования в фоновом режиме 12.2.9Правила индексирования 12.2.10Постановка задачи переиндексирования в очередь 12.2.11Интеграция модуля в макеты дизайна сайта 12.2.12Простая форма поиска 12.2.13Расширенная форма поиска 12.2.14Вывод результатов поиска 12.2.15Стилизация списка подсказок 12.2.16Расширенные настройки 12.2.17Разработка расширений модуля 12.2.18Обзор архитектуры модуля 12.2.19Обработчики документов различных типов 12.2.20Текстовые фильтры 12.2.21Анализаторы текста 12.2.22Корректировщики запросов 12.2.23Подключение других поисковых систем 12.2.24Решение проблем с поиском 12.2.25Решение проблем с индексированием 12.2.26Справочник API

Функции модуля и константы

Константы

  • NC_AUTH_FRIEND = 1 — обозначает друг
  • NC_AUTH_BANNED = 2 — обозначает враг
  • NC_AUTHTYPE_LOGIN = 1 — авторизация по логину и паролю
  • NC_AUTHTYPE_HASH = 2 — авторизация по хэшу
  • NC_AUTHTYPE_EX = 4— авторизация через внешние сервисы
  • NC_AUTHTYPE_TOKEN = 8 — авторизация через токен
  • NC_AUTH_LOGIN_OK = 0— логин корректен
  • NC_AUTH_LOGIN_INCORRECT = 1 — логин некорректный
  • NC_AUTH_LOGIN_EXISTS =2 — такой логин уже есть

 

Функции модуля

nc_auth_add_relation ( $type, $Related_ID, $User_ID = 0 )

Добавляет отношение.

  • $type — тип: друг или враг.
  • $Related_ID — тот, к кому применяется отношение.
  • $User_ID — номер пользователя, по умолчанию текущий.

nc_auth_add_relation( NC_AUTH_FRIEND, 5 )
Пользователь с номером 5 становится другом текущего пользователя.

nc_auth_add_friend ( $Related_ID, $User_ID = 0 )
Пользователь Related_ID становится другом пользователя User_ID.

nc_auth_add_bann ( $Related_ID, $User_ID = 0 )
Пользователь Related_ID становится врагом пользователя User_ID.

nc_auth_get_all_relation ( $User_ID = 0 )
Функция возвращает все отношения пользователя (по умолчанию — текущего) в виде массива: НомерПользователя => ТипОтношения.

nc_auth_get_all_friend ( $User_ID = 0 )
Возвращает в виде массива всех пользователей, являющихся друзьями пользователя $User_ID.

nc_auth_get_all_banned ( $User_ID = 0 )
Возвращает в виде массива всех пользователей, являющихся врагами пользователя $User_ID.

nc_auth_is_friend ( $Related_ID, $User_ID = 0 )
Функция позволяет узнать, является ли пользователь $Related_ID другом User_ID.

nc_auth_is_banned ( $Related_ID, $User_ID = 0 )
Функция позволяет узнать, является ли пользователь $Related_ID врагом User_ID.

nc_auth_get_relation ( $Related_ID, $User_ID = 0 )
Функция позволяет узнать тип отношения между пользователями. Если Related_ID является другом User_ID, то функция вернет NC_AUTH_FRIEND, если врагом — NC_AUTH_BANNED, если никем — то 0.

nc_auth_is_mutual ( $Related_ID, $User_ID = 0 )
Функция вернет NC_AUTH_FRIEND, если пользователи взаимные друзья, NC_AUTH_BANNED - если пользователи взаимные враги и 0 в остальных случаях.

nc_auth_delete_relation ( $Related_ID, $User_ID = 0 )
Функция удаляет отношение между пользователями Related_ID и User_ID.

 

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

Покажем, как можно использовать этот функционал для ограничения вывода контента определенным пользователям. Допустим, у нас на сайте в некоторые разделы пользователи могут сами добавлять объекты (новости, личные блоги) и необходимо показывать эти сообщения только друзьям. Тогда в соответствующем компоненте в «объекте в списке» нужно применить конструкцию такого плана:

<?=( $AUTH_USER_ID &&( $AUTH_USER_ID == $f_UserID || nc_auth_is_friend($AUTH_USER_ID, $f_UserID) )? "вывод сообщения" : "")?>
  • $AUTH_USER_ID – содержит номер текущего авторизированного пользователя.
  • $f_UserID – номер пользователя – автора (владельца) сообщения.
Описание проекта