ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
consentAdmin.php File Reference

Go to the source code of this file.

Functions

 driveProcessingChain ( $idp_metadata, $source, $sp_metadata, $sp_entityid, $attributes, $userid, $hashAttributes=false, $excludeAttributes=array())
 

Variables

 $config = SimpleSAML_Configuration::getInstance()
 
 $cA_config = SimpleSAML_Configuration::getConfig('module_consentAdmin.php')
 
 $authority = $cA_config->getValue('authority')
 
 $as = new \SimpleSAML\Auth\Simple($authority)
 
if(array_key_exists('logout', $_REQUEST)) $hashAttributes = $cA_config->getValue('attributes.hash')
 
 $excludeAttributes = $cA_config->getValue('attributes.exclude', array())
 
 $attributes = $as->getAttributes()
 
 $metadata = SimpleSAML_Metadata_MetaDataStorageHandler::getMetadataHandler()
 
 $idp_entityid = $metadata->getMetaDataCurrentEntityID('saml20-idp-hosted')
 
 $idp_metadata = $metadata->getMetaData($idp_entityid, 'saml20-idp-hosted')
 
if($as->getAuthData('saml:sp:IdP') !==null) else
 
 $userid_attributename = (isset($idp_metadata['userid.attribute']) && is_string($idp_metadata['userid.attribute'])) ? $idp_metadata['userid.attribute'] : 'eduPersonPrincipalName'
 
 $userids = $attributes[$userid_attributename]
 
if(empty($userids)) $userid = $userids[0]
 
 $all_sp_metadata = $metadata->getList('saml20-sp-remote')
 
 $action = null
 
 $sp_entityid = null
 
 $consent_storage = sspmod_consent_Store::parseStoreConfig($cA_config->getValue('consentadmin'))
 
 $hashed_user_id = sspmod_consent_Auth_Process_Consent::getHashedUserID($userid, $source)
 
if($action !==null && $sp_entityid !==null) $user_consent_list = $consent_storage->getConsents($hashed_user_id)
 
 $user_consent = array()
 
foreach($user_consent_list as $c) $template_sp_content = array()
 
 $template = new SimpleSAML_XHTML_Template($config, 'consentAdmin:consentadmin.php', 'consentAdmin:consentadmin')
 
 $translator = $template->getTranslator()
 
 $sp_empty_name = $translator->getTag('sp_empty_name')
 
 $sp_empty_description = $translator->getTag('sp_empty_description')
 
foreach($all_sp_metadata as $sp_entityid=> $sp_values) $template data ['header'] = 'Consent Administration'
 
$template data ['spList'] = $sp_list
 
$template data ['showDescription'] = $cA_config->getValue('showDescription')
 

Function Documentation

◆ driveProcessingChain()

driveProcessingChain (   $idp_metadata,
  $source,
  $sp_metadata,
  $sp_entityid,
  $attributes,
  $userid,
  $hashAttributes = false,
  $excludeAttributes = array() 
)

Definition at line 18 of file consentAdmin.php.

References $attributes, $destination, $excludeAttributes, $hashAttributes, $idp_metadata, $source, $sp_entityid, $userid, sspmod_consent_Auth_Process_Consent\getAttributeHash(), sspmod_consent_Auth_Process_Consent\getTargetedID(), and SimpleSAML\Logger\info().

27  {
28 
29  /*
30  * Create a new processing chain
31  */
32  $pc = new SimpleSAML_Auth_ProcessingChain($idp_metadata, $sp_metadata, 'idp');
33 
34  /*
35  * Construct the state.
36  * REMEMBER: Do not set Return URL if you are calling processStatePassive
37  */
38  $authProcState = array(
39  'Attributes' => $attributes,
40  'Destination' => $sp_metadata,
41  'SPMetadata' => $sp_metadata,
42  'Source' => $idp_metadata,
43  'IdPMetadata' => $idp_metadata,
44  'isPassive' => true,
45  );
46  /* we're being bridged, so add that info to the state */
47  if (strpos($source, '-idp-remote|') !== false) {
48  $authProcState['saml:sp:IdP'] = substr($source, strpos($source, '|') + 1);
49  }
50 
51  /*
52  * Call processStatePAssive.
53  * We are not interested in any user interaction, only modifications to the attributes
54  */
55  $pc->processStatePassive($authProcState);
56 
57  $attributes = $authProcState['Attributes'];
58  // Remove attributes that do not require consent/should be excluded
59  foreach ($attributes as $attrkey => $attrval) {
60  if (in_array($attrkey, $excludeAttributes)) {
61  unset($attributes[$attrkey]);
62  }
63  }
64 
65  /*
66  * Generate identifiers and hashes
67  */
68  $destination = $sp_metadata['metadata-set'].'|'.$sp_entityid;
69 
72 
73  SimpleSAML\Logger::info('consentAdmin: user: '.$userid);
74  SimpleSAML\Logger::info('consentAdmin: target: '.$targeted_id);
75  SimpleSAML\Logger::info('consentAdmin: attribute: '.$attribute_hash);
76 
77  // Return values
78  return array($targeted_id, $attribute_hash, $attributes);
79 }
80 
81 // Get config object
83 $cA_config = SimpleSAML_Configuration::getConfig('module_consentAdmin.php');
84 $authority = $cA_config->getValue('authority');
85 
86 $as = new \SimpleSAML\Auth\Simple($authority);
87 
88 // If request is a logout request
89 if (array_key_exists('logout', $_REQUEST)) {
90  $returnURL = $cA_config->getValue('returnURL');
91  $as->logout($returnURL);
92 }
93 
94 $hashAttributes = $cA_config->getValue('attributes.hash');
95 
96 $excludeAttributes = $cA_config->getValue('attributes.exclude', array());
97 
98 // Check if valid local session exists
99 $as->requireAuth();
100 
101 // Get released attributes
102 $attributes = $as->getAttributes();
103 
104 // Get metadata storage handler
106 
107 /*
108  * Get IdP id and metadata
109  */
110 
111 
112 $idp_entityid = $metadata->getMetaDataCurrentEntityID('saml20-idp-hosted');
113 $idp_metadata = $metadata->getMetaData($idp_entityid, 'saml20-idp-hosted');
114 
115 // Calc correct source
116 if ($as->getAuthData('saml:sp:IdP') !== null) {
117  // from a remote idp (as bridge)
118  $source = 'saml20-idp-remote|'.$as->getAuthData('saml:sp:IdP');
119 } else {
120  // from the local idp
121  $source = $idp_metadata['metadata-set'].'|'.$idp_entityid;
122 }
123 
124 // Get user ID
125 $userid_attributename = (isset($idp_metadata['userid.attribute']) && is_string($idp_metadata['userid.attribute'])) ? $idp_metadata['userid.attribute'] : 'eduPersonPrincipalName';
126 
128 
129 if (empty($userids)) {
130  throw new Exception('Could not generate useridentifier for storing consent. Attribute ['.
131  $userid_attributename.'] was not available.');
132 }
133 
134 $userid = $userids[0];
135 
136 // Get all SP metadata
137 $all_sp_metadata = $metadata->getList('saml20-sp-remote');
138 
139 // Parse action, if any
140 $action = null;
141 $sp_entityid = null;
142 if (!empty($_GET['cv'])) {
143  $sp_entityid = $_GET['cv'];
144 }
145 if (!empty($_GET['action'])) {
146  $action = $_GET["action"];
147 }
148 
149 SimpleSAML\Logger::critical('consentAdmin: sp: '.$sp_entityid.' action: '.$action);
150 
151 // Remove services, whitch have consent disabled
152 if (isset($idp_metadata['consent.disable'])) {
153  foreach ($idp_metadata['consent.disable'] AS $disable) {
154  if (array_key_exists($disable, $all_sp_metadata)) {
155  unset($all_sp_metadata[$disable]);
156  }
157  }
158 }
159 
160 SimpleSAML\Logger::info('consentAdmin: '.$idp_entityid);
161 
162 // Parse consent config
164 
165 // Calc correct user ID hash
167 
168 // If a checkbox have been clicked
169 if ($action !== null && $sp_entityid !== null) {
170  // Get SP metadata
171  $sp_metadata = $metadata->getMetaData($sp_entityid, 'saml20-sp-remote');
172 
173  // Run AuthProc filters
174  list($targeted_id, $attribute_hash, $attributes_new) = driveProcessingChain($idp_metadata, $source, $sp_metadata,
176 
177  // Add a consent (or update if attributes have changed and old consent for SP and IdP exists)
178  if ($action == 'true') {
179  $isStored = $consent_storage->saveConsent($hashed_user_id, $targeted_id, $attribute_hash);
180  if ($isStored) {
181  $res = "added";
182  } else {
183  $res = "updated";
184  }
185  // Remove consent
186  } else {
187  if ($action == 'false') {
188  // Got consent, so this is a request to remove it
189  $rowcount = $consent_storage->deleteConsent($hashed_user_id, $targeted_id);
190  if ($rowcount > 0) {
191  $res = "removed";
192  }
193  // Unknown action (should not happen)
194  } else {
195  SimpleSAML\Logger::info('consentAdmin: unknown action');
196  $res = "unknown";
197  }
198  }
199  // init template to enable translation of status messages
200  $template = new SimpleSAML_XHTML_Template($config, 'consentAdmin:consentadminajax.php', 'consentAdmin:consentadmin');
201  $template->data['res'] = $res;
202  $template->show();
203  exit;
204 }
205 
206 // Get all consents for user
207 $user_consent_list = $consent_storage->getConsents($hashed_user_id);
208 
209 // Parse list of consents
210 $user_consent = array();
211 foreach ($user_consent_list as $c) {
212  $user_consent[$c[0]] = $c[1];
213 }
214 
215 $template_sp_content = array();
216 
217 // Init template
218 $template = new SimpleSAML_XHTML_Template($config, 'consentAdmin:consentadmin.php', 'consentAdmin:consentadmin');
219 $translator = $template->getTranslator();
220 $translator->includeLanguageFile('attributes'); // attribute listings translated by this dictionary
221 $sp_empty_name = $translator->getTag('sp_empty_name');
222 $sp_empty_description = $translator->getTag('sp_empty_description');
223 
224 // Process consents for all SP
225 foreach ($all_sp_metadata as $sp_entityid => $sp_values) {
226  // Get metadata for SP
227  $sp_metadata = $metadata->getMetaData($sp_entityid, 'saml20-sp-remote');
228 
229  // Run attribute filters
230  list($targeted_id, $attribute_hash, $attributes_new) = driveProcessingChain($idp_metadata, $source, $sp_metadata,
232 
233  // Check if consent exists
234  if (array_key_exists($targeted_id, $user_consent)) {
235  $sp_status = "changed";
236  SimpleSAML\Logger::info('consentAdmin: changed');
237  // Check if consent is valid. (Possible that attributes has changed)
238  if ($user_consent[$targeted_id] == $attribute_hash) {
239  SimpleSAML\Logger::info('consentAdmin: ok');
240  $sp_status = "ok";
241  }
242  // Consent does not exists
243  } else {
244  SimpleSAML\Logger::info('consentAdmin: none');
245  $sp_status = "none";
246  }
247 
248  // Set name of SP
249  if (isset($sp_values['name']) && is_array($sp_values['name'])) {
250  $sp_name = $sp_metadata['name'];
251  } else {
252  if (isset($sp_values['name']) && is_string($sp_values['name'])) {
253  $sp_name = $sp_metadata['name'];
254  } elseif (isset($sp_values['OrganizationDisplayName']) && is_array($sp_values['OrganizationDisplayName'])) {
255  $sp_name = $sp_metadata['OrganizationDisplayName'];
256  } else {
257  $sp_name = $sp_empty_name;
258  }
259  }
260 
261  // Set description of SP
262  if (empty($sp_metadata['description']) || !is_array($sp_metadata['description'])) {
263  $sp_description = $sp_empty_description;
264  } else {
265  $sp_description = $sp_metadata['description'];
266  }
267 
268  // Add a URL to the service if present in metadata
269  $sp_service_url = isset($sp_metadata['ServiceURL']) ? $sp_metadata['ServiceURL'] : null;
270 
271  // Fill out array for the template
272  $sp_list[$sp_entityid] = array(
273  'spentityid' => $sp_entityid,
274  'name' => $sp_name,
275  'description' => $sp_description,
276  'consentStatus' => $sp_status,
277  'consentValue' => $sp_entityid,
278  'attributes_by_sp' => $attributes_new,
279  'serviceurl' => $sp_service_url,
280  );
281 }
$user_consent
static getMetadataHandler()
This function retrieves the current instance of the metadata handler.
$sp_empty_name
$userid_attributename
$template
$action
$sp_empty_description
$_GET["client_id"]
if(empty($userids)) $userid
$excludeAttributes
$destination
$userids
$cA_config
$idp_entityid
$hashed_user_id
$metadata
static info($string)
Definition: Logger.php:199
foreach($_POST as $key=> $value) $res
$idp_metadata
$all_sp_metadata
$as
$translator
static getConfig($filename='config.php', $configSet='simplesaml')
Load a configuration file from a configuration set.
driveProcessingChain( $idp_metadata, $source, $sp_metadata, $sp_entityid, $attributes, $userid, $hashAttributes=false, $excludeAttributes=array())
$config
static critical($string)
Definition: Logger.php:144
$sp_entityid
exit
Definition: backend.php:16
$attributes
if($action !==null && $sp_entityid !==null) $user_consent_list
$consent_storage
$source
Definition: linkback.php:22
if(array_key_exists('logout', $_REQUEST)) $hashAttributes
$authority
static getInstance($instancename='simplesaml')
Get a configuration file by its instance name.
foreach($user_consent_list as $c) $template_sp_content
+ Here is the call graph for this function:

Variable Documentation

◆ $action

$action = null

Definition at line 140 of file consentAdmin.php.

Referenced by ilObjUserGUI\__buildFilterSelect(), ilObjUserFolderGUI\__buildUserFilterSelect(), sspmod_core_ACL\__construct(), ilFileVersionTableGUI\__construct(), ilObjExerciseGUI\_goto(), ilChangeEvent\_recordWriteEvent(), JSMin\action(), ILIAS\UI\Implementation\Component\Glyph\Factory\add(), arIndexTableActions\addAction(), ilBTPopOverGUI\addButton(), ilOrgUnitImporter\addError(), ilMyStaffGUI\addTabs(), ilOrgUnitImporter\addWarning(), sspmod_statistics_Aggregator\aggregate(), ilSessionStatistics\aggregateRawHelper(), sspmod_core_ACL\allows(), ILIAS\UI\Implementation\Component\Glyph\Factory\angry(), ILIAS\UI\Implementation\Component\Glyph\Factory\apply(), ilObject\applyDidacticTemplate(), ilRbacAdmin\applyMovedObjectDidacticTemplates(), ILIAS\UI\Implementation\Component\Glyph\Factory\astounded(), ILIAS\UI\Implementation\Component\Glyph\Factory\attachment(), ilObjForumGUI\autosaveDraftAsyncObject(), ilObjForumGUI\autosaveThreadDraftAsyncObject(), ILIAS\UI\Implementation\Component\Glyph\Factory\back(), ILIAS\UI\Implementation\Component\Glyph\Factory\briefcase(), Sabre\DAV\Sharing\Plugin\browserPostAction(), ilStudyProgrammeMembersTableGUI\buildActionDropDown(), ilTestRandomQuestionSetConfigStateMessageHandler\buildLostPoolsReportMessage(), assImagemapQuestionGUI\buildSelectionParameter(), ILIAS\UI\Implementation\Component\Button\Factory\bulky(), TCPDF\Button(), ilObjDataCollectionAccess\checkActionForObjId(), ILIAS\UI\Implementation\Component\Glyph\Factory\collapse(), ILIAS\UI\Implementation\Component\Glyph\Factory\comment(), ilMailFolderGUI\confirmDeleteMails(), Parser\createAssocArgs(), ilDidacticTemplateSetting\delete(), ILIAS\UI\Implementation\Component\Glyph\Factory\dislike(), ilObjForumGUI\doCaptchaCheck(), IMSGlobal\LTI\ToolProvider\ResourceLink\doOutcomesService(), IMSGlobal\LTI\ToolProvider\ResourceLink\doSettingService(), ILIAS\UI\Implementation\Component\Glyph\Factory\down(), ilMMTypeHandlerLink\enrichItem(), ilMMTypeHandlerTopLink\enrichItem(), ILIAS\UI\Implementation\Component\Glyph\Factory\expand(), ILIAS\UI\Implementation\Component\Glyph\Factory\eyeclosed(), ILIAS\UI\Implementation\Component\Glyph\Factory\eyeopen(), ilMMTopItemTableGUI\fillRow(), ilCourseVerificationTableGUI\fillRow(), ilSCORMVerificationTableGUI\fillRow(), ilTestVerificationTableGUI\fillRow(), ilFileVersionsTableGUI\fillRow(), ilExerciseVerificationTableGUI\fillRow(), ilBookingParticipantsTableGUI\fillRow(), ilWorkflowEngineDefinitionsTableGUI\fillRow(), ilCronManagerTableGUI\fillRow(), ilIndividualAssessmentMembersTableGUI\getAction(), arIndexTableActions\getActionsAsKeyTextArray(), ilUserActionCollector\getActionsForTargetUser(), Title\getCascadeProtectionSources(), ilAwarenessData\getData(), ILIAS\UI\Implementation\Component\Dropzone\File\Renderer\getFileListTemplate(), ilWorkflowEngineSettingsForm\getForm(), ilUploadDefinitionForm\getForm(), ilLSCurriculumBuilder\getLearnerCurriculum(), Title\getLocalURL(), ilPortfolioRepositoryGUI\getPortfolioList(), Title\getRestrictions(), ilNotesGlobalScreenProvider\getStaticSubItems(), ilRepositoryGlobalScreenProvider\getStaticSubItems(), ilChatroomServerSettings\getURL(), ilPortfolioAppEventListener\handleEvent(), ilCopyWizardSettingsXMLParser\handlerBeginTag(), ilSoapUtils\ilClone(), ilMMSubItemTableGUI\initColumns(), ilRoleTableGUI\initFilter(), ilBookmarkAdministrationGUI\initFormBookmark(), ilBookmarkAdministrationGUI\initFormBookmarkFolder(), ilObjSystemCheckGUI\initFormTrash(), ilMailFolderTableGUI\initMultiCommands(), Title\isProtected(), Title\isSemiProtected(), ILIAS\UI\Implementation\Component\Glyph\Factory\laugh(), ILIAS\UI\Implementation\Component\Glyph\Factory\like(), ILIAS\UI\Implementation\Component\Glyph\Factory\love(), ILIAS\UI\Implementation\Component\Glyph\Factory\mail(), ILIAS\UI\Implementation\Component\Glyph\Factory\next(), ILIAS\UI\Implementation\Component\Glyph\Factory\note(), ILIAS\UI\Implementation\Component\Glyph\Factory\notification(), TCPDF\openHTMLTagHandler(), ilRbacLogTableGUI\parseChangesFaPa(), ilRbacLogTableGUI\parseChangesTemplate(), arIndexTableGUI\parseEntry(), ilLPTableBaseGUI\parseTitle(), ILIAS\UI\Implementation\Component\Button\Factory\primary(), ilWorkflowEngineDefinitionsGUI\processUploadFormCancellation(), Title\quickUserCan(), ILIAS\UI\Implementation\Component\Glyph\Factory\remove(), ILIAS\UI\Implementation\Component\Glyph\Renderer\render(), ilIndividualAssessmentMembersTableGUI\render(), ILIAS\UI\Implementation\Component\Listing\Workflow\Renderer\render_linear(), ILIAS\UI\Implementation\Component\Button\Renderer\renderButton(), ilUserActionGUI\renderDropDown(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderMode(), ILIAS\UI\Implementation\Component\Table\Renderer\renderPresentationRow(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderSectionButton(), ILIAS\UI\Implementation\Component\Link\Renderer\renderStandard(), ILIAS\UI\Implementation\Component\Glyph\Factory\reset(), ILIAS\UI\Implementation\Component\Glyph\Factory\sad(), ilObjUserFolderGUI\saveGlobalUserSettingsObject(), ilExAssignmentEditorGUI\saveReminderData(), SAML2\SOAPClient\send(), ILIAS\UI\Implementation\Component\Glyph\Factory\settings(), ilObjUserFolderGUI\showActionConfirmation(), ILIAS\UI\Implementation\Component\Button\Factory\shy(), ilOrgUnitSimpleImport\simpleImportElement(), ilOrgUnitSimpleUserImport\simpleUserImportElement(), ILIAS\UI\Implementation\Component\Glyph\Factory\sort(), ILIAS\UI\Implementation\Component\Glyph\Factory\sortAscending(), ILIAS\UI\Implementation\Component\Glyph\Factory\sortDescending(), ILIAS\UI\Implementation\Component\Link\Factory\standard(), ILIAS\UI\Implementation\Component\Button\Factory\standard(), ilDidacticTemplateCopier\start(), ILIAS\UI\Implementation\Component\Listing\Workflow\Factory\step(), ilWorkflowEngineDefinitionsGUI\stopListening(), ilDidacticTemplateUtils\switchTemplate(), ilPCDataTableGUI\tableAction(), ILIAS\UI\Implementation\Component\Button\Factory\tag(), ILIAS\UI\Implementation\Component\Glyph\Factory\tag(), ViewControlTest\test_render_viewcontrol_mode(), ViewControlTest\test_viewcontrol_section_get_next_actions(), ViewControlTest\test_viewcontrol_section_get_previous_actions(), CardTest\test_with_image_action(), ilCertificateTemplateImportActionTest\testCertificateCanBeImportedWithBackgroundImage(), ilCertificateTemplateImportActionTest\testCertificateCanBeImportedWithoutBackgroundImage(), ilCertificateTestTemplateDeleteActionTest\testDelete(), ilCertificateScormTemplateDeleteActionTest\testDeleteScormTemplateAndSettings(), ilCertificateTemplateDeleteActionTest\testDeleteTemplateAndUseOldThumbnail(), ilCertificateTemplateDeleteActionTest\testDeleteTemplateButNoThumbnailWillBeCopiedFromOldCertificate(), ilCertificateTemplateExportActionTest\testExport(), ilChatroomServerSettingsTest\testGetUrl(), ilCertificateTemplateImportActionTest\testNoXmlFileInUplodadZipFolder(), ilCertificateTemplateImportActionTest\testZipfileCouldNoBeMoved(), ilDidacticTemplateSetting\toXml(), ilBuddySystemGUI\transitionAsyncCommand(), ILIAS\UI\Implementation\Component\Glyph\Factory\up(), ilExerciseXMLParser\updateFile(), ilExerciseXMLParser\updateMember(), ILIAS\UI\Implementation\Component\Glyph\Factory\user(), and Title\userCan().

◆ $all_sp_metadata

$all_sp_metadata = $metadata->getList('saml20-sp-remote')

Definition at line 137 of file consentAdmin.php.

◆ $as

◆ $attributes

$attributes = $as->getAttributes()

Definition at line 102 of file consentAdmin.php.

Referenced by driveProcessingChain().

◆ $authority

◆ $cA_config

$cA_config = SimpleSAML_Configuration::getConfig('module_consentAdmin.php')

Definition at line 83 of file consentAdmin.php.

◆ $config

Definition at line 82 of file consentAdmin.php.

◆ $consent_storage

$consent_storage = sspmod_consent_Store::parseStoreConfig($cA_config->getValue('consentadmin'))

Definition at line 163 of file consentAdmin.php.

◆ $excludeAttributes

$excludeAttributes = $cA_config->getValue('attributes.exclude', array())

Definition at line 96 of file consentAdmin.php.

Referenced by driveProcessingChain().

◆ $hashAttributes

if (array_key_exists( 'logout', $_REQUEST)) $hashAttributes = $cA_config->getValue('attributes.hash')

Definition at line 94 of file consentAdmin.php.

Referenced by driveProcessingChain().

◆ $hashed_user_id

$hashed_user_id = sspmod_consent_Auth_Process_Consent::getHashedUserID($userid, $source)

Definition at line 166 of file consentAdmin.php.

◆ $idp_entityid

$idp_entityid = $metadata->getMetaDataCurrentEntityID('saml20-idp-hosted')

Definition at line 112 of file consentAdmin.php.

◆ $idp_metadata

$idp_metadata = $metadata->getMetaData($idp_entityid, 'saml20-idp-hosted')

Definition at line 113 of file consentAdmin.php.

Referenced by driveProcessingChain().

◆ $metadata

◆ $sp_empty_description

$sp_empty_description = $translator->getTag('sp_empty_description')

Definition at line 222 of file consentAdmin.php.

◆ $sp_empty_name

$sp_empty_name = $translator->getTag('sp_empty_name')

Definition at line 221 of file consentAdmin.php.

◆ $sp_entityid

$sp_entityid = null

Definition at line 141 of file consentAdmin.php.

Referenced by driveProcessingChain().

◆ $template

$template = new SimpleSAML_XHTML_Template($config, 'consentAdmin:consentadmin.php', 'consentAdmin:consentadmin')

Definition at line 218 of file consentAdmin.php.

Referenced by Twig_Node_Expression_BlockReference\__construct(), ilCertificateSettingsExerciseRepository\__construct(), ilCertificateSettingsScormFormRepository\__construct(), ilCertificateCloneAction\__construct(), ilCertificateSettingsCourseFormRepository\__construct(), RobRichards\XMLSecLibs\XMLSecurityDSig\__construct(), Sabre\VObject\Component\VAvailabilityTest\_template(), ilTinyMCE\addUserTextEditor(), ilYuiUtil\addYesNoDialog(), ilObjTestGUI\afterSave(), ilSessionDataSet\applyDidacticTemplate(), ilLOEditorGUI\applySettingsTemplate(), ilObjSurvey\applySettingsTemplate(), ilCertificateGUI\certificateDeleteConfirm(), Twig_Node_Module\compile(), ilMailTemplateGUI\confirmDeleteTemplate(), Twig_Tests_LexerTest\countToken(), ilMailTemplateService\createNewTemplate(), ilUserDefinedFieldsPlaceholderDescription\createPlaceholderHtmlDescription(), ilCoursePlaceholderDescription\createPlaceholderHtmlDescription(), ilExercisePlaceholderDescription\createPlaceholderHtmlDescription(), ilDefaultPlaceholderDescription\createPlaceholderHtmlDescription(), ilTestPlaceholderDescription\createPlaceholderHtmlDescription(), ilScormPlaceholderDescription\createPlaceholderHtmlDescription(), ilCertificateTemplatePreviewAction\createPreviewPdf(), Twig_Environment\createTemplate(), ilParticipantsTestResultsGUI\createUserResults(), ilCertificateTemplateDeleteAction\delete(), Twig_Template\displayBlock(), Twig_Test_IntegrationTestCase\doIntegrationTest(), Whoops\Handler\PlainTextHandler\dump(), Twig_Parser\embedTemplate(), ilCertificateTemplateExportAction\export(), ilUserCertificateRepository\fetchLatestVersion(), ilCertificateTemplateRepository\fetchPreviousCertificate(), ilMailTemplateRepository\findByContextId(), ilWACToken\generateSaltFile(), ilTestServiceGUI\getAdditionalUsrDataHtmlAndPopulateWindowTitle(), ilMailTemplateRepository\getAll(), ilCourseCertificateAdapter\getCertificateVariablesDescription(), ilExerciseCertificateAdapter\getCertificateVariablesDescription(), ilSkillCertificateAdapter\getCertificateVariablesDescription(), ilTestCertificateAdapter\getCertificateVariablesDescription(), ilSCORMCertificateAdapter\getCertificateVariablesDescription(), ilTestServiceGUI\getCorrectSolutionOutput(), ilCertificateCron\getDefaultScheduleValue(), ilYuiUtil\getDragDropList(), ilBadgeImageTemplateTableGUI\getItems(), ilTestPlayerAbstractGUI\getKioskHead(), SurveyMatrixQuestionGUI\getLayoutRow(), ilObjAssessmentFolderGUI\getLogDataOutputForm(), SurveyQuestionGUI\getMaterialOutput(), ilTestServiceGUI\getPassListOfAnswers(), ilTestServiceGUI\getPassListOfAnswersWithScoring(), assTextSubsetGUI\getPreview(), assOrderingHorizontalGUI\getPreview(), assNumericGUI\getPreview(), assFlashQuestionGUI\getPreview(), assErrorTextGUI\getPreview(), assFileUploadGUI\getPreview(), assTextQuestionGUI\getPreview(), assLongMenuGUI\getPreview(), assSingleChoiceGUI\getPreview(), assMultipleChoiceGUI\getPreview(), assJavaAppletGUI\getPreview(), assKprimChoiceGUI\getPreview(), assOrderingQuestionGUI\getPreview(), assImagemapQuestionGUI\getPreview(), assMatchingQuestionGUI\getPreview(), assClozeTestGUI\getPreview(), assFormulaQuestionGUI\getPreview(), SurveyTextQuestionGUI\getPrintView(), SurveySingleChoiceQuestionGUI\getPrintView(), SurveyMetricQuestionGUI\getPrintView(), SurveyMultipleChoiceQuestionGUI\getPrintView(), SurveyMatrixQuestionGUI\getPrintView(), ilTestTabsManager\getQuestionsSubTabs(), ilTestServiceGUI\getResultsHeadUserAndPass(), ilTestServiceGUI\getResultsOfUserOutput(), ilTestServiceGUI\getResultsSignature(), assOrderingHorizontalGUI\getSolutionOutput(), assTextSubsetGUI\getSolutionOutput(), assTextQuestionGUI\getSolutionOutput(), assNumericGUI\getSolutionOutput(), assFlashQuestionGUI\getSolutionOutput(), assSingleChoiceGUI\getSolutionOutput(), assMultipleChoiceGUI\getSolutionOutput(), assFileUploadGUI\getSolutionOutput(), assErrorTextGUI\getSolutionOutput(), assJavaAppletGUI\getSolutionOutput(), assLongMenuGUI\getSolutionOutput(), assMatchingQuestionGUI\getSolutionOutput(), assImagemapQuestionGUI\getSolutionOutput(), assOrderingQuestionGUI\getSolutionOutput(), assKprimChoiceGUI\getSolutionOutput(), assClozeTestGUI\getSolutionOutput(), assFormulaQuestionGUI\getSolutionOutput(), ilObjSurveyGUI\getTabs(), ilObjStyleSheet\getTemplate(), ilMailFormGUI\getTemplateDataById(), ilMailTemplateGUI\getTemplateForm(), assTextSubsetGUI\getTestOutput(), assOrderingHorizontalGUI\getTestOutput(), assNumericGUI\getTestOutput(), assFlashQuestionGUI\getTestOutput(), assKprimChoiceGUI\getTestOutput(), assErrorTextGUI\getTestOutput(), assLongMenuGUI\getTestOutput(), assFileUploadGUI\getTestOutput(), assTextQuestionGUI\getTestOutput(), assSingleChoiceGUI\getTestOutput(), assJavaAppletGUI\getTestOutput(), assMultipleChoiceGUI\getTestOutput(), assOrderingQuestionGUI\getTestOutput(), assImagemapQuestionGUI\getTestOutput(), assMatchingQuestionGUI\getTestOutput(), assFormulaQuestionGUI\getTestOutput(), assClozeTestGUI\getTestOutput(), SurveyTextQuestionGUI\getWorkingForm(), SurveyMetricQuestionGUI\getWorkingForm(), SurveySingleChoiceQuestionGUI\getWorkingForm(), SurveyMultipleChoiceQuestionGUI\getWorkingForm(), SurveyMatrixQuestionGUI\getWorkingForm(), Twig_Error\guessTemplateInfo(), ilCertificateAppEventListener\handleLPUpdate(), ilCertificateAppEventListener\handleNewMigratedUserCertificate(), ilCertificate\hasBackgroundImage(), ilOrgUnitPermissionQueries\hasLocalSet(), ilCertificateTemplateImportAction\import(), ilExAssignmentEditorGUI\initAssignmentForm(), ilObjectGUI\initDidacticTemplate(), ilObjSurveyGUI\initPropertiesForm(), ilTestTabsManager\initSettingsTemplate(), ilImagemapCorrectionsInputGUI\insert(), ilSuggestedSolutionSelectorGUI\insert(), ilImagemapFileInputGUI\insert(), ilFlashFileInputGUI\insert(), ilObjSCORM2004LearningModuleGUI\insertScenario(), ilMailTemplateService\listAllTemplatesAsArray(), sspmod_metarefresh_MetaLoader\loadSource(), Twig_Template\loadTemplate(), ilMailTemplateService\modifyExistingTemplate(), assQuestionGUI\originalSyncForm(), ilTestEvaluationGUI\outParticipantsPassDetails(), ilTestEvaluationGUI\outParticipantsResultsOverview(), SurveyMetricQuestion\outPreconditionSelectValue(), ilTestPlayerAbstractGUI\outProcessingTime(), SurveyQuestionGUI\outQuestionText(), assQuestionGUI\outSolutionExplorer(), ilTestEvaluationGUI\outUserListOfAnswerPasses(), ilTestEvaluationGUI\outUserResultsOverview(), Twig_TokenParser_Use\parse(), assSingleChoiceGUI\populateInlineFeedback(), assKprimChoiceGUI\populateSpecificFeedbackInline(), assMultipleChoiceGUI\populateSpecificFeedbackInline(), ilObjTestGUI\printobject(), ilSurveyEditorGUI\printViewObject(), ilSurveyEditorGUI\questionsSubtabs(), Whoops\Util\TemplateHelper\render(), ilObjTestGUI\reviewobject(), ilCertificateMigrationJob\run(), ilObjSurveyGUI\savePropertiesObject(), ilPageObject\saveStyleUsage(), ilLPTableBaseGUI\sendMail(), ilMailTemplateGUI\setAsContextDefault(), ilSurveyParticipantsGUI\setCodesSubtabs(), Twig_Loader_Array\setTemplate(), ilMailTemplateGUI\showEditTemplateForm(), ilSCORM2004ScoGUI\showExportList(), ilTestPlayerAbstractGUI\showFinalStatementCmd(), ilMailFormGUI\showForm(), ilTestPlayerAbstractGUI\showListOfAnswers(), ilSCORM2004ChapterGUI\showProperties(), ilParticipantsTestResultsGUI\showUserResults(), assFormulaQuestion\substituteVariables(), assQuestionGUI\suggestedsolution(), ilCertificateTemplateRepositoryTest\testActivatePreviousCertificate(), Twig_Tests_ExpressionParserTest\testArrayExpression(), Twig_Tests_Loader_FilesystemTest\testArrayInheritance(), Twig_Tests_ExpressionParserTest\testArraySyntaxError(), Twig_Tests_LexerTest\testBigNumbers(), Twig_Tests_LexerTest\testBracketsNesting(), Twig_Tests_ExpressionParserTest\testCanOnlyAssignToNames(), ilCertificateTemplateRepositoryTest\testCertificateWillBeSavedToTheDatabase(), ilCertificateSettingsExerciseRepositoryTest\testCreate(), ilCertificateSettingsTestFormRepositoryTest\testCreate(), ilCertificateTemplateTest\testCreateCertificateTemplate(), ilMailTemplateServiceTest\testDefaultTemplateCanBeSetByContext(), ilMailTemplateServiceTest\testDefaultTemplateForContextCanBeUnset(), Twig_Tests_TemplateTest\testDisplayBlocksAcceptTemplateOnlyAsBlocks(), ilMailTemplateRepositoryTest\testEntityCanBeModified(), ilMailTemplateRepositoryTest\testEntityCanBeSaved(), ilCertificateTemplateRepositoryTest\testFetchCurrentlyActiveCertificate(), ilCertificateSettingsScormFormRepositoryTest\testFetchFormFieldData(), ilCertificateSettingsCourseFormRepositoryTest\testFetchFormFieldData(), ilCertificateTemplateRepositoryTest\testFetchPreviousCertificate(), ilCertificateSettingsExerciseRepositoryTest\testFormFieldData(), ilCertificateSettingsTestFormRepositoryTest\testFormFieldData(), Twig_Tests_NodeVisitor_OptimizerTest\testForOptimizer(), Twig_Tests_TemplateTest\testGetAttribute(), Twig_Tests_TemplateTest\testGetAttributeCallExceptions(), Twig_Tests_TemplateTest\testGetAttributeDefined(), Twig_Tests_TemplateTest\testGetAttributeDefinedStrict(), Twig_Tests_TemplateTest\testGetAttributeExceptions(), Twig_Tests_TemplateTest\testGetAttributeOnArrayWithConfusableKey(), Twig_Tests_TemplateTest\testGetAttributeStrict(), Twig_Tests_TemplateTest\testGetAttributeWithSandbox(), Twig_Tests_TemplateTest\testGetAttributeWithTemplateAsObject(), Twig_Tests_TemplateTest\testGetAttributeWithTemplateAsObjectForDeprecations(), ilCertificateLearningHistoryProviderTest\testGetEntries(), Twig_Tests_TemplateTest\testGetIsMethods(), ilCertificateLearningHistoryProviderTest\testGetName(), Twig_Tests_EnvironmentTest\testGlobals(), grammarTest\testGrammar(), ilCertificateLearningHistoryProviderTest\testIsActive(), Twig_Tests_LexerTest\testLineDirective(), Twig_Tests_LexerTest\testLineDirectiveInline(), Twig_Tests_Loader_FilesystemTest\testLoadTemplateAndRenderBlockWithCache(), Twig_Tests_LexerTest\testLongBlock(), Twig_Tests_LexerTest\testLongComments(), Twig_Tests_LexerTest\testLongVar(), Twig_Tests_LexerTest\testLongVerbatim(), Twig_Tests_ExpressionParserTest\testMacroDefinitionDoesNotSupportNonConstantDefaultValues(), Twig_Tests_ExpressionParserTest\testMacroDefinitionSupportsConstantDefaultValues(), Twig_Tests_LexerTest\testNameLabelForFunction(), Twig_Tests_LexerTest\testNameLabelForTag(), Twig_Tests_LexerTest\testOperatorEndingWithALetterAtTheEndOfALine(), Twig_Tests_TemplateTest\testRenderBlockWithUndefinedBlock(), ilCertificateSettingsScormFormRepositoryTest\testSave(), ilCertificateSettingsExerciseRepositoryTest\testSave(), ilCertificateSettingsTestFormRepositoryTest\testSave(), ilCertificateSettingsCourseFormRepositoryTest\testSaveSettings(), Twig_Tests_Loader_FilesystemTest\testSecurity(), Twig_Tests_ExpressionParserTest\testStringExpression(), Twig_Tests_LexerTest\testStringWithEscapedDelimiter(), Twig_Tests_LexerTest\testStringWithEscapedInterpolation(), Twig_Tests_LexerTest\testStringWithHash(), Twig_Tests_LexerTest\testStringWithInterpolation(), Twig_Tests_LexerTest\testStringWithNestedInterpolations(), Twig_Tests_LexerTest\testStringWithNestedInterpolationsInBlock(), Twig_Tests_LexerTest\testStringWithUnterminatedInterpolation(), ilMailTemplateRepositoryTest\testTemplateCanBeFoundById(), Twig_Tests_ErrorTest\testTwigExceptionAddsFileAndLine(), Twig_Tests_ErrorTest\testTwigExceptionGuessWithExceptionAndArrayLoader(), Twig_Tests_ErrorTest\testTwigExceptionGuessWithExceptionAndFilesystemLoader(), Twig_Tests_ErrorTest\testTwigExceptionGuessWithMissingVarAndArrayLoader(), Twig_Tests_ErrorTest\testTwigExceptionGuessWithMissingVarAndFilesystemLoader(), Twig_Tests_LexerTest\testUnterminatedBlock(), Twig_Tests_LexerTest\testUnterminatedVariable(), twig_template_from_string(), ilMailTemplateGUI\unsetAsContextDefault(), ilObjGroup\updateGroupType(), and ilUsersGalleryGUI\view().

◆ $template_sp_content

foreach ( $user_consent_list as $c) $template_sp_content = array()

Definition at line 215 of file consentAdmin.php.

◆ $translator

$translator = $template->getTranslator()

Definition at line 219 of file consentAdmin.php.

◆ $user_consent

$user_consent = array()

Definition at line 210 of file consentAdmin.php.

◆ $user_consent_list

if ( $action !==null &&$sp_entityid !==null) $user_consent_list = $consent_storage->getConsents($hashed_user_id)

Definition at line 207 of file consentAdmin.php.

◆ $userid

◆ $userid_attributename

$userid_attributename = (isset($idp_metadata['userid.attribute']) && is_string($idp_metadata['userid.attribute'])) ? $idp_metadata['userid.attribute'] : 'eduPersonPrincipalName'

Definition at line 125 of file consentAdmin.php.

◆ $userids

$userids = $attributes[$userid_attributename]

Definition at line 127 of file consentAdmin.php.

◆ data [1/3]

foreach ( $all_sp_metadata as $sp_entityid=> $sp_values) $template data[ 'header'] = 'Consent Administration'

Definition at line 283 of file consentAdmin.php.

◆ data [2/3]

$template data[ 'spList'] = $sp_list

Definition at line 284 of file consentAdmin.php.

◆ data [3/3]

$template data[ 'showDescription'] = $cA_config->getValue('showDescription')

Definition at line 285 of file consentAdmin.php.

◆ else

if ( $as->getAuthData( 'saml:sp:IdP') !==null) else
Initial value:
{
$source = $idp_metadata['metadata-set'].'|'.$idp_entityid
$idp_entityid
$idp_metadata
$source
Definition: linkback.php:22

Definition at line 119 of file consentAdmin.php.