The agreement_settings() method is incorrectly renumbering the keys returned by user_roles(). This leads to an issue where the role selected on the settings page will not be the role used to apply the agreement page in the agreement_init() function - because the wrong role id is being saved.
I have fixed this with the following change.
before:
function agreement_settings() {
...
$roles = array_merge(array(-1 => ''), user_roles());
after (fix):
function agreement_settings() {
...
$roles = array(-1 => '') + user_roles();
Greg
Comments
Comment #1
pagaille commentedThis has been fixed in the latest dev release (rc2).