557
556
$raw_teams = $teams_resp->getTeams();
558
557
$endpoint = $response->endpoint;
559
558
$openid_teams = get_approved_team_mappings($raw_teams, $endpoint->server_url);
559
$_SESSION['openid_teams'] = $openid_teams;
560
$_SESSION['openid_identity_url'] = $identity_url;
562
# If restricted teams is enabled, check the list against allowed teams
561
563
if (openid_teams_is_restricted_access_enabled()) {
562
564
$teams = openid_teams_get_restricted_teams();
563
565
$teams = array_merge($teams, get_all_local_teams());
579
581
* @param string $password (Default '')
581
583
function openid_teams_assign_on_login($username, $password='') {
582
global $openid_teams;
583
$user = restore_old_roles(new WP_User($username));
585
$existing_roles = array_keys($user->caps);
586
$openid_assigned_roles = array();
587
$all_teams = openid_teams_get_trust_list();
588
foreach ($openid_teams as $id) {
589
$role = $all_teams[$id]->role;
590
if (!in_array($role, $existing_roles) && !isset($user->caps[$role])) {
591
$user->add_role($role);
592
$openid_assigned_roles[] = $role;
585
$identity_url = $_SESSION['openid_identity_url'];
586
if (is_numeric($identity_url)) {
587
$user_id = $identity_url;
589
$user_id = get_user_by_openid($identity_url);
591
$openid_teams = $_SESSION['openid_teams'];
593
$user = new WP_User($user_id);
594
$user = restore_old_roles($user);
595
if ($user && $openid_teams) {
596
$existing_roles = array_keys($user->caps);
597
$openid_assigned_roles = array();
598
$all_teams = openid_teams_get_trust_list();
599
foreach ($openid_teams as $id) {
600
$role = $all_teams[$id]->role;
601
if (!in_array($role, $existing_roles) && !isset($user->caps[$role])) {
602
$user->add_role($role);
603
$openid_assigned_roles[] = $role;
606
update_usermeta($user->ID, 'openid_assigned_roles', $openid_assigned_roles);
595
update_usermeta($user->ID, 'openid_assigned_roles', $openid_assigned_roles);