I have been asked by current client if a client registration/login and file upload with admin system can be added to his current website, the features the client requires are below

1) A registration script
2) A login script with forgot password feature
3) A admin side where the client can upload files like PDF's or jpg's to the users profile/member page and enter a password to view/download the uploaded file by admin
4) The admin side to also manage the users that sign up

Are there any open source scripts out there that can do the above in php/mysqli or PDO?

Thank you in advance