diff options
| author | Philipp Schüttlöffel <schuettloeffel@zqs.uni-hannover.de> | 2024-09-24 10:53:31 +0200 |
|---|---|---|
| committer | Philipp Schüttlöffel <schuettloeffel@zqs.uni-hannover.de> | 2024-09-24 10:53:31 +0200 |
| commit | 4459dd7917f4d1c34f40bb68f0e991e9c3d53e4c (patch) | |
| tree | 5c07151ae61276d334e88f6309c30d439a85c12e /lib/plugins/core/AdminCourseWidgetPlugin.php | |
| parent | da0022e5c1abbf9825ae76debaabdff7e8623bb4 (diff) | |
| parent | 97a188592c679890a25c37ab78463add76a52ff7 (diff) | |
Merge branch 'main' into issue-3911issue-3911
Diffstat (limited to 'lib/plugins/core/AdminCourseWidgetPlugin.php')
| -rw-r--r-- | lib/plugins/core/AdminCourseWidgetPlugin.php | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/plugins/core/AdminCourseWidgetPlugin.php b/lib/plugins/core/AdminCourseWidgetPlugin.php new file mode 100644 index 0000000..c554626 --- /dev/null +++ b/lib/plugins/core/AdminCourseWidgetPlugin.php @@ -0,0 +1,42 @@ +<?php +/** + * This plugin interface is used to add functionality to the sidebar of the + * admin courses page. + * + * @see AdminCourseOptionsWidget + * @author Jan-Hendrik Willms <tleilax+studip@gmail.com> + * @since Stud.IP 5.4 + */ +interface AdminCourseWidgetPlugin +{ + /** + * Returns a list of widgets for the admin courses page. + * + * @return AdminCourseOptionsWidget[] + */ + public function getWidgets(): iterable; + + /** + * Return the filter values this widget provides. Return an associative + * array with filter names as indices and filter values as values. + * + * @return array + */ + public function getFilters(): array; + + /** + * Apply the set filters to the AdminCourseFilter query. + * + * @param AdminCourseFilter $filter + */ + public function applyFilters(AdminCourseFilter $filter): void; + + + /** + * Set filters from the admin course page. You will be given an associative + * array according to getFilters(). + * + * @param array $filters + */ + public function setFilters(array $filters): void; +} |
