How do I control user generated contents published state? I want to allow users to submit the content to my site, but the content must be first approved, and then it can be published.

Someone told me to write a module, but I don't know which steps to follow.


Let the current user see the content that it is published by him, which is still not approved.
In addition, create a form to allow the current user to edit the node.


Does anyone know how to write such module?
There is a module for that™: Workflow module!


  The workflow module allows the creation and assignment of arbitrary workflows to Drupal node types. Workflows are made up of workflow states. For example, a workflow with the states Draft, Review, and Published could be assigned to the Story node type.


In your case you only need to workflow states: review and approved/public.