user_lastpost_timeseems to be there for both the "post" and "reply" cases of submit_post() in functions_posting.php, and is the same place that
user_postswould be incremented, too. (Where the comment "// Update forum stats" appears in functions_posting.php.) There is a more simple update (less indirection involved) of
user_lastpost_timefrom submit_pm() in functions_privmsgs.php as well.
user_lastpost_timeis expected to be UTC, and not the user's or server's local time. Just in case that multi-hour difference between UTC versus the user's local time might explain the observations being made. Meaning the user expected they last posted at 22:00 but the database timestamp says 18:00; but a four hour difference there is actually the correct UTC offset for their 22:00 local posting time.
core.submit_post_modify_sql_data) which would permit an extension to have a say on what got written to the database, too. So if you suspect there is truly still an issue, eliminating any enabled extensions would be prudent to narrow down the source of the problem, too.
Code: Select all
SELECT u.user_id , u.username , u.user_lastpost_time , from_unixtime( u.user_lastpost_time ) AS utc_user , p.post_time , from_unixtime( p.post_time ) AS utc_post , p.post_id FROM phpbb_users u INNER JOIN phpbb_posts p ON p.poster_id= u.user_id WHERE p.post_time> u.user_lastpost_time;