dbDisconnect(); exit; } } else { $newaffilname = $affilname; } $query = "INSERT INTO affiliation " . "(name, " . "shibname, " . "shibonly) " . "VALUES " . "('{$newaffilname}', " . "'" . mysql_escape_string($affil) . "', " . "1)"; doQuery($query, 101, 'vcl', 1); unset($row); $row = array('name' => $newaffilname, 'shibonly' => 1); } $affil = $row['name']; # create VCL userid $userid = "{$username}@{$affil}"; if ($row['shibonly']) { $userdata = updateShibUser($userid); updateShibGroups($userdata['id'], $_SERVER['affiliation']); $usernid = $userdata['id']; } else { $usernid = getUserlistID($userid); } # save data to shibauth table $shibdata = array('Shib-Application-ID' => $_SERVER['Shib-Application-ID'], 'Shib-Identity-Provider' => $_SERVER['Shib-Identity-Provider'], 'Shib-AuthnContext-Dec' => $_SERVER['Shib-AuthnContext-Decl'], 'Shib-logouturl' => $_SERVER['Shib-logouturl'], 'eppn' => $_SERVER['Shib-logouturl'], 'unscoped-affiliation' => $_SERVER['unscoped-affiliation'], 'affiliation' => $_SERVER['affiliation']); $serdata = mysql_escape_string(serialize($shibdata)); $query = "SELECT id " . "FROM shibauth " . "WHERE sessid = '{$_SERVER['Shib-Session-ID']}'"; $qh = doQuery($query, 101); if ($row = mysql_fetch_assoc($qh)) { $shibauthid = $row['id']; } else { $ts = strtotime($_SERVER['Shib-Authentication-Instant']); $ts = unixToDatetime($ts);
$query = "INSERT INTO affiliation " . "(name, " . "shibname, " . "shibonly) " . "VALUES " . "('{$newaffilname}', " . "'" . mysql_escape_string($affil) . "', " . "1)"; doQuery($query, 101, 'vcl', 1); unset($row); $row = array('name' => $newaffilname, 'shibonly' => 1); } $affil = $row['name']; # create VCL userid $userid = "{$username}@{$affil}"; if ($row['shibonly']) { $userdata = updateShibUser($userid); updateShibGroups($userdata['id'], $_SERVER['affiliation']); $usernid = $userdata['id']; } else { $usernid = getUserlistID($userid, 1); if (is_null($usernid)) { $tmp = updateShibUser($userid); $usernid = $tmp['id']; } } $affilid = getAffiliationID($affil); addLoginLog($userid, 'shibboleth', $affilid, 1); # uncomment the following and change EXAMPLE1 to match your needs to add all # users from a specific affiliation to a particular user group /*if($affil == 'EXAMPLE1') { $gid = getUserGroupID('All EXAMPLE1 Users', $affilid); $query = "INSERT IGNORE INTO usergroupmembers " . "(userid, usergroupid) " . "VALUES ($usernid, $gid)"; doQuery($query, 307); }*/ if (array_key_exists('Shib-logouturl', $_SERVER)) {