<?php $sources = simplesaml_get_enabled_sources(); if (!empty($sources)) { foreach ($sources as $source) { $label = simplesaml_get_source_label($source); $icon_url = simplesaml_get_source_icon_url($source); if (!empty($icon_url)) { $text = elgg_view("output/img", array("src" => $icon_url, "alt" => $label)); } else { $text = $label; } echo "<div>"; echo elgg_view("output/url", array("text" => $text, "title" => $label, "href" => "saml/login/" . $source)); echo "</div>"; } }
<?php /** * Offer the ability to limit the logon widget to only show one SAML/CAS source */ // prevent crashes in the plugin is not yet configured if (!is_callable('simplesaml_get_enabled_sources')) { return true; } $sources = simplesaml_get_enabled_sources(); if (empty($sources)) { echo elgg_echo('simplesaml:settings:warning:configuration:sources'); return; } $widget = elgg_extract('entity', $vars); $options_values = ['all' => elgg_echo('all')]; foreach ($sources as $source) { $options_values[$source] = simplesaml_get_source_label($source); } echo '<div>'; echo elgg_echo('simplesaml:widget:select_source'); echo elgg_view('input/dropdown', ['name' => 'params[samlsource]', 'value' => $widget->samlsource, 'options_values' => $options_values, 'class' => 'mls']); echo '</div>';
// show all configured sources foreach ($sources as $source) { $label = simplesaml_get_source_label($source); $icon_url = simplesaml_get_source_icon_url($source); if (!empty($icon_url)) { $text = elgg_view("output/img", array("src" => $icon_url, "alt" => $label)); } else { $text = $label; } echo "<div class='mbs'>"; echo elgg_view("output/url", array("text" => $text, "title" => $label, "href" => "saml/login/" . $source)); echo "</div>"; } } elseif (!empty($configured_source) && simplesaml_is_enabled_source($configured_source)) { // show one saml source $label = simplesaml_get_source_label($configured_source); $icon_url = simplesaml_get_source_icon_url($configured_source); if (!empty($icon_url)) { $text = elgg_view("output/img", array("src" => $icon_url, "alt" => $label)); } else { $text = $label; } echo "<div>"; echo elgg_view("output/url", array("text" => $text, "title" => $label, "href" => "saml/login/" . $configured_source)); echo "</div>"; } } } else { // user is already loggedin $site = elgg_get_site_entity(); echo elgg_echo("simplesaml:widget:logged_in", array($user->name, $site->name));