Avatar
Posts 440 1967

Reputation

Reputation

Version1.0.4
TypePlugin
CategoryGamification
AuthorFred
common.licenseMIT
Flatboard5.2.0

A community reputation system for Flatboard. Members earn points for their contributions, unlock levels and badges, and see their score directly on posts and user profiles.


Features

  • Points system — Points are awarded for configurable events: discussion created, reply posted, reaction received, best answer received.
  • 10 levels — From Beginner (0 pts) to Transcendent (50 000 pts), each with a distinct colour and name. Levels are assigned automatically and displayed everywhere.
  • 19 badges / achievements — Automatically awarded at milestones across five categories: posts, reactions, best answers, level achievements, and special actions.
  • Score badge on posts — A coloured trophy badge showing the member's point total appears next to the post count on every post in threads and reply lists. It uses the icon and colour of the member's last earned badge, links to their Reputation profile tab, and shows a tooltip with the current level name.
  • Score + level on profile — A reputation row (score and current level) is injected into the user profile statistics card.
  • Reputation profile tab — A dedicated tab on every user profile shows points, current level with progress bar, earned badges, and the last 20 history entries. Opening the tab directly via ?tab=reputation is supported.
  • Full history page/reputation/history lists all reputation events for the logged-in user, paginated (20/page). Admins can view any user's history at /reputation/history/{userId}. The page title includes the username.
  • Badges catalogue/reputation/badges lists all available badges (earned vs locked) and all levels with their point thresholds.
  • Leaderboard/reputation/leaderboard ranks members by total points with configurable limit and pagination.
  • Admin panel — Configure point values per event, enable/disable badges, levels and leaderboard, and set leaderboard limits from Admin → Plugins → Reputation → Settings.
  • Recalculate — One-click reputation recalculation from the admin panel reconstructs points and badges from actual stored data.
  • Notifications — Members receive a notification when they earn a new badge or reach a new level.
  • Multilingual — French, English, German, Portuguese, Chinese Simplified.

Simplified.


Levels

#FR / ENMin. pointsColour
1Débutant / Beginner0#6c757d
2Actif / Active50#28a745
3Contributeur / Contributor200#17a2b8
4Expert / Expert500#ffc107
5Maître / Master1 000#dc3545
6Légende / Legend2 500#6f42c1
7Virtuose / Virtuoso5 000#e83e8c
8Immortel / Immortal10 000#fd7e14
9Suprême / Supreme25 000#dc3545
10Transcendant / Transcendent50 000#6610f2

Badges

IDFR / ENCategoryCondition
first_postPremier pas / First StepSpecialFirst post published
first_discussionDémarreur / StarterSpecialFirst discussion created
10_postsActif / ActivePosts10 posts published
50_postsContributeur / ContributorPosts50 posts published
100_postsExpert / ExpertPosts100 posts published
500_postsMaître / MasterPosts500 posts published
10_reactionsApprécié / AppreciatedReactions10 reactions received
50_reactionsPopulaire / PopularReactions50 reactions received
100_reactionsAdoré / BelovedReactions100 reactions received
first_best_answerOracle / OracleBest answersFirst best answer received
10_best_answersSage / SageBest answers10 best answers received
50_best_answersTitan / TitanBest answers50 best answers received
level_5Champion / ChampionLevelsReached level 5
level_6Légende / LegendLevelsReached level 6
level_7Virtuose / VirtuosoLevelsReached level 7
level_8Immortel / ImmortalLevelsReached level 8
level_9Suprême / SupremeLevelsReached level 9
level_10Transcendant / TranscendentLevelsReached level 10

Configuration

SettingDescriptionDefault
Points per discussionPoints earned when a member creates a discussion10
Points per replyPoints earned when a member posts a reply3
Points per reaction receivedPoints earned when another member reacts to your post1
Points per reaction givenPoints earned when you react to someone else's post0
Points per best answerPoints earned when your reply is marked as best answer20
Enable badgesAward badges on milestonesoff
Enable levelsDisplay levels based on pointsoff
Enable leaderboardShow the leaderboard pageoff
Leaderboard limitMaximum users ranked in the leaderboard50
Leaderboard per pageItems per page on the leaderboard20

Hooks registered

HookPurpose
router.plugins.registerRegister public routes (/reputation, /reputation/history, /reputation/badges, /reputation/leaderboard)
view.admin.sidebar.itemsAdd Reputation entry to the admin sidebar
view.users.profile.contentInject Reputation tab + tab content into user profiles
view.post.user.statsInject the score badge next to the post count in threads
view.profile.statsInject the score + level row in the profile statistics card
visitor.page_infoProvide page context for the presence indicator on reputation URLs
post.after_createAward points on new reply
discussion.after_createAward points on new discussion
reaction.after_createAward points on reaction received / given
best_answer.after_setAward points on best answer

Installation

  1. Download the plugin archive.
  2. Go to Admin → Plugins → Install a plugin and upload the .zip.
    Or extract the folder into plugins/Reputation/ and activate it from the admin panel.
  3. Configure point values and features via Admin → Plugins → Reputation → Settings.

Edited on  Mar 17, 2026  By  Fred .

  • points-system achievements leaderboard user-levels
Avatar
Posts 440 1967

1.0.5 — 2026-03-29

Changed

  • Added update_url and changelog_url fields to plugin.json. Flatboard now detects available updates and displays them in Admin Panel > Tools > Updates. The changelog_url links to the plugin's resource page on flatboard.org.
  • Updated minimum Flatboard requirement from >=5.0.0 to >=5.2.0 in plugin.json.
Avatar
Posts 102 520

Download after Payment not working. Blank Screen.

Avatar
Posts 440 1967

JPRuehmann
Thank you for your message.

We’re sorry for the inconvenience you experienced with the download after payment. The issue causing the blank screen has now been resolved.

You can try again, and the download should work normally this time. We recommend accessing it again via your confirmation email or by refreshing the original page.

We’ve also taken this opportunity to release a plugin update to prevent this issue from happening again and to improve overall stability.

If you still encounter any difficulties, please don’t hesitate to contact us and we’ll assist you promptly.

Thank you for your patience.

Best regards

1.0.9 — 2026-04-19

Fixed

  • Logged-in users shown "Se connecter" panel on reputation page — The sidebar condition was $userId && $userReputation. Users with zero activity have an empty reputation array ([]), which is falsy in PHP, so the logged-in block was skipped even for authenticated users. Changed the condition to $userId alone; the content already uses ?? 0 fallbacks so displaying 0 points is handled correctly. Files changed: views/index.php.

1.0.8 — 2026-04-18

Fixed

  • CSRF token not transmitted in the recalculate fetch — The admin "Recalculate reputation" button sends a JSON body; $_POST is empty for JSON requests and custom headers can be stripped by proxies. The token is now included in the JSON payload (csrf_token), and Controller::verifyCsrf() checks the JSON body as a fallback before the header. Files changed: views/dashboard.php.

1.0.7 — 2026-04-17

Security

  • CSRF on admin write endpointsverifyCsrf() added to saveConfig() and recalculateReputation(). The recalculate AJAX call in the admin dashboard view now sends the X-CSRF-Token header. Files changed: ReputationController.php, views/dashboard.php.
Visitor, reply to this topic…
Log in to reply
Navigation
4 Posts
post #1
17 Mar 2026
By Utilisateur
Statistics
169
Discussions
931
Replies
21
Flatboarders
8
Contributors
New member : Oula
Online
43 Guests online