Онлайн-руководство разработчика NetCat
Модуль «Поиск по сайту» 13.2.1Начало работы с модулем 13.2.2Язык запросов 13.2.3Способы хранения индекса 13.2.4Интерфейс модуля в панели управления сайтом 13.2.5Области индексирования 13.2.6Области HTML-страниц 13.2.7Области поиска на сайте 13.2.8Индексирование по расписанию, запуск индексирования в фоновом режиме 13.2.9Правила индексирования 13.2.10Постановка задачи переиндексирования в очередь 13.2.11Интеграция модуля в макеты дизайна сайта 13.2.12Простая форма поиска 13.2.13Расширенная форма поиска 13.2.14Вывод результатов поиска 13.2.15Стилизация списка подсказок 13.2.16Расширенные настройки 13.2.17Разработка расширений модуля 13.2.18Обзор архитектуры модуля 13.2.19Обработчики документов различных типов 13.2.20Текстовые фильтры 13.2.21Анализаторы текста 13.2.22Корректировщики запросов 13.2.23Подключение других поисковых систем 13.2.24Решение проблем с поиском 13.2.25Решение проблем с индексированием 13.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 – номер пользователя – автора (владельца) сообщения.
Описание проекта