diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2026-01-06 16:58:32 +0100 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2026-01-06 16:58:32 +0100 |
| commit | eb1bfff907e78660d9d8b7509bf32d137c9e2c84 (patch) | |
| tree | b10409ef36a45a7858875b07b33b7f69a886f730 | |
| parent | 23d4aedd3ee2b8bcdbc468e2716a92c73f98d731 (diff) | |
really catch all errors when loading admission rules, fixes #6145
Closes #6145
Merge request studip/studip!4659
| -rw-r--r-- | lib/classes/admission/AdmissionRule.php | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/lib/classes/admission/AdmissionRule.php b/lib/classes/admission/AdmissionRule.php index fbac0d8..d6cd03a 100644 --- a/lib/classes/admission/AdmissionRule.php +++ b/lib/classes/admission/AdmissionRule.php @@ -48,15 +48,16 @@ abstract class AdmissionRule StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'] . DIRECTORY_SEPARATOR . $row['path']); } - try { - $rule = new $className(); - self::$rules[$className] = [ - 'id' => $row['id'], - 'name' => $className::getName(), - 'description' => $className::getDescription(), - 'active' => (bool) $row['active'], - ]; - } catch (Exception $e) {} + if (!is_subclass_of($className, self::class)) { + return; + } + + self::$rules[$className] = [ + 'id' => $row['id'], + 'name' => $className::getName(), + 'description' => $className::getDescription(), + 'active' => (bool) $row['active'], + ]; } ); } |
