Okay, this is one of those "How the frack was it working in the first place?"
in MessageIndex.pm find
$sort_lastpostim =
qq~<a href="$scripturl?board=$currentboard;tsort=a" rel="nofollow">$messageindex_txt{'22'}</a> $micon{'sort_first'}~;
@threadlist = reverse @temp_list;
replace with
$sort_lastpostim =
qq~<a href="$scripturl?board=$currentboard;tsort=a" rel="nofollow">$messageindex_txt{'22'}</a> $micon{'sort_first'}~;
@threadlist = reverse sort {
(split /[|]/xsm, $a )[4] <=>
(split /[|]/xsm, $b )[4]
} @temp_list;
Find
else {
$sort_lastpostim =
qq~<a href="$scripturl?board=$currentboard;tsort=b" rel="nofollow">$messageindex_txt{'22'}</a> $micon{'sort_up'}~;
Add after
@threadlist = sort {
( split /[|]/xsm, $a )[4] <=>
( split /[|]/xsm, $b )[4]
} @temp_list;
Find:
else {
$sort_lastpostim =
qq~<a href="$scripturl?board=$currentboard;tsort=b" rel="nofollow">$messageindex_txt{'22'}</a> $micon{'sort_up'}~;
add after:
@threadlist = sort {
( split /[|]/xsm, $a )[4] <=>
( split /[|]/xsm, $b )[4]
} @temp_list;
This will force the 'last post' sort to go by actual 'last post date'. (I have no idea why the sort actually worked in previous versions of YaBB - it shouldn't have.
But really good catch. )