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

pagaille’s picture

Status: Active » Closed (fixed)

This has been fixed in the latest dev release (rc2).