From 2ad3a3ad17a58039250d9b3f3613d85657b25d48 Mon Sep 17 00:00:00 2001
From: Laurent David <lmedavid@gmail.com>
Date: Mon, 3 Mar 2025 09:19:14 +0100
Subject: [PATCH] MDL-84256 core_course: Fix course icon in course index page

* In RTL language the icon should follow the course name intead
of being upfront
---
 course/renderer.php                 |  3 ++-
 theme/boost/scss/moodle/course.scss | 13 +------------
 theme/boost/style/moodle.css        | 11 +----------
 theme/classic/style/moodle.css      | 11 +----------
 4 files changed, 5 insertions(+), 33 deletions(-)

diff --git a/course/renderer.php b/course/renderer.php
index 47992ebd192..597d69ed153 100644
--- a/course/renderer.php
+++ b/course/renderer.php
@@ -461,7 +461,8 @@ class core_course_renderer extends plugin_renderer_base {
         $coursename = $chelper->get_course_formatted_name($course);
         $coursenamelink = html_writer::link(new moodle_url('/course/view.php', ['id' => $course->id]),
             $coursename, ['class' => $course->visible ? 'aalink' : 'aalink dimmed']);
-        $content .= html_writer::tag($nametag, $coursenamelink, ['class' => 'coursename']);
+        $courseicon = $this->output->pix_icon('i/course', $coursename);
+        $content .= html_writer::tag($nametag, $courseicon . $coursenamelink, ['class' => 'coursename']);
         // If we display course in collapsed form but the course has summary or course contacts, display the link to the info page.
         $content .= html_writer::start_tag('div', ['class' => 'moreinfo']);
         if ($chelper->get_show_courses() < self::COURSECAT_SHOW_COURSES_EXPANDED) {
diff --git a/theme/boost/scss/moodle/course.scss b/theme/boost/scss/moodle/course.scss
index 629859e94c7..19ee3e961fe 100644
--- a/theme/boost/scss/moodle/course.scss
+++ b/theme/boost/scss/moodle/course.scss
@@ -595,23 +595,12 @@ span.editinstructions {
     }
 }
 
-.subcategories,
-#frontpage-category-names,
-#frontpage-category-combo {
-    .coursebox > .info > .coursename a {
-        display: block;
-        background-image: url([[pix:moodle|i/course]]);
-        background-repeat: no-repeat;
-        padding-left: 21px;
-        background-position: left 0.2em;
-    }
-}
-
 .coursebox > .info > .coursename {
     font-size: $font-size-base;
     font-weight: normal;
     margin: 5px;
     padding: 0;
+    display: inline;
 }
 
 .coursebox .content .teachers li {
diff --git a/theme/boost/style/moodle.css b/theme/boost/style/moodle.css
index 2a036c67962..31688352d46 100644
--- a/theme/boost/style/moodle.css
+++ b/theme/boost/style/moodle.css
@@ -28527,21 +28527,12 @@ span.editinstructions .alert-link {
   border-radius: 0.5rem;
 }
 
-.subcategories .coursebox > .info > .coursename a,
-#frontpage-category-names .coursebox > .info > .coursename a,
-#frontpage-category-combo .coursebox > .info > .coursename a {
-  display: block;
-  background-image: url([[pix:moodle|i/course]]);
-  background-repeat: no-repeat;
-  padding-left: 21px;
-  background-position: left 0.2em;
-}
-
 .coursebox > .info > .coursename {
   font-size: 0.9375rem;
   font-weight: normal;
   margin: 5px;
   padding: 0;
+  display: inline;
 }
 
 .coursebox .content .teachers li {
diff --git a/theme/classic/style/moodle.css b/theme/classic/style/moodle.css
index 0dcad3f9538..58907fcba8f 100644
--- a/theme/classic/style/moodle.css
+++ b/theme/classic/style/moodle.css
@@ -28527,21 +28527,12 @@ span.editinstructions .alert-link {
   border-radius: 0.25rem;
 }
 
-.subcategories .coursebox > .info > .coursename a,
-#frontpage-category-names .coursebox > .info > .coursename a,
-#frontpage-category-combo .coursebox > .info > .coursename a {
-  display: block;
-  background-image: url([[pix:moodle|i/course]]);
-  background-repeat: no-repeat;
-  padding-left: 21px;
-  background-position: left 0.2em;
-}
-
 .coursebox > .info > .coursename {
   font-size: 0.9375rem;
   font-weight: normal;
   margin: 5px;
   padding: 0;
+  display: inline;
 }
 
 .coursebox .content .teachers li {
-- 
2.34.1

