You may want to look into postnuke as well. It has a good granular permissions system and you can get a subscription module. There is also a module called pagesetter that you define the fields including file upload and the output templates. It has several built in work flows to allow for approval of submissions and if you need work flow a bit more complex it is set up for you to define your own. Depending on what the link is you need to be counted that may need to be customized.