Лента публикаций
Первая публикация, для всех!
🇷🇺 Улучшение плагина “Лента публикаций” — нормализация тегов
🆕 Краткое резюме (Summary of what's new)
- 🔧 Обновлены методы addTag и updateTag
- 🧹 Добавлена очистка тегов: удаление пробелов и приведение к нижнему регистру
- 🔄 Обновлён FeedController.php, чтобы применять те же правила при добавлении/обновлении публикаций
- ✨ В feeds.js добавлена клиентская нормализация тегов в формах
- 🔐 Правила применяются и на клиенте, и на сервере — полная консистентность данных
🔧 Ключевые изменения (Code changes)
🛠️ PHP (сервер)
- В методах addTag и updateTag теперь выполняется:
- ✂️ удаление всех пробелов
- 🔡 приведение к нижнему регистру
- В FeedController.php обновлены участки, где обрабатываются новые теги, чтобы использовать те же правила очистки
⚡ JavaScript (клиент)
- В feeds.js добавлены преобразования для полей ввода тегов:
- автоматическое удаление пробелов
- приведение к нижнему регистру
- единое поведение в формах добавления и редактирования публикаций
🔄 До / После (Before / After)
❌ Before
- Теги могли содержать пробелы
- Разные регистры создавали дубликаты (
JavaScript,javascript,JAVASCRIPT) - Поиск и фильтрация работали непоследовательно
- Клиент и сервер обрабатывали теги по-разному
✅ After
- Все пробелы удаляются автоматически
- Все теги приводятся к нижнему регистру
- Дубликаты больше не создаются
- Поиск и фильтрация стали точнее
- Клиент и сервер используют одинаковые правила
🎯 Преимущества для пользователей (Benefits for users)
- 🔍 Упрощённый поиск по тегам
- 🧭 Более точная фильтрация
- 🧼 Чистые и единообразные теги
- 🛡️ Нет дубликатов, нет путаницы
- ⚙️ Стабильная работа благодаря синхронной обработке на клиенте и сервере
📂 Обновлённые файлы (Updated files)
FeedController.phpfeeds.js- Методы
addTag()иupdateTag()в модели/классе тегов
🇬🇧 Improvement: “Feed Posts” Plugin — Tag Normalization
🆕 Summary of what's new
- 🔧 Updated addTag and updateTag methods
- 🧹 Added tag normalization: remove spaces + convert to lowercase
- 🔄 Updated FeedController.php to apply the same cleaning rules
- ✨ Added client‑side normalization in feeds.js
- 🔐 Rules now apply on both client and server for full data consistency
🔧 Key changes (Code changes)
🛠️ PHP (server)
- In addTag and updateTag, tags are now:
- ✂️ stripped of all spaces
- 🔡 converted to lowercase
- FeedController.php updated to apply the same logic when adding/updating posts
⚡ JavaScript (client)
- feeds.js now normalizes tag input fields:
- removes spaces
- converts to lowercase
- works in both create and edit forms
🔄 Before / After
❌ Before
- Tags could contain spaces
- Different casing created duplicates (
JavaScript,javascript,JAVASCRIPT) - Search and filtering were inconsistent
- Client and server processed tags differently
✅ After
- All spaces are removed automatically
- All tags are lowercase
- No more duplicates
- Search and filtering are more accurate
- Client and server follow the same rules
🎯 Benefits for users
- 🔍 Easier tag search
- 🧭 More accurate filtering
- 🧼 Clean, consistent tags
- 🛡️ No duplicates or confusion
- ⚙️ Stable behavior thanks to unified processing
📂 Updated files
FeedController.phpfeeds.js- Tag processing methods (
addTag,updateTag)
Исправление отображения HTML‑сущностей в публикациях — выполнено
🆕 Что нового (Summary of what's new)
- 🔧 Исправлена проблема, при которой в публикациях отображались HTML‑сущности (
",<,—) вместо нормального текста - 🔄 В двух ключевых местах заменён
htmlspecialcharsнаhtml_entity_decode - 🧹 Теперь текст публикаций отображается корректно, без иероглифов и закодированных символов
🔧 Ключевые изменения
📌 Где внесены правки:
- feed.php — декодирование статического контента
- modules/AuthorSubscriptions/src/Controllers/AuthorSubscriptionsController.php — декодирование динамически загружаемого контента
🛠️ Что было сделано:
- Удалено двойное экранирование HTML‑сущностей
- Восстановлено корректное отображение текста, включая кавычки, тире, спецсимволы
- Обеспечена единообразная обработка контента во всех сценариях загрузки
🔄 До / После (Before / After)
❌ Before
- Публикации содержали HTML‑сущности
- В тексте появлялись «иероглифы» и закодированные символы
- Динамически загруженные публикации отображались иначе, чем статические
✅ After
- Текст отображается в нормальном виде
- HTML‑сущности корректно декодируются
- Статический и динамический контент ведут себя одинаково
- UX стал чище и приятнее
🎯 Преимущества для пользователей (Benefits for users)
- 📖 Чистый, читаемый текст без артефактов
- 🔄 Единообразное отображение всех публикаций
- 🧼 Более профессиональный и аккуратный внешний вид ленты
- 💬 Улучшенное восприятие контента, особенно с кавычками, символами и форматированием
📂 Обновлённые файлы (Updated files)
feed.phpmodules/AuthorSubscriptions/src/Controllers/AuthorSubscriptionsController.php
🇬🇧 Fix: HTML Entities Display Issue in Feed Posts — Resolved
🆕 Summary of what's new
- 🔧 Fixed an issue where posts displayed HTML entities (
",<,—) instead of normal readable text - 🔄 Replaced
htmlspecialcharswithhtml_entity_decodein two critical locations - 🧹 Post content now renders correctly without strange symbols or encoded characters
🔧 Key improvements
📌 Updated locations:
- feed.php — static content decoding
- modules/AuthorSubscriptions/src/Controllers/AuthorSubscriptionsController.php — dynamic content decoding
🛠️ What was done:
- Removed double‑escaping of HTML entities
- Restored proper rendering of quotes, dashes, and special characters
- Ensured consistent behavior between static and dynamically loaded posts
🔄 Before / After
❌ Before
- Posts showed HTML entities instead of text
- Strange symbols appeared in content
- Static and dynamic posts behaved inconsistently
✅ After
- Text displays normally
- HTML entities are properly decoded
- Consistent rendering across all feed content
- Cleaner, more professional reading experience
🎯 Benefits for users
- 📖 Clean, readable post content
- 🔄 Consistent formatting everywhere
- 🧼 More polished and user‑friendly feed
- 💬 Better readability for posts with quotes, symbols, formatting
📂 Updated files
feed.phpmodules/AuthorSubscriptions/src/Controllers/AuthorSubscriptionsController.php