[XB] Verification Badges: User Roles & Achievements

[XB] Verification Badges: User Roles & Achievements 2.1.0

No permission to buy ($35.00)
banner.webp


🏅 Badge Expiry, Ownership & Complete History!​

This update significantly expands badge management with expiry and renewal workflows, multiple badge owners, detailed badge history, and more flexible automatic award retention. It also introduces a new verification badge catalog, personalized progress tracking, and improved ACP tools.

Important: This version now requires [XB] Core Library.
⚠️ This is a major update. Please take a full backup before installing it on a production site. ⚠️

✨ New Features​

  • Added optional badge expiry dates with renewal requests, reminders, and management from the My Badges account page.
  • Added badge renewal support, allowing badge owners to renew recipients while preserving remaining validity or starting a new term after expiry.
  • Added support for multiple badge owners who can assign and remove manually awarded badges from their account.
  • Added ACP Badge History with filters, reasons, actor details, and related request links.
  • Added optional logging of automatic badge changes with configurable retention and automatic cleanup (disabled by default).
  • Added permanent and conditional retention modes for automatically awarded badges.
  • Added a Verification Badges help page with category visibility controls and four display layouts.
  • Added optional personalized progress section to My Verification Badges, showing measurable automatic-award requirements and direct request actions.
  • Added current badge owner counts and paginated owner lists with a separate viewing permission.
  • Added a live ACP badge preview for usernames, posts, and tooltips using unsaved appearance settings.
  • Added a Font Awesome icon picker to the badge editor.
  • Added an option to copy an existing badge into a pre-filled new badge form.
  • Added an option to limit the length of badge and renewal request messages (10,000 characters by default).
  • Added moderator permissions for editing their own verification badges and the badges of administrators and moderators. Moderators no longer have either ability until it is granted; administrators are not affected.
  • Added individual badge expiry controls for administrators and authorized moderators. Existing badge awards remain unlimited after upgrading.

🔧 Improvements​

  • Restricted request attachment changes to the member who submitted the pending request.
  • Restored attachment uploads when submitting badge and renewal requests.
  • Fixed automatic badge checks skipping inactive members when the cron interval is set to zero.
  • Preserved a category display order of zero when importing badge XML files.
  • Prevented unrelated ACP user edits from removing verification badges when the badge editor is absent from the submitted form.
  • Badge XML exports now preserve automatic awarding rules and retention settings.
  • Prevented request attachments from being changed after a request is decided or cancelled.
  • Allowed expired badges to be requested again when the member cannot use badge renewal.
  • Badge history now records the administrator who initiated a user merge.
  • Members are now alerted when their badge request is approved from the approval queue.
  • Verification badges can now be assigned when creating a member in the ACP.
  • Automatic badge checks now run as a resumable background job, so large forums no longer risk cron timeouts.
  • Cancelled requests are now always kept with the Cancelled status; the cooldown option only controls whether they count towards the request cooldown.
  • Fixed the tooltip of a member's own badge failing to load when its category is hidden from them.
  • The My Verification Badges page and its account links now respect the badge viewing permission.
  • Bulk badge actions in the ACP now show their progress and return to an up-to-date badge list.
  • Merging members no longer leaves the target member with more than one pending badge request.
  • Members can now view attachments of their own badge requests.
  • Badge tooltips now close instead of waiting indefinitely when their details cannot be loaded.
  • The ACP request log now links request authors only for administrators who can edit users.
  • Rebuilding award dates no longer replaces the date of a badge that was removed and awarded again later.
  • Fixed date presets in the ACP request filter when the filter menu is opened more than once.
  • Uninstalling the add-on now removes request field titles, descriptions and choices.

Do you like this update?​
​

​


⭐ Please consider sharing your experience with a short review ⭐
Every bit of feedback matters!​
pub_account_managed_verification_badges.webp
pub_account_verification_badges.webp
pub_account_verification_badges_manage.webp

account_request_form.webp
admin_badge_edit.webp
admin_badge_list.webp
admin_verification_bade_history.webp
Increased templater class extension execution order to avoid conflicts with some 3rd party add-ons
Fixed "Element.querySelectorAll is not a valid selector" error in ACP awarded content badges log
Trigger badge info preview tooltip on hover and click
Removed unused alert opt out action

​

  • Added badge visibility criteria (set up in category options) and permission to bypass it
  • Added cron job to force badge awarding for inactive users
  • Fixed incorrect phrase key in relation Category MasterTitle
Fixed spamming with alerts when updating verification badges
  • XF 2.3 support
  • Fix: show correct error if there no badges available
  • Fix: has/has no badges user criteria work
  • Like
Reactions: Andy.N
2.0.2:

New features:

  • Added "Has/no at least X verification badges", "Has specific verification badges" user criteria
  • Added option to enable user alerts on automatic badges updates
Fixes:
  • Apply default CSS rules for external image URLs
  • Use "@xf-linkColor" as default FA icon color to keep the appearance consistent everywhere
2.0.1 Patch Level 5:
  • Fix: button to view detailed request info in ACP logs
  • Fix: remove dummy column in request table without default value
  • Fix: avoid "array_diff(): Argument #1 ($array) must be of type array, null given" errors
2.0.1 Patch Level 2:

  • Fix: custom fields display on "above message" position
  • Fix: "Unknown column 'reject_reason'" error on creating request
2.0.1 Patch Level 1:

  • Fix: incorrect custom fields route
  • Fix: generate default request requirements phrases for existing badges
Back
Top Bottom