diff --git a/README.md b/README.md index 78ada6f..4610998 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,9 @@ At the end of the block a list of all courses is shown where the usere is enroll # Changelog # +## [[v2.0.4]] ## +- configurable max courses if is_siteadmin + ## [[v2.0.3]] ## - add list of all moodle courses is is_siteadmin - some refactoring diff --git a/block_course_list_advanced.php b/block_course_list_advanced.php index 224b3ed..d64ee9d 100644 --- a/block_course_list_advanced.php +++ b/block_course_list_advanced.php @@ -228,7 +228,8 @@ public function get_content() . ''; $countCoursesNoneditingTeacher++; } - if (is_siteadmin()) { + + if (is_siteadmin() && $countCoursesAll <= $configHandler->getMax_for_siteadmin()) { $listAllCourses = $listAllCourses . '
' . '
' . $htmllinktocourse . ' ' . $linkViewOrphanedFiles . ' ' . $htmllinktocoursedeletion . ' ' . $roles . '
' . $duration . '
'; $countCoursesAll++; } @@ -237,7 +238,7 @@ public function get_content() $title = ''; $title = get_string('blocktitle', 'block_course_list_advanced'); if (is_siteadmin()) { - $title = $title . ' (Adminmodus)'; + $title = 'Adminmodus' ; } $this->title = $title; /// If we can update any course of the view all isn't hidden, show the view all courses link @@ -269,7 +270,12 @@ public function get_content() } if ($countCoursesAll) { - $this->content->items[] = '
' . $countCoursesAll . ' ' . get_string('headlinenallcourses', 'block_course_list_advanced') . '
'; + $this->content->items[] = '
' + . $countCoursesAll . ' ' + . get_string('headlinenallcourses', 'block_course_list_advanced') + . ' (max. ' + . $configHandler->getMax_for_siteadmin() + . ')
'; $this->content->items[] = $listAllCourses . '
'; } diff --git a/classes/config_handler.php b/classes/config_handler.php index 4c7c5dc..feaaeea 100644 --- a/classes/config_handler.php +++ b/classes/config_handler.php @@ -44,6 +44,14 @@ class config_handler */ private $usesphorphanedfiles = false; + /** + * @var int + */ + private $max_for_siteadmin = 22; + + + + public function __construct(stdClass $config) { @@ -71,6 +79,10 @@ public function __construct(stdClass $config) $this->usesphorphanedfiles = $config->block_course_list_advanced_usesphorphanedfiles == true ? true : false; } + if (isset($config->block_course_list_advanced_max_for_siteadmin)) { + $this->max_for_siteadmin = $config->block_course_list_advanced_max_for_siteadmin; + } + } @@ -125,8 +137,18 @@ public function getIsallowedonmypage(): bool * * @return bool */ - public function getUsesphorphanedfiles() + public function getUsesphorphanedfiles(): bool { return $this->usesphorphanedfiles; } + + /** + * Get the value of maxforsiteadmin + * + * @return int + */ + public function getMax_for_siteadmin(): int + { + return $this->max_for_siteadmin; + } } diff --git a/lang/de/block_course_list_advanced.php b/lang/de/block_course_list_advanced.php index 91878dd..562d785 100644 --- a/lang/de/block_course_list_advanced.php +++ b/lang/de/block_course_list_advanced.php @@ -46,6 +46,9 @@ $string['isallowedonmypage'] = 'Block auf my-Seite (Dashboard/Arbeitsplatz) erlauben'; $string['configisallowedonmypage'] = 'Wenn aktiviert kann der Block auf der my-Seite hinzugefügt werden (wenn Berechtigung vorhanden).'; +$string['max_for_siteadmin'] = 'Maximale Kursanzahl im Abschnitt Alle Kurse für Siteadmins'; +$string['configmax_for_siteadmin'] = 'Für SiteAdmins werden nur maximal so viele Kurse im Abschnitt AlleKurse angezeigt.'; + $string['course_list_advanced:view'] = 'Block anzeigen'; $string['course_list_advanced:addinstance'] = 'Block Kursliste erweitert hinzufügen'; $string['course_list_advanced:myaddinstance'] = 'Block Kursliste erweitert zum Arbeitsplatz hinzufügen'; diff --git a/lang/en/block_course_list_advanced.php b/lang/en/block_course_list_advanced.php index 3038420..999e9f9 100644 --- a/lang/en/block_course_list_advanced.php +++ b/lang/en/block_course_list_advanced.php @@ -46,6 +46,9 @@ $string['isallowedonmypage'] = 'Allow to add block on the mypage'; $string['configisallowedonmypage'] = 'When activated it is allowed to add block to mypage.'; +$string['max_for_siteadmin'] = 'Maximum number of courses in section all courses for siteadmins'; +$string['configmax_for_siteadmin'] = 'Maximum number of courses in section all courses for siteadmins'; + $string['course_list_advanced:view'] = 'Show block'; $string['course_list_advanced:addinstance'] = 'Add a new courses block'; $string['course_list_advanced:myaddinstance'] = 'Add a new courses block to Dashboard'; diff --git a/settings.php b/settings.php index 1be2b4e..db174d2 100644 --- a/settings.php +++ b/settings.php @@ -70,5 +70,15 @@ 0 )); + $options = array(5=>'5', 10=>'10', 20=>'20', 30=>'30', 40=>'40', 50=>'50', 100=>'100', 10000=>'10000'); + + $settings->add(new admin_setting_configselect( + 'block_course_list_advanced_max_for_siteadmin', + get_string('max_for_siteadmin', 'block_course_list_advanced'), + get_string('configmax_for_siteadmin', 'block_course_list_advanced'), + '30', + $options + )); + } diff --git a/version.php b/version.php index d542f71..de09ce6 100644 --- a/version.php +++ b/version.php @@ -25,6 +25,6 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2021110801; // The current plugin version (Date: YYYYMMDDXX) +$plugin->version = 2021111001; // The current plugin version (Date: YYYYMMDDXX) $plugin->requires = 2020060900; // Requires this Moodle version $plugin->component = 'block_course_list_advanced'; // Full name of the plugin (used for diagnostics)