[AVP] Admin Panel: Personal start page
======================================

1.3.0 (2026-10-22)
------------------
* Иконка звёздочки перенесена в верхнюю панель админки — слева от
  колокольчика уведомлений (через хук menu:top_bar_right).
* Убран старый блок из подвала контента (hooks/index/actions.post.tpl).
* Иконка остаётся прозрачной кнопкой со звёздочной иконкой; AJAX-отклик
  без перезагрузки страницы сохранён (cm-ajax + data-ca-target-id).
* Отправка форм остаётся urlencoded — работает в обход временного
  ограничения multipart/form-data на хостинге.

1.2.0 (2026-10-22)
------------------
* Безопасность: устранены reflected open redirect (delete_start_page),
  CSRF на GET-запросах и сохранение внешних URL.
  Запросы save/delete теперь только POST с проверкой security_hash.
* URL стартовой страницы валидируется: только внутренние ссылки админки
  с dispatch-параметром (fn_avp_csp_normalize_url).
* SQL-запрос убран из шаблона, логика вынесена в func.php.
* Схема: avp_csp_url теперь varchar(2048) NOT NULL DEFAULT ''
  (TEXT DEFAULT '' несовместим с MySQL < 8.0.13).
* Звёздочка переключается через AJAX без перезагрузки страницы.

1.1.1
-----
* Первая рабочая версия.

1.3.7 (23.10.2026)
- Убрана дублирующая CSRF-проверка в контроллере: она сверяла токен
  с источником, пустым в контексте пре-контроллера, и отбрасывала
  валидные запросы. CSRF для POST валидируется ядром в fn_dispatch.
- Канонический нормализатор URL: обе стороны сравнения (запись и чтение)
  приводятся к одному виду; принимаются короткие dispatch-адреса;
  вычищаются security_hash/current_url/result_ids; служебные режимы
  самого аддона в БД не сохраняются.

1.3.9 (23.10.2026)
- Иконка заменена на SVG (закладка со звездой, icons8): инлайн в шаблон,
  цвет наследуется через currentColor, размер 32. Пустая/заполненная —
  контурная/залитая закладка соответственно.
- Исправлено удвоение контейнера: обёртка с id="avp_csp_button" перенесена
  в hook-шаблон, AJAX-фрагмент теперь содержит только содержимое кнопки —
  вложенных контейнеров с одинаковым id больше не возникает.
- Выравнивание: margin 12px 0 0 у контейнера.
1.4.0 (2026-10-23)
- margin контейнера #avp_csp_button: 16px 0px 0px
- размер SVG-иконки: 28x28
- мобильный фикс: @media (max-width: 767px) уменьшает gap
  у .top-bar__right до 6px (стили встроены в hook-шаблон,
  файлы админ-темы не изменяются)
