From 0255bc7254a20367da6424c98e121d9d4d1dc2fd Mon Sep 17 00:00:00 2001 From: David Woloszyn Date: Thu, 24 Nov 2022 20:41:35 +1100 Subject: [PATCH] MDL-76467 gradereport: Next and previous arrows use language direction --- grade/report/singleview/renderer.php | 10 ++++++++-- .../singleview/templates/report_navigation.mustache | 4 ++-- grade/report/user/renderer.php | 10 ++++++++-- grade/report/user/templates/user_navigation.mustache | 4 ++-- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/grade/report/singleview/renderer.php b/grade/report/singleview/renderer.php index 8663e2b7106..a3ddb52e8ff 100644 --- a/grade/report/singleview/renderer.php +++ b/grade/report/singleview/renderer.php @@ -121,13 +121,18 @@ class gradereport_singleview_renderer extends plugin_renderer_base { $i = array_search($itemid, $reloptionssorting); $navparams = ['item' => $itemtype, 'id' => $courseid, 'group' => $groupid]; + // Determine directionality so that icons can be modified to suit language. + $previousarrow = right_to_left() ? 'right' : 'left'; + $nextarrow = right_to_left() ? 'left' : 'right'; + if ($i > 0) { $navparams['itemid'] = $reloptionssorting[$i - 1]; $link = (new moodle_url('/grade/report/singleview/index.php', $navparams)) ->out(false); $navigationdata['previoususer'] = [ 'name' => $reloptions[$navparams['itemid']], - 'url' => $link + 'url' => $link, + 'previousarrow' => $previousarrow ]; } if ($i < count($reloptionssorting) - 1) { @@ -136,7 +141,8 @@ class gradereport_singleview_renderer extends plugin_renderer_base { ->out(false); $navigationdata['nextuser'] = [ 'name' => $reloptions[$navparams['itemid']], - 'url' => $link + 'url' => $link, + 'nextarrow' => $nextarrow ]; } diff --git a/grade/report/singleview/templates/report_navigation.mustache b/grade/report/singleview/templates/report_navigation.mustache index 03da8ddf203..19bbf2bd541 100644 --- a/grade/report/singleview/templates/report_navigation.mustache +++ b/grade/report/singleview/templates/report_navigation.mustache @@ -45,7 +45,7 @@ {{#previoususer}} @@ -56,7 +56,7 @@ {{/nextuser}} diff --git a/grade/report/user/renderer.php b/grade/report/user/renderer.php index c8d82de2dc6..07f7dc8332a 100644 --- a/grade/report/user/renderer.php +++ b/grade/report/user/renderer.php @@ -150,13 +150,18 @@ class gradereport_user_renderer extends plugin_renderer_base { $arraykeys = array_keys($users); $keynumber = array_search($userid, $arraykeys); + // Determine directionality so that icons can be modified to suit language. + $previousarrow = right_to_left() ? 'right' : 'left'; + $nextarrow = right_to_left() ? 'left' : 'right'; + // If the current user is not the first one in the list, find and render the previous user. if ($keynumber !== 0) { $previoususer = $users[$arraykeys[$keynumber - 1]]; $navigationdata['previoususer'] = [ 'name' => fullname($previoususer), 'url' => (new moodle_url('/grade/report/user/index.php', ['id' => $courseid, 'userid' => $previoususer->id])) - ->out(false) + ->out(false), + 'previousarrow' => $previousarrow ]; } // If the current user is not the last one in the list, find and render the last user. @@ -165,7 +170,8 @@ class gradereport_user_renderer extends plugin_renderer_base { $navigationdata['nextuser'] = [ 'name' => fullname($nextuser), 'url' => (new moodle_url('/grade/report/user/index.php', ['id' => $courseid, 'userid' => $nextuser->id])) - ->out(false) + ->out(false), + 'nextarrow' => $nextarrow ]; } diff --git a/grade/report/user/templates/user_navigation.mustache b/grade/report/user/templates/user_navigation.mustache index 5894e88decc..1789585407d 100644 --- a/grade/report/user/templates/user_navigation.mustache +++ b/grade/report/user/templates/user_navigation.mustache @@ -44,7 +44,7 @@ {{#previoususer}} @@ -53,7 +53,7 @@ {{/nextuser}}