We need to check always if iconurl is an instance of moodle_url to
avoid Web Services returning iconurls from identity providers to fail.
$data = [];
foreach ($identityproviders as $idp) {
if (!empty($idp['icon'])) {
- // Pre-3.3 auth plugins provide icon as a pix_icon instance.
+ // Pre-3.3 auth plugins provide icon as a pix_icon instance. New auth plugins (since 3.3) provide iconurl.
$idp['iconurl'] = $output->image_url($idp['icon']->pix, $idp['icon']->component);
- } else if ($idp['iconurl'] instanceof moodle_url) {
- // New auth plugins (since 3.3) provide iconurl.
+ }
+ if ($idp['iconurl'] instanceof moodle_url) {
$idp['iconurl'] = $idp['iconurl']->out(false);
}
unset($idp['icon']);