Again!! Okay, this is the last time, I promise. I completely tore this thing to shreds because it wasn't working. I was having to pass large arrays like $blogsettings, $entry, $comment all the time without any references. I was having to pass more than 1 piece of data too sometimes, and that was impossible without using global variables. This became a huge problem with scope causing random bugs.
Anyway, it works MUCH better now, and the code is much easier to follow because everything is passed. It's now its own class and all the permissions are handled completely seperate from the frontend files. On top of this, I greatly improved the debugging for it... it will show all of the permission checks in a nice table, and their status (result, required, cached). It will also highlight the required check that failed so we can quickly fix things.

