@MJ My solution. For demo you can look at my forum (russian language)
WARNING!!! It is dirty solution (change source code may cause problem with updating in future, you must know how to solve it) and I am not recommend use it, if you didn't understand what you do. Solution without localization, use it only if your forum use only one language (or change code and use number month)
1. Set cutoff settings for timeago libraryOpen acp > custom HTML&CSS > Custom Header and add this:
<script type="text/javascript"> jQuery(document).ready(function() { jQuery.timeago.settings.cutoff = 2419200000; }); </script>In this example I set 28 days for relative date (1000 * 60 * 60 * 24 * 28 = 2419200000), you can change it.
Didn't forget turn on checkbutton "Enable Custom Header" and save changes. After this, all dates older 28 days become unvisible.
2 Change timeago libraryOnen file public/vendor/jquery/timeago and this code:
if (!isNaN(data.datetime)) { if ( $s.cutoff == 0 || Math.abs(distance(data.datetime)) < $s.cutoff) { $(this).text(inWords(data.datetime)); } }replace to this:
if (!isNaN(data.datetime)) { if ( $s.cutoff === 0 || Math.abs(distance(data.datetime)) < $s.cutoff) { $(this).text(inWords(data.datetime)); } else { var monthNames = [ "Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec" ]; var day = data.datetime.getDate() var year = data.datetime.getFullYear(); var monthIndex = data.datetime.getMonth(); var hours = ("0" + data.datetime.getHours()).slice(-2); var minutes = ("0" + data.datetime.getMinutes()).slice(-2); $(this).text(day + ' ' + monthNames[monthIndex] + ' ' + year + ' ' + hours + ':' + minutes); } } 3. Restart forumAll must work fine
Revert changes backIf you need revert changes, you can do it with command
git checkout /public/vendor/jquery/timeago/jquery.timeago.jsAnd remove added text from acp > custom HTML&CSS > Custom Header