1) return $attributes['cn'][0]; } if (isset($attributes['sn']) && isset($attributes['givenName'])) return $attributes['givenName'][0] . ' ' . $attributes['sn'][0]; if (isset($attributes['cn'])) return $attributes['cn'][0]; if (isset($attributes['sn'])) return $attributes['sn'][0]; if (isset($attributes['givenName'])) return $attributes['givenName'][0]; if (isset($attributes['eduPersonPrincipalName'])) { $localname = $this->getLocalUser($attributes['eduPersonPrincipalName'][0]); if (isset($localname)) return $localname; } return NULL; } private function getLocalUser($userid) { if (strpos($userid, '@') === FALSE) return NULL; $decomposed = explode('@', $userid); if(count($decomposed) === 2) { return $decomposed[0]; } return NULL; } /** * Apply filter to add or replace attributes. * * Add or replace existing attributes with the configured values. * * @param array &$request The current request */ public function process(&$request) { assert('is_array($request)'); assert('array_key_exists("Attributes", $request)'); SimpleSAML_Logger::warning('You are using the deprecated smartnameattribute:SmartName filter. You should replace it with smartattributes:SmartName instead.'); $attributes =& $request['Attributes']; $fullname = $this->getFullName($attributes); if(isset($fullname)) $request['Attributes']['smartname-fullname'] = array($fullname); } } ?>