Extension:UserAgreement

Introduction
UserAgreement adds the ability for administrators to specify a user agreement message and have it rendered to users for acknowledgement before granting access to a wiki's contents.

Users who have not yet acknowledged the current version of the user agreement will be presented with the agreement upon visiting any wiki page and will be unable to view any wiki content until they've acknowledged the user agreement. Users need only acknowledge the current version of the user agreement once to gain access to a wiki's content.

UserAgreement does not depend upon any other extension.

Usage
To specify a user agreement message for users to acknowledge, simply edit the page  to contain exactly the message you would like presented to users in wikitext format. Each time the  page is updated, all users will be required to acknowledge the updated user agreement before being able to continue accessing the wiki's content.

By default, the user agreement message is left blank and thus, no message is presented to users and they are not required to acknowledge anything before viewing a wiki's content.

Developer Details
UserAgreement adds a new database column to the  table called. This column is used to record the timestamps corresponding to the last time each user acknowledged some version of the user agreement.

The logic governing user agreement display is simple. If a user last accepted some version of the user agreement after the last modified date of the  page, then that user is not required to view and acknowledge the current version of the user agreement before accessing the wiki's content. Otherwise, the user will be presented with the current version of the user agreement upon visiting any wiki page and will not be granted access to any of the wiki's content until they have acknowledged the current version of the user agreement, which will then update the  column for that user.