-
Improvement
-
Resolution: Fixed
-
Minor
-
3.1.5, 3.1.6, 3.2.0-a1
-
None
-
PHP 5.5.11, MySQL 5.6.16, Windows 8.1, Chrome 46.0.2490.86 m
Subject of https://area51.phpbb.com/phpBB/viewtopic.php?f=111&t=46453
core.modify_user_rank event in includes/functions_display.php at around line 1517 or 1523 (pick your version) provides inadequate access to rank computation as it is located prior to rank computation. Please move the existing event or supplement it with another.
The use-case is to be able to change the rank computation criteria in addition to or in stead of post count. Criteria for computation that I've had requested by board admins include things like user account age, achievement count or specific achievements (from an extension) and upvotes (given or received also from an extension).
The only possibilities for code using proper injection to affect existing rank computation are to pre-calculate conditions and then return a false post count (to manipulate the post count check further in the code) or to assign a special rank (meaning all affected ranks would need to be special for this computation rule to be applied to dynamic ranks).
The suggested resolution is an event further down the code, providing either the ability to actually modify event computation or simply re-compute the output rank data. This could be done by moving the existing event (which is kind of impotent anyways) or by adding another event (providing injection while leaving the existing event for legacy support or somesuch).