Skip to content

Releases: Kanonimpresor/userlanguage_flags_menu

v3.0.0 — Custom Dropdown UI, Security Fixes & User Guide

Choose a tag to compare

@Kanonimpresor Kanonimpresor released this 05 Apr 09:46

🚀 Userlanguage Flags Menu v3.0.0

Major release with a completely redesigned language selector, security hardening, and a built-in admin User Guide.

✨ New Features

  • Custom dropdown selector — Replaced native <select> with an interactive HTML dropdown showing [🏳️ flag + language name + ▾ chevron] per option
  • Two presentation modes — shortcode (compact inline) and menu (larger, e107 sidebar style)
  • Auto-switch on click — Language changes instantly when selecting an option — no "Select" button needed
  • Built-in User Guide — 4-tab admin guide (Overview, Configuration, Shortcode, Troubleshooting)
  • Portuguese translation — Full admin translation added
  • Multi-language README — Available in English, Español, Português

🔒 Security Fixes

  • XSS protection — e_SELF and e_QUERY sanitized with htmlspecialchars()
  • e107_INIT guard — Added to e_help.php to prevent direct access
  • Safe redirects — Replaced raw header() calls with e107::redirect()

🐛 Bug Fixes

  • Fixed dropdown not opening (e107::js() type corrected from footer_inline to footer-inline)
  • Fixed double <script> tag wrapping in JS injection
  • Fixed flag alignment not working (moved align class to wrapper <div>)
  • Fixed $plugTemplate → $plugTemplates property name
  • Fixed lanflags_aling → lanflags_align typo
  • Fixed undefined $ns → e107::getRender()
  • Removed "center" alignment option (non-functional)
  • Eliminated duplicate code via shortcode delegation (DRY)

📁 What Changed

  • 29 files changed — +2,614 additions / -451 deletions
  • New: css/, shortcodes/batch/, CHANGELOG.md, language subfolders, guide template
  • Rewritten: e_shortcode.php, admin_config.php, userlanguage_flags_menu.php, templates
  • Replaced: plugin icons (images/userlanguage_*.png)

📋 Requirements

  • e107 CMS v2.4.0+
  • PHP 8.0+
  • At least 2 languages installed

📖 Full Changelog

See CHANGELOG.md for the complete list of changes.