, UNINETT AS. * @package simpleSAMLphp */ class sspmod_metaedit_MetaEditor { protected function getStandardField($request, &$metadata, $key) { if (array_key_exists('field_' . $key, $request)) { $metadata[$key] = $request['field_' . $key]; } else { if (isset($metadata[$key])) unset($metadata[$key]); } } protected function getEndpointField($request, &$metadata, $key, $binding, $indexed) { if (array_key_exists('field_' . $key, $request)) { $e = array( 'Binding' => $binding, 'Location' => $request['field_' . $key] ); if ($indexed) { $e['index'] = 0; } $metadata[$key] = array($e); } else { if (isset($metadata[$key])) unset($metadata[$key]); } } public function formToMeta($request, $metadata = array(), $override = NULL) { $this->getStandardField($request, $metadata, 'entityid'); $this->getStandardField($request, $metadata, 'name'); $this->getStandardField($request, $metadata, 'description'); $this->getEndpointField($request, $metadata, 'AssertionConsumerService', SAML2_Const::BINDING_HTTP_POST, TRUE); $this->getEndpointField($request, $metadata, 'SingleLogoutService', SAML2_Const::BINDING_HTTP_REDIRECT, FALSE); // $this->getStandardField($request, $metadata, 'certFingerprint'); $metadata['updated'] = time(); if ($override) { foreach($override AS $key => $value) { $metadata[$key] = $value; } } return $metadata; } protected function requireStandardField($request, $key) { if (!array_key_exists('field_' . $key, $request)) throw new Exception('Required field [' . $key . '] was missing.'); if (empty($request['field_' . $key])) throw new Exception('Required field [' . $key . '] was empty.'); } public function checkForm($request) { $this->requireStandardField($request, 'entityid'); $this->requireStandardField($request, 'name'); } protected function header($name) { return '
'; print_r($metadata); echo '