Changelog
2015-11-22
Reverted back to static component loading (except for database libs).
Added OP (original poster) badge to the forum.
Renamed Board namespace to Forum.
2015-11-21
Implemented announcement and sticky threads.
Added a button to mark all forums as read.
The forum now cuts the subject when they're longer than 30 character in the preview link.
Forced wordwrapping on the forum.
Made the jump to first/last page buttons only show on the pagination if there's more than 2 pages.
2015-11-20
Added a method to destroy all a user's sessions.
Switched to using PHP's GeoIP module to get the 2 character code and use CloudFlare's header as fallback.
2015-11-17
Moved the forum to its own namespace.
2015-11-16
Made a few improvements to the pagination.
Removed markdown support on the forums.
Added read tracking (ability to know when there's unread posts).
Added thread bumping.
2015-11-15
Added pagination to forum.
Made all pagination instances use a global template.
Moved the Forum to a fully object oriented structure.
Made $_GET and $_POST accessible through the templating engine.
2015-11-13
Removed `topic_last_reply` from the `threads` table because it's used literally nowhere.
Dynamically load everything in the components folder as opposed to the static definitions before.
2015-11-12
Moved empty rank data from Users to Rank.
Set original filenames of images served through imageserve.php in the header.
Fixed alignment of Tenshi button and country flag with country name.
Fixed the onlineFriends session variable not being set when no friends are online.
Changed round() to floor() in the Main::timeElapsed function.
2015-11-11
Fixed the error handler using `id` instead of `error_id` for getting earlier logs.
Added a special method for requests using AJAX in the error handler.
Fixed friend online notifications happening on login.
Fixed confirming a friend request saying that a request has been sent.