^ It would be better to make a plugin for your requirement that way your not messing with core files.
here is a basic plugin which can fulfill some of your requirements. Its code can be taken as a base for developing required plugin.
This has been tested by me and is working with just a few changes.
here is a basic plugin which can fulfill some of your requirements. Its code can be taken as a base for developing required plugin.
This has been tested by me and is working with just a few changes.