I finally got around to committing the code that I've been sitting on for the website. Hopefully, it shouldn't have much visible results for the end user (it's designed to look just the same), but it fixes several of the issues that used to be in the code:
Instead of including pages all over the place, each page is now it's own class, which is auto-loaded. It consists of a couple of virtual methods, that make it possible to actually use return in the code, instead of having to build insane if-else-ladders
Uses proper exception handling to deal with errors. So now we actually output http error codes when things break, instead of outputing a status code of ok with a text of "error: this or that". This is very important given that the mirror script will now not overwrite the entire site with empty pages in case things break - instead, it'll just leave the last working version alone.
Language code for translating news, events, quotes etc is fixed and appears to actually work now. It's a much-talked-about feature that it seems pretty much nobody has been using. But at least it's not broken anymore.
Loads and loads of code cleanup and minor bug fixes.
Given that it's a huge commit, I'm sure I managed to break something. If you spot something that's obviously broken and that used to be ok, please drop me a line so I can fix it.