diff --git a/course/format/renderer.php b/course/format/renderer.php
index f16bdd61ca3..b630ad8bef4 100644
--- a/course/format/renderer.php
+++ b/course/format/renderer.php
@@ -559,7 +559,7 @@ abstract class format_section_renderer_base extends plugin_renderer_base {
// so there is definitely something to print.
$formattedinfo = \core_availability\info::format_info(
$section->availableinfo, $section->course);
- $o .= $this->courserenderer->availability_info($formattedinfo);
+ $o .= $this->courserenderer->availability_info($formattedinfo, 'isrestricted');
}
} else if ($canviewhidden && !empty($CFG->enableavailability)) {
// Check if there is an availability restriction.
@@ -568,7 +568,7 @@ abstract class format_section_renderer_base extends plugin_renderer_base {
if ($fullinfo) {
$formattedinfo = \core_availability\info::format_info(
$fullinfo, $section->course);
- $o .= $this->courserenderer->availability_info($formattedinfo);
+ $o .= $this->courserenderer->availability_info($formattedinfo, 'isrestricted isfullinfo');
}
}
return $o;
diff --git a/course/renderer.php b/course/renderer.php
index bee3fe78f70..565f90c3f80 100644
--- a/course/renderer.php
+++ b/course/renderer.php
@@ -728,7 +728,24 @@ class core_course_renderer extends plugin_renderer_base {
* @return string
*/
public function availability_info($text, $additionalclasses = '') {
+
$data = ['text' => $text, 'classes' => $additionalclasses];
+ $additionalclasses = array_filter(explode(' ', $additionalclasses));
+
+ if (in_array('ishidden', $additionalclasses)) {
+ $data['ishidden'] = 1;
+
+ } else if (in_array('isstealth', $additionalclasses)) {
+ $data['isstealth'] = 1;
+
+ } else if (in_array('isrestricted', $additionalclasses)) {
+ $data['isrestricted'] = 1;
+
+ if (in_array('isfullinfo', $additionalclasses)) {
+ $data['isfullinfo'] = 1;
+ }
+ }
+
return $this->render_from_template('core/availability_info', $data);
}
@@ -752,7 +769,7 @@ class core_course_renderer extends plugin_renderer_base {
if (!empty($mod->availableinfo)) {
$formattedinfo = \core_availability\info::format_info(
$mod->availableinfo, $mod->get_course());
- $output = $this->availability_info($formattedinfo);
+ $output = $this->availability_info($formattedinfo, 'isrestricted');
}
return $output;
}
@@ -775,9 +792,9 @@ class core_course_renderer extends plugin_renderer_base {
// Display information about conditional availability.
// Don't add availability information if user is not editing and activity is hidden.
if ($mod->visible || $this->page->user_is_editing()) {
- $hidinfoclass = '';
+ $hidinfoclass = 'isrestricted isfullinfo';
if (!$mod->visible) {
- $hidinfoclass = 'hide';
+ $hidinfoclass .= ' hide';
}
$ci = new \core_availability\info_module($mod);
$fullinfo = $ci->get_full_information();
diff --git a/theme/boost/templates/core/availability_info.mustache b/theme/boost/templates/core/availability_info.mustache
index 3cc64343b67..56cf9c37528 100644
--- a/theme/boost/templates/core/availability_info.mustache
+++ b/theme/boost/templates/core/availability_info.mustache
@@ -15,13 +15,47 @@
along with Moodle. If not, see