Flagging

A pull request to gather all the commits for flagging.

- [x] User side flagging.
- [ ] Admin flagging.