=== Inomarker ===
Авторы: inomarker_team
Теги: иностранный агент, экстремист, террорист, маркировка, СМИ
Требуется как минимум: 5.5
Протестировано до: 6.9
Требуется PHP: 7.4
Стабильный тег: 1.3.1
Лицензия: GPL версии 2 или более поздней
URI лицензии: https://www.gnu.org/licenses/gpl-2.0.html

Автоматически помечает упоминания иностранных агентов, террористов и экстремистов в вашем тексте, помогая вам соблюдать правила маркировки.

== Описание ==

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

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

Плагин Inomarker упрощает этот процесс.

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

Ключевые функции:

- Автоматическая маркировка: Плагин автоматически обнаруживает и помечает упоминания на вашем сайте на основе загруженной базы данных.
- Три реестра в одном: работает со списками иностранных агентов, террористов и экстремистов.
- Безопасная маркировка: использует DOM-анализатор для изменения только текстового содержимого, не нарушая HTML-макет, ссылки или короткие коды.
- Два режима маркировки:
    1. Заголовок: Иван Иванов (лицо, выполняющее функции иностранного агента).
    2. Сноски (*): Иван Иванов* с автоматически сгенерированным блоком сносок в конце статьи.

Этот плагин является инструментом, предназначенным для оказания помощи администраторам веб-сайтов в соблюдении требований к маркировке. Хотя Inomarker стремится поддерживать базу данных в актуальном состоянии, этот плагин не гарантирует 100% соблюдения законодательства или абсолютной защиты от штрафов.

- Окончательная ответственность за соблюдение всех применимых законов и нормативных актов лежит на владельце/администраторе веб-сайта.
- Плагин действует как средство автоматизации и должен использоваться как часть более широкой стратегии обеспечения соответствия требованиям.

Для этого плагина требуется активная подписка на "Виджет" на веб-сайте https://inomarker.ru .

== Внешний сервис ==

Для правильной работы этого плагина требуется сторонний сервис Inomarker.ru. Плагин выступает в качестве соединителя с этим сервисом для получения и обновления базы данных иностранных агентов, террористов и экстремистов.

Подробная информация об услуге:
- Провайдер: Inomarker.ru
- URL сервиса: https://inomarker.ru

Передача данных:
Плагин отправляет HTTP-запросы к Inomarker API в следующих двух случаях:

1. Проверка лицензии:
    - Когда: Каждый раз, когда вы нажимаете "Сохранить изменения" в настройках плагина.
    - Конечная точка: `https://inomarker.ru/api/v1/plugin/validate`
    - Отправленные данные: ваш "Ключ API" (указанный в настройках) и "Доменное имя" вашего веб-сайта.
    - Цель: Убедиться, что ваша подписка активна и соответствует домену, на котором установлен плагин.

2. Синхронизация базы данных:
    - Когда: Автоматически раз в день (через WP-Cron) или после активации плагина.
    - Конечная точка: `https://inomarker.ru/api/v1/plugin/regex-data`
    - Отправленные данные: Ваш `Ключ API`.
    - Цель: Загрузить последний список лиц и организаций (сохраненный локально как "inomarker-data.json"), необходимый для текстовой маркировки.

== Условия и конфиденциальность ==

Используя этот плагин, вы соглашаетесь с условиями предоставления услуг Inomarker.ru .
- Условия предоставления услуг https://inomarker.ru/terms-of-use
- Политика конфиденциальности https://inomarker.ru/privacy-policy

== Установка ==

Для подключения плагина требуется активная подписка на продукт Widget в сервисе. Inomarker.ru .

**1. Установка через админ-панель WordPress:**

1. Перейдите в раздел "Плагины" -> "Добавить новый".
2. Введите "Inomarker" в поле поиска.
3. Нажмите "Установить", а затем "Активировать".

**2. Установка вручную (через ZIP-архив):**

1. Загрузите ZIP-архив плагина со страницы репозитория.
2. Перейдите в раздел "Плагины" -> "Добавить новый" -> "Загрузить плагин".
3. Выберите загруженный ZIP-архив и нажмите "Установить".
4. Активируйте плагин.

**3. После активации (обязательный шаг):**

1. Перейдите в "Настройки" -> "Inomarker" в своей админ-панели.
2. Скопируйте свой API-ключ виджета из личного кабинета на https://inomarker.ru/widgets .
3. Вставьте ключ в поле API-ключ виджета и нажмите Сохранить изменения.
4. Плагин автоматически свяжется с сервером Inomarker и подтвердит ваш ключ и домен.
5. Если вы видите статус "АКТИВЕН", вы можете включить плагин, используя переключатель "Статус плагина".
6. Выберите "Стиль разметки" (по умолчанию рекомендуется "В текстовом виде").
7. Готово! Плагин запустит фоновую загрузку данных и пометит ваши статьи.

== Часто задаваемые вопросы ==

= Замедлит ли этот плагин работу моего веб-сайта? =
Нет. Плагин разработан с учетом высокой производительности.
1. ** Загрузка данных:** Выполняется в фоновом режиме (WP-Cron) один раз в день, не влияя на скорость загрузки для пользователей.
2. **Пометка:** Выполняется на стороне сервера (PHP), а не в браузере (JS). Мы используем `DOMDocument` и `preg_replace_callback' для максимально быстрой обработки. Это намного быстрее, чем у JS-виджета.

= Что произойдет, если истечет срок действия моей подписки на Inomarker? =
Плагин автоматически обнаружит это во время ежедневной синхронизации. Оно:
1. **Отключает ** маркировку на сайте (переключает "inomarker_enabled` на `false").
2. ** Покажет вам большое уведомление в админ-панели о том, что срок действия подписки истек и пометка больше не работает.
3. ** Заблокирует ** возможность включения плагина до тех пор, пока вы не продлите подписку.

= Обязательно ли использовать стиль "сносок"? =
Нет. Самый безопасный и рекомендуемый способ - обозначить это "В тексте" (встроенно). Однако, по мнению медиа-юристов (например, из Центра защиты прав СМИ), использование сносок "*" также является приемлемой практикой. Мы предоставляем вам выбор.

= Почему нижний колонтитул для иностранных агентов (*) такой ОГРОМНЫЙ? =
Это не ошибка дизайна. Это ** прямое требование закона**. Согласно приказу Роскомнадзора № 124, шрифт для обозначения иностранного агента должен быть ** в два раза (2x) крупнее ** основного шрифта вашего сайта. Наш плагин автоматически применяет этот стиль, чтобы обеспечить соблюдение вами законодательства и защитить вас от штрафов.

= Будет ли плагин помечать текст в заголовках? =
Нет. Мы специально исключили заголовки (`<h1>`, `<h2>`, `<h3>`), ссылки (`<a>`), а также "<script>" и "<style>" из обработки, чтобы не нарушать ваш макет и ПОИСКОВАЯ оптимизация.

= Где хранятся данные? =
Плагин загружает файл "inomarker-data".json и безопасно сохраняет его в вашей папке `wp-content/uploads/`.

1. Страница настроек: Общий вид страницы "Inomarker" в панели администратора WordPress.
2. Статус "Активен": Карточка статуса с активной, подтвержденной подпиской.
3. Статус ошибки: Пример ошибки при вводе неверного ключа или несоответствии домена.
4. Пример пометки "Встроенный" (в тексте): Как выглядит пометка (в круглых скобках) в реальной статье.
5. Пример пометки "Сноски" (*): Как выглядит пометка (звездочками) в статье.
6. Заключительный блок сносок:** Демонстрация юридически корректного блока сносок в конце статьи с разными размерами шрифта.
7. Глобальное уведомление: Как выглядит предупреждение в панели администратора, если срок действия подписки истек.

== Список изменений ==

= 1.3.0 =

* Добавлена поддержка автоматических обновлений

= 1.2.1 =

* Обновлено описание readme для соответствия рекомендациям репозитория.

= 1.2.0 =
* Добавлена страница в панели с выводом всех ссылок, где выполняется автоматическое проставление меток + возможность исключить проставление меток определенного значения на выбранной странице

= 1.0.0 =
* Добавлена страница настроек в главном меню Inomarker.
* Реализована мгновенная проверка API-ключа и домена при сохранении.
* Добавлен фоновый процесс (WP-Cron) для ежедневной синхронизации статуса подписки и загрузки `данных".json".
* Основной механизм присвоения меток реализован на стороне сервера с использованием `DOMDocument` и `preg_replace_callback'.
* Добавлена защита от двойного присвоения меток (проверка на `*` или `(` после сопоставления).
* Добавлены два режима разметки: "В тексте" (inline) и "Сноски" (footnote).
* Плагин автоматически помечает публикации, страницы и выдержки (на главной странице, в архивах).
* Добавлено глобальное уведомление в админ-панели о просроченных подписках.
