$t('CAS'),
'value' => $t('Outdated'),
'severity' => REQUIREMENT_WARNING,
'description' => $t('CAS attributes requires CAS version 7.x-1.0 or later.', array('@url' => 'http://drupal.org/project/cas')),
);
}
// Okay to call functions from cas.module since we are in the runtime
// phase. We hide errors here in case phpcas could not be loaded.
if ($version = @cas_phpcas_load()) {
if (!method_exists('phpCAS', 'getAttributes')) {
$requirements['cas_attributes_phpcas'] = array(
'title' => $t('phpCAS (Attribute support)'),
'value' => $version,
'severity' => REQUIREMENT_WARNING,
'description' => $t('CAS attributes requires phpCAS version 1.1.0 or later.', array('@url' => 'https://wiki.jasig.org/display/CASC/phpCAS')),
);
}
}
}
return $requirements;
}
function cas_attributes_update_7100() {
$attr = variable_get('cas_attributes', array());
if (array_key_exists('relations', $attr)) {
foreach ($attr['relations'] as $key => $value) {
$attr['relations'][$key] = preg_replace('/\[cas:attribute:([^:\?\]]*)]/', '[cas:attribute:$1:first]', $value);
}
}
variable_set('cas_attributes', $attr);
}
function cas_attributes_update_7101() {
// split the various settings up into their own smaller, more manageable variables
$attr = variable_get('cas_attributes', array());
if(array_key_exists('overwrite', $attr)) {
variable_set('cas_attributes_overwrite', $attr['overwrite']);
}
if(array_key_exists('sync_every_login', $attr)) {
variable_set('cas_attributes_sync_every_login', $attr['sync_every_login']);
}
if(array_key_exists('relations', $attr)) {
variable_set('cas_attributes_relations', $attr['relations']);
}
if(array_key_exists('roles', $attr)) {
if(array_key_exists('manage', $attr['roles'])) {
variable_set('cas_attributes_roles_manage', $attr['roles']['manage']);
}
if(array_key_exists('mapping', $attr['roles'])) {
variable_set('cas_attributes_roles_mapping', $attr['roles']['mapping']);
}
}
// (this one should only exist if cas_ldap has been used at some point)
if(array_key_exists('ldap', $attr)) {
if(array_key_exists('server', $attr['ldap'])) {
variable_set('cas_attributes_ldap_server', $attr['ldap']['server']);
}
}
variable_del('cas_attributes');
}