getAttributes(), "user", "User"); ?>
isFederationAdmin()) { echo "

" . _("You are not a federation manager.") . "

"; footer(); exit(0); } $feds = $user->getAttributes("user:fedadmin"); foreach ($feds as $onefed) { $thefed = new Federation(strtoupper($onefed['value'])); ?>

identifier)); ?>

getAttributes(), "fed", "FED"); ?>
identifier)]; ?>

identifier)); ?>

identifier, TRUE); ?>
listIdentityProviders(0)); ?> listIdentityProviders(1)); ?>

invalidateToken($_POST['invitation_id']); } if (isset($_GET['invitation'])) { echo "
"; if ($_GET['invitation'] == "SUCCESS") echo UI_remark(_("The invitation email was sent successfully."), _("The invitation email was sent.")); else if ($_GET['invitation'] == "FAILURE") echo UI_error(_("The invitation email could not be sent!"), _("The invitation email could not be sent!")); else echo UI_error(_("Error: unknown result code of invitation!?!"), _("Unknown result!")); echo "
"; } if (Config::$CONSORTIUM['name'] == 'eduroam') $helptext = "

" . sprintf(_("Need help? Refer to the Federation Operator manual"),"https://wiki.geant.org/x/KQB_AQ")."

"; else $helptext = ""; echo $helptext; ?> getAttributes("user:fedadmin"); $pending_invites = $mgmt->listPendingInvitations(); if (Config::$DB['enforce-external-sync']) echo ""; ?> "; // extract only pending invitations for *this* fed $display_pendings = FALSE; foreach ($pending_invites as $oneinvite) if (strtoupper($oneinvite['country']) == strtoupper($thefed->identifier)) { // echo "PENDINGS!"; $display_pendings = TRUE; } $idps = $thefed->listIdentityProviders(); $my_idps = []; foreach ($idps as $index => $idp) { $my_idps[$idp['entityID']] = strtolower($idp['title']); } asort($my_idps); foreach ($my_idps as $index => $my_idp) { $idp_instance = $idps[$index]['instance']; // new row, with one IdP inside echo ""; // deployment status; need to dive into profiles for this // show happy eyeballs if at least one profile is configured/showtime echo ""; // get the coarse status overview $status = $idp_instance->getAllProfileStatusOverview(); echo ""; // name echo ""; // external DB sync, if configured as being necessary if (Config::$DB['enforce-external-sync']) { if ($idp_instance->getExternalDBSyncState() != EXTERNAL_DB_SYNCSTATE_NOTSUBJECTTOSYNCING) { echo ""; } } // admin management echo ""; // end of entry echo ""; } if ($display_pendings) { echo ""; foreach ($pending_invites as $oneinvite) if (strtoupper($oneinvite['country']) == strtoupper($thefed->identifier)) { echo ""; } } }; ?>
" . sprintf(_("%s Database Sync Status"), Config::$CONSORTIUM['name']) . "
" . sprintf(_("Your federation %s contains the following institutions: (Check their authentication server status)"), '' . $thefed::$FederationList[$onefed['value']] . '', "action_fedcheck.php?fed=" . $thefed->identifier) . "
"; echo ($idp_instance->isOneProfileConfigured() ? "C" : "" ) . " " . ($idp_instance->isOneProfileShowtime() ? "V" : "" ); echo ""; if ($status['dns'] == RETVAL_INVALID) { echo UI_error(0, "DNS Error", true); } else { echo UI_okay(0, "DNS OK", true); } if ($status['cert'] != L_OK && $status['cert'] != RETVAL_SKIPPED) { echo UI_message($status['cert'], 0, "Cert Error", true); } else { echo UI_okay(0, "Cert OK", true); } if ($status['reachability'] == RETVAL_INVALID) { echo UI_error(0, "Reachability Error", true); } else { echo UI_okay(0, "Reachability OK", true); } if ($status['TLS'] == RETVAL_INVALID) { echo UI_error(0, "RADIUS/TLS Error", true); } else { echo UI_okay(0, "RADIUS/TLS OK", true); } echo " " . $idp_instance->name . " "; echo "
"; if ($idp_instance->getExternalDBSyncState() != EXTERNAL_DB_SYNCSTATE_SYNCED) { echo "
" . _("NOT linked") . "
"; } else { echo "
" . _("Linked") . "
"; } echo "
"; echo "
" . _("Pending invitations in your federation:") . "
" . $oneinvite['name'] . " " . $oneinvite['mail'] . " "; echo "
"; echo "