diff options
| author | Murtaza Sultani <sultani@data-quest.de> | 2024-12-20 08:44:09 +0000 |
|---|---|---|
| committer | Thomas Hackl <hackl@data-quest.de> | 2024-12-20 08:44:09 +0000 |
| commit | c3e75577d3aa36640416507523c8b1b25c778026 (patch) | |
| tree | 5d6c77fd551250ad4547c7b70eaa06dde3199c8b /app | |
| parent | 25131ba254baa27bff92bdf3c4c1b6a95b352c13 (diff) | |
Resolve "Editierbare Nutzungsbedingungen"
Closes #4433
Merge request studip/studip!3222
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/terms.php | 33 | ||||
| -rw-r--r-- | app/views/terms/index.php | 4 |
2 files changed, 36 insertions, 1 deletions
diff --git a/app/controllers/terms.php b/app/controllers/terms.php index d3a829e..528859a 100644 --- a/app/controllers/terms.php +++ b/app/controllers/terms.php @@ -26,6 +26,9 @@ class TermsController extends AuthenticatedController $this->compulsory = Config::get()->TERMS_CONFIG['compulsory']; $this->denial_message = ''; + + $this->terms_of_use = $this->getTermsOfUse(); + if (Request::isPost()) { CSRFProtection::verifyUnsafeRequest(); if (Request::submitted('accept')) { @@ -59,4 +62,34 @@ class TermsController extends AuthenticatedController } $this->redirect(URLHelper::getURL($target)); } + + + /** + * @return array|null + */ + private function getTermsOfUse() + { + $url = Config::get()->TERMS_OF_USE_URL; + + if (is_internal_url($url)) { + $url_parts = explode('/', $url); + $detail_id = $url_parts[4]; + $si = new Siteinfo(); + $detail = $si->get_detail($detail_id); + if (empty($detail) || !empty($detail['draft_status']) || !empty($detail['page_disabled_nobody'])) { + return null; + } + + return [ + 'type' => 'internal_url', + 'content' => $si->get_detail_content_processed($detail_id) + ]; + + } + + return [ + 'type' => 'external_url', + 'url' => $url + ]; + } } diff --git a/app/views/terms/index.php b/app/views/terms/index.php index 0dc5710..09a1760 100644 --- a/app/views/terms/index.php +++ b/app/views/terms/index.php @@ -19,7 +19,9 @@ </section> </section> <? else: ?> - <?= $GLOBALS['template_factory']->render('terms.php') ?> + <?= $GLOBALS['template_factory']->render('terms.php', [ + 'terms_of_use' => $terms_of_use, + ]) ?> <? endif; ?> <footer style="text-align: center"> <? if ($denial_message): ?> |
