Index: moodle/course/lib.php
--- moodle/course/lib.php Base (1.776)
+++ moodle/course/lib.php Locally Modified (Based On 1.776)
@@ -2240,10 +2240,15 @@
 
     echo '<div class="coursebox clearfix">';
     echo '<div class="info">';
-    echo '<h3 class="name"><a title="'.get_string('entercourse').'"'.
+    echo '<span class="name"><a title="'.get_string('entercourse').'"'.
          $linkcss.' href="'.$CFG->wwwroot.'/course/view.php?id='.$course->id.'">'.
-         highlight($highlightterms, format_string($course->fullname)).'</a></h3>';
+         highlight($highlightterms, format_string($course->fullname)).'</a></span>&nbsp;';
 
+    if ($icons = enrol_get_course_info_icons($course)) {
+      foreach ($icons as $pix_icon) {
+         echo $OUTPUT->render($pix_icon);
+      }
+    }
     /// first find all roles that are supposed to be displayed
 
     if (!empty($CFG->coursecontact)) {
Index: moodle/enrol/guest/lang/en/enrol_guest.php
--- moodle/enrol/guest/lang/en/enrol_guest.php Base (1.5)
+++ moodle/enrol/guest/lang/en/enrol_guest.php Locally Modified (Based On 1.5)
@@ -25,6 +25,7 @@
  */
 
 $string['allowguests'] = 'This course allows guest users to enter';
+$string['allowguestswithpassword'] = 'This course allows guest users with password to enter';
 $string['guest:config'] = 'Configure guest access instances';
 $string['password'] = 'Password';
 $string['password_help'] = 'A password allows guest access to the course to be restricted to only those who know the password. Guests will be required to supply the password each time they access the course.';
Index: moodle/enrol/guest/lib.php
--- moodle/enrol/guest/lib.php Base (1.6)
+++ moodle/enrol/guest/lib.php Locally Modified (Based On 1.6)
@@ -32,10 +32,18 @@
 class enrol_guest_plugin extends enrol_plugin {
 
     public function get_info_icons(array $instances) {
-        //TODO: we need two different guest icons - with and without password
-        return array(new pix_icon('i/guest', get_string('allowguests', 'enrol_guest')));
+        $enrolicon = 'guest';
+        $iconsalt = 'allowguests';
+        foreach ($instances as $instance) {
+            if ($instance->enrol == 'guest' && !empty($instance->password)) {
+                $enrolicon = 'guestwithpassword';
+                $iconsalt = 'allowguestswithpassword';
     }
+        }
 
+        return array(new pix_icon($enrolicon, get_string($iconsalt, 'enrol_guest'), 'enrol_guest'));
+    }
+
     public function enrol_user(stdClass $instance, $userid, $roleid = null, $timestart = 0, $timeend = 0) {
         // no real enrolments here!
         return;

Index: moodle/enrol/self/lang/en/enrol_self.php
--- moodle/enrol/self/lang/en/enrol_self.php Base (1.7)
+++ moodle/enrol/self/lang/en/enrol_self.php Locally Modified (Based On 1.7)
@@ -24,6 +24,8 @@
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
+$string['allowselfenrol'] = 'Allow self enrolment';
+$string['allowselfenrolwithkey'] = 'Allow self enrolment with enrolment key';
 $string['customwelcomemessage'] = 'Custom welcome message';
 $string['defaultrole'] = 'Default role assignment';
 $string['defaultrole_desc'] = 'Select role which should be assigned to users during self enrolment';
Index: moodle/enrol/self/lib.php
--- moodle/enrol/self/lib.php Base (1.16)
+++ moodle/enrol/self/lib.php Locally Modified (Based On 1.16)
@@ -32,10 +32,18 @@
 class enrol_self_plugin extends enrol_plugin {
 
     public function get_info_icons(array $instances) {
-        //TODO: we need two different self enrol icons - with and without key
-        return array();
+        $enrolicon = 'self';
+        $iconalt = 'allowselfenrol';
+        foreach ($instances as $instance) {
+            if ($instance->enrol == 'self' && !empty($instance->password)) {
+                $enrolicon = 'selfwithkey';
+                $iconalt = 'allowselfenrolwithkey';
     }
+        }
 
+        return array(new pix_icon($enrolicon, get_string($iconalt, 'enrol_self'), 'enrol_self'));
+    }
+
     /**
      * Returns localised name of enrol instance
      *

