User and host table dump modified - use consent table to determine if user has consented to stats. exports.
Look up STATSEXPORT consent type and determine if enabled; if so, change the SQL statement to use consent table. Only if a user has consented to statistics exports is that user's data returned and exported.
Consent_type table uses id, and consent table now refers to consent_type_id instead of name.
Additionally, added index of consent_time to consent table.
Added indices to consent and consent_type tables.
Moved initial content of consent_type table to new SQL file: content.sql
Modified database.py to insert new content.sql into database. In python autocommit is turned off by default, thus a manualy commit() was added.
Updated db_update.php to match changes in db/.
Add new constant in project.inc, TERMSOFUSE_FILE, which is a path to the project's terms of use. This defaults to the previous location, a text file in the project's base directory.
get_project_config.php RPC modified to use this new constant, but if it is not defined, then the code will attempt to use the old path: this should be backwards-compatible for projects that do not update project.inc, but have a terms_of_use.txt file in their base directory.
HTML code modified to use this new constant.
Renamed 'optin consent' to 'agree to terms of use'. New config.xml variable name.
Decoupled new user agree to terms of use from existing users. If there is a ENROLL terms of use, and the project has enabled the 'enable_login_mustagree_termsofuse' boolean, then existing users must agree to the terms of use when the login, and this is recorded in the consent table.
Now the code uses the enabled flag for the consent_type ENROLL to detmerine if a terms of use
is showed to the user and whether or not consent is recorded for this general terms of use.
Privacy prefs now loads the the consent_types found in the database table dynamically based on the enabled and privacypref flags introduced.
Removed enable_record_optin_consent config settings. Now the 'enabled' field in consent_type takes its place, one a consent_type by consent_type basis.
Added new preferences sub-class for consent table modification.
Added privacy preference form item to record user giving consent to data exports.
User's consent is recorded in the consent table.