I've been looking at phpBB's code again lately and realizing how fundamentally ... well, to put it frankly, completely screwed up it is, and it's not getting much better with phpBB3.
- They're still nesting ternary operators, interchanging ' and " quotes in the same string, and even putting variables in the latter.
- They have a database abstraction layer but hard-code all of their SQL statements in the program code.
- They reinvented the wheel using their own template system rather than use an existing template engine such as Smarty. None of the phpBB2 templates will work in phpBB3 without major redesigns anyway, so they can't say they were preserving the old system.
- The HTML in their default template is ... highly bloated.
- They could use a better code organization system. I mean some major refactoring is in order.