I haven't got anything for you to use but I do have some advice..
Limit the number of queries you need to execute on the mysql / database server. Anything you'll need to refer to more than once per http call (eg a permissions table) should be pulled out and stored in a global variable. Failure to adhere to this can result in you having in excess of 200 database calls which upscaled by 100 visitors will grind your forum / site to a halt very quickly. To counter this you're best pulling data out, storing it globally either as a variable or object and then having a method for changing certain parts of data which will update the database and then update the var/object.
Reason I'm bringing this up is because I started PHP moons ago by creating my own CMS for my site. I've tidied bits up as the years have gone by and made things far more efficient etc but even now I'm still seeing 65-70 queries per http call (it's proving to be a pain to rewrite too - I've been scratching my head for days). On my localhost it can grind down my machine quite considerably. You need to plan it out from the ground up even if that is rather boring. If you're not good with table joins then master that now to save yourself too much hassle later down the line as getting that clear in your head now will be your saving grace. Also learn to update tables that are joined too - you'll thank yourself for it later.
My helpful sig is on vacation trying to loose some weight. It got a bit fat and caused a few problems but it will be back at some point!