aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2024-05-15 20:50:29 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2024-05-15 20:50:29 +0000
commit5b4b7f540bdaaba71557ffd528319025ebf028d2 (patch)
tree59e5efad02c53fda815c5ce945f24ca5a65241ea /app
parentf9c634a9fe0fb5ac4c5a391fea813603631afc0f (diff)
fixes #4133
Closes #4133 Merge request studip/studip!2978
Diffstat (limited to 'app')
-rw-r--r--app/controllers/activityfeed.php4
-rw-r--r--app/controllers/admin/courses.php14
-rw-r--r--app/controllers/admin/extern.php2
-rw-r--r--app/controllers/admin/sem_classes.php2
-rw-r--r--app/controllers/admin/user.php2
-rw-r--r--app/controllers/blubber.php2
-rw-r--r--app/controllers/contents/courseware.php2
-rw-r--r--app/controllers/course/contentmodules.php2
-rw-r--r--app/controllers/course/overview.php2
-rw-r--r--app/controllers/course/wiki.php2
-rw-r--r--app/controllers/file.php10
-rw-r--r--app/controllers/files.php6
-rw-r--r--app/controllers/institute/basicdata.php2
-rw-r--r--app/controllers/privacy.php2
-rw-r--r--app/controllers/profile.php2
-rw-r--r--app/controllers/profilemodules.php2
-rw-r--r--app/controllers/questionnaire.php2
-rw-r--r--app/controllers/quickselection.php2
-rw-r--r--app/controllers/start.php4
-rw-r--r--app/views/course/details/index.php2
-rw-r--r--app/views/file/add_files_window.php2
-rw-r--r--app/views/file/choose_destination.php2
-rw-r--r--app/views/institute/overview/index.php2
-rw-r--r--app/views/questionnaire/_overview_questionnaire.php2
-rw-r--r--app/views/questionnaire/context.php2
25 files changed, 39 insertions, 39 deletions
diff --git a/app/controllers/activityfeed.php b/app/controllers/activityfeed.php
index 2f93aa1..8e81912 100644
--- a/app/controllers/activityfeed.php
+++ b/app/controllers/activityfeed.php
@@ -53,7 +53,7 @@ class ActivityfeedController extends AuthenticatedController
unset($modules[Context::INSTITUTE]['participants']);
unset($modules[Context::INSTITUTE]['schedule']);
- $standard_plugins = PluginManager::getInstance()->getPlugins("StandardPlugin");
+ $standard_plugins = PluginManager::getInstance()->getPlugins(StandardPlugin::class);
foreach ($standard_plugins as $plugin) {
if ($plugin instanceof ActivityProvider) {
$modules[Context::COURSE][$plugin->getPluginName()] = $plugin->getPluginName();
@@ -67,7 +67,7 @@ class ActivityfeedController extends AuthenticatedController
'blubber' => _('Blubber'),
];
- $homepage_plugins = PluginEngine::getPlugins('HomepagePlugin');
+ $homepage_plugins = PluginEngine::getPlugins(HomepagePlugin::class);
foreach ($homepage_plugins as $plugin) {
if ($plugin->isActivated($GLOBALS['user']->id, 'user')) {
if ($plugin instanceof ActivityProvider) {
diff --git a/app/controllers/admin/courses.php b/app/controllers/admin/courses.php
index 8de1b79..82c389b 100644
--- a/app/controllers/admin/courses.php
+++ b/app/controllers/admin/courses.php
@@ -490,7 +490,7 @@ class Admin_CoursesController extends AuthenticatedController
]);
break;
default:
- foreach (PluginManager::getInstance()->getPlugins('AdminCourseAction') as $plugin) {
+ foreach (PluginManager::getInstance()->getPlugins(AdminCourseAction::class) as $plugin) {
if ($GLOBALS['user']->cfg->MY_COURSES_ACTION_AREA === get_class($plugin)) {
$multimode = $plugin->useMultimode();
if ($multimode) {
@@ -711,7 +711,7 @@ class Admin_CoursesController extends AuthenticatedController
$d['last_activity_raw'] = $last_activity;
}
- foreach (PluginManager::getInstance()->getPlugins('AdminCourseContents') as $plugin) {
+ foreach (PluginManager::getInstance()->getPlugins(AdminCourseContents::class) as $plugin) {
foreach ($plugin->adminAvailableContents() as $index => $label) {
if (in_array($plugin->getPluginId() . '_' . $index, $activated_fields)) {
$content = $plugin->adminAreaGetCourseContent($course, $index);
@@ -837,7 +837,7 @@ class Admin_CoursesController extends AuthenticatedController
$d['action'] = $template->render();
break;
default:
- foreach (PluginManager::getInstance()->getPlugins('AdminCourseAction') as $plugin) {
+ foreach (PluginManager::getInstance()->getPlugins(AdminCourseAction::class) as $plugin) {
if ($GLOBALS['user']->cfg->MY_COURSES_ACTION_AREA === get_class($plugin)) {
$output = $plugin->getAdminCourseActionTemplate($course->getId());
$d['action'] = $output instanceof Flexi_Template ? $output->render() : (string) $output;
@@ -1029,7 +1029,7 @@ class Admin_CoursesController extends AuthenticatedController
$row['institute'] = $course->home_institut ? (string) $course->home_institut['name'] : $course['institut_id'];
}
- foreach (PluginManager::getInstance()->getPlugins('AdminCourseContents') as $plugin) {
+ foreach (PluginManager::getInstance()->getPlugins(AdminCourseContents::class) as $plugin) {
foreach ($plugin->adminAvailableContents() as $index => $label) {
if (in_array($plugin->getPluginId() . "_" . $index, $filter_config)) {
$content = $plugin->adminAreaGetCourseContent($course, $index);
@@ -1048,7 +1048,7 @@ class Admin_CoursesController extends AuthenticatedController
foreach ($filter_config as $index) {
$captions[$index] = $view_filters[$index];
}
- foreach (PluginManager::getInstance()->getPlugins('AdminCourseContents') as $plugin) {
+ foreach (PluginManager::getInstance()->getPlugins(AdminCourseContents::class) as $plugin) {
foreach ($plugin->adminAvailableContents() as $index => $label) {
if (in_array($plugin->getPluginId() . "_" . $index, $filter_config)) {
$captions[$plugin->getPluginId() . "_" . $index] = $label;
@@ -1446,7 +1446,7 @@ class Admin_CoursesController extends AuthenticatedController
ksort($actions);
- foreach (PluginManager::getInstance()->getPlugins('AdminCourseAction') as $plugin) {
+ foreach (PluginManager::getInstance()->getPlugins(AdminCourseAction::class) as $plugin) {
$actions[get_class($plugin)] = [
'name' => $plugin->getPluginName(),
'title' => $plugin->getPluginName(),
@@ -1486,7 +1486,7 @@ class Admin_CoursesController extends AuthenticatedController
'contents' => _('Inhalt'),
'last_activity' => _('Letzte Aktivität'),
];
- foreach (PluginManager::getInstance()->getPlugins('AdminCourseContents') as $plugin) {
+ foreach (PluginManager::getInstance()->getPlugins(AdminCourseContents::class) as $plugin) {
foreach ($plugin->adminAvailableContents() as $index => $label) {
$views[$plugin->getPluginId() . "_" . $index] = $label;
}
diff --git a/app/controllers/admin/extern.php b/app/controllers/admin/extern.php
index 559868e..732b586 100644
--- a/app/controllers/admin/extern.php
+++ b/app/controllers/admin/extern.php
@@ -440,7 +440,7 @@ class Admin_ExternController extends AuthenticatedController
*/
protected function fetchPlugins(bool $is_system): void
{
- $plugins = PluginEngine::getPlugins('ExternPagePlugin');
+ $plugins = PluginEngine::getPlugins(ExternPagePlugin::class);
foreach ($plugins as $plugin) {
if (
$is_system === $plugin->isSystemPage()
diff --git a/app/controllers/admin/sem_classes.php b/app/controllers/admin/sem_classes.php
index c0b098f..7993c4b 100644
--- a/app/controllers/admin/sem_classes.php
+++ b/app/controllers/admin/sem_classes.php
@@ -65,7 +65,7 @@ class Admin_SemClassesController extends AuthenticatedController
{
Navigation::activateItem("/admin/locations/sem_classes");
- $plugins = PluginManager::getInstance()->getPlugins("StudipModule");
+ $plugins = PluginManager::getInstance()->getPlugins(StudipModule::class);
$this->sem_class = SemClass::getClasses()[Request::get("id")];
$modules = [];
foreach ($this->sem_class->getModuleObjects() as $plugin) {
diff --git a/app/controllers/admin/user.php b/app/controllers/admin/user.php
index 214c290..54aa0c4 100644
--- a/app/controllers/admin/user.php
+++ b/app/controllers/admin/user.php
@@ -1474,7 +1474,7 @@ class Admin_UserController extends AuthenticatedController
'details' => "files",
];
- foreach (PluginEngine::getPlugins('ForumModule') as $plugin) {
+ foreach (PluginEngine::getPlugins(ForumModule::class) as $plugin) {
$table = $plugin->getEntryTableInfo();
$queries[] = [
'desc' => $plugin->getPluginName() . ' - ' . _("Anzahl der Postings"),
diff --git a/app/controllers/blubber.php b/app/controllers/blubber.php
index 6588014..aedf9b6 100644
--- a/app/controllers/blubber.php
+++ b/app/controllers/blubber.php
@@ -419,7 +419,7 @@ class BlubberController extends AuthenticatedController
PluginManager::getInstance()->setPluginActivated(
PluginManager::getInstance()
- ->getPlugin('Blubber')
+ ->getPlugin(Blubber::class)
->getPluginId(),
$course->getId(),
true
diff --git a/app/controllers/contents/courseware.php b/app/controllers/contents/courseware.php
index f0d5023..c1d807f 100644
--- a/app/controllers/contents/courseware.php
+++ b/app/controllers/contents/courseware.php
@@ -262,7 +262,7 @@ class Contents_CoursewareController extends CoursewareController
*/
private function isCoursewareEnabled($course_id): bool
{
- $studip_module = PluginManager::getInstance()->getPlugin('CoursewareModule');
+ $studip_module = PluginManager::getInstance()->getPlugin(CoursewareModule::class);
if (!$studip_module || !$studip_module->isActivated($course_id)) {
return false;
diff --git a/app/controllers/course/contentmodules.php b/app/controllers/course/contentmodules.php
index df397cd..d37d1bb 100644
--- a/app/controllers/course/contentmodules.php
+++ b/app/controllers/course/contentmodules.php
@@ -273,7 +273,7 @@ class Course_ContentmodulesController extends AuthenticatedController
{
$list = [];
- foreach (PluginEngine::getPlugins('StudipModule') as $plugin) {
+ foreach (PluginEngine::getPlugins(StudipModule::class) as $plugin) {
if (!$plugin->isActivatableForContext($context)) {
continue;
}
diff --git a/app/controllers/course/overview.php b/app/controllers/course/overview.php
index 402137e..876de5a 100644
--- a/app/controllers/course/overview.php
+++ b/app/controllers/course/overview.php
@@ -111,7 +111,7 @@ class Course_OverviewController extends AuthenticatedController
$this->avatar = StudygroupAvatar::getAvatar($this->course_id);
}
- $this->plugins = PluginEngine::getPlugins('StandardPlugin', $this->course_id);
+ $this->plugins = PluginEngine::getPlugins(StandardPlugin::class, $this->course_id);
$sidebar = Sidebar::get();
diff --git a/app/controllers/course/wiki.php b/app/controllers/course/wiki.php
index cbd63cf..0bb6c71 100644
--- a/app/controllers/course/wiki.php
+++ b/app/controllers/course/wiki.php
@@ -18,7 +18,7 @@ class Course_WikiController extends AuthenticatedController
parent::before_filter($action, $args);
object_set_visit_module('wiki');
$this->range = Context::get();
- $this->plugin = PluginManager::getInstance()->getPlugin('CoreWiki');
+ $this->plugin = PluginManager::getInstance()->getPlugin(CoreWiki::class);
PageLayout::setTitle(Navigation::getItem('/course/wiki')->getTitle());
}
diff --git a/app/controllers/file.php b/app/controllers/file.php
index bebfe70..11b1949 100644
--- a/app/controllers/file.php
+++ b/app/controllers/file.php
@@ -1103,7 +1103,7 @@ class FileController extends AuthenticatedController
return;
}
- $this->library_plugins = $plugin_manager->getPlugins('LibraryPlugin');
+ $this->library_plugins = $plugin_manager->getPlugins(LibraryPlugin::class);
//Build the query parameter array:
$search_parameters = [];
@@ -1182,7 +1182,7 @@ class FileController extends AuthenticatedController
);
}
} elseif (Request::get('search_id')) {
- $this->library_plugins = $plugin_manager->getPlugins('LibraryPlugin');
+ $this->library_plugins = $plugin_manager->getPlugins(LibraryPlugin::class);
$this->search_id = Request::get('search_id');
$this->page = Request::get('page');
@@ -1462,7 +1462,7 @@ class FileController extends AuthenticatedController
$this->current_folder = $this->to_folder_type;
$this->marked_element_ids = [];
- $plugins = PluginManager::getInstance()->getPlugins('FileUploadHook');
+ $plugins = PluginManager::getInstance()->getPlugins(FileUploadHook::class);
$redirects = [];
foreach ($plugins as $plugin) {
@@ -1685,7 +1685,7 @@ class FileController extends AuthenticatedController
);
}
- $plugins = PluginManager::getInstance()->getPlugins('FileUploadHook');
+ $plugins = PluginManager::getInstance()->getPlugins(FileUploadHook::class);
$redirect = null;
foreach ($plugins as $upload_hook_plugin) {
$url = $upload_hook_plugin->getAdditionalUploadWizardPage($file_ref);
@@ -1820,7 +1820,7 @@ class FileController extends AuthenticatedController
$payload['html'][] = FilesystemVueDataManager::getFileVueData($this->file, $this->top_folder);
- $plugins = PluginManager::getInstance()->getPlugins('FileUploadHook');
+ $plugins = PluginManager::getInstance()->getPlugins(FileUploadHook::class);
$redirects = [];
foreach ($plugins as $plugin) {
diff --git a/app/controllers/files.php b/app/controllers/files.php
index 3c77f4e..2d4de4e 100644
--- a/app/controllers/files.php
+++ b/app/controllers/files.php
@@ -68,7 +68,7 @@ class FilesController extends AuthenticatedController
$this->url_for("files/index"),
Icon::create("files", "clickable")
);
- foreach (PluginManager::getInstance()->getPlugins('FilesystemPlugin') as $plugin) {
+ foreach (PluginManager::getInstance()->getPlugins(FilesystemPlugin::class) as $plugin) {
if ($plugin->isPersonalFileArea()) {
$subnav = $plugin->getFileSelectNavigation();
$sources->addLink(
@@ -110,7 +110,7 @@ class FilesController extends AuthenticatedController
}
$config_urls = [];
- foreach (PluginManager::getInstance()->getPlugins('FilesystemPlugin') as $plugin) {
+ foreach (PluginManager::getInstance()->getPlugins(FilesystemPlugin::class) as $plugin) {
$url = $plugin->filesystemConfigurationURL();
if ($url) {
$navigation = $plugin->getFileSelectNavigation();
@@ -647,7 +647,7 @@ class FilesController extends AuthenticatedController
PageLayout::setTitle(_('Dateibereich zur Konfiguration auswählen'));
$this->configure_urls = [];
- foreach (PluginManager::getInstance()->getPlugins('FilesystemPlugin') as $plugin) {
+ foreach (PluginManager::getInstance()->getPlugins(FilesystemPlugin::class) as $plugin) {
$url = $plugin->filesystemConfigurationURL();
if ($url) {
$navigation = $plugin->getFileSelectNavigation();
diff --git a/app/controllers/institute/basicdata.php b/app/controllers/institute/basicdata.php
index fb1ce96..9c800fd 100644
--- a/app/controllers/institute/basicdata.php
+++ b/app/controllers/institute/basicdata.php
@@ -435,7 +435,7 @@ class Institute_BasicdataController extends AuthenticatedController
}
// delete all contents in forum-modules
- foreach (PluginEngine::getPlugins('ForumModule') as $plugin) {
+ foreach (PluginEngine::getPlugins(ForumModule::class) as $plugin) {
$plugin->deleteContents($i_id); // delete content irrespective of plugin-activation in the seminar
if ($plugin->isActivated($i_id)) { // only show a message, if the plugin is activated, to not confuse the user
$details[] = sprintf(_('Einträge in %s gelöscht.'), $plugin->getPluginName());
diff --git a/app/controllers/privacy.php b/app/controllers/privacy.php
index ba8e6f1..d50b1f1 100644
--- a/app/controllers/privacy.php
+++ b/app/controllers/privacy.php
@@ -305,7 +305,7 @@ class PrivacyController extends AuthenticatedController
$storage->addFileRef($fileref);
}
- foreach (PluginEngine::getPlugins('PrivacyPlugin') as $plugin) {
+ foreach (PluginEngine::getPlugins(PrivacyPlugin::class) as $plugin) {
$plugin->exportUserData($storage);
}
diff --git a/app/controllers/profile.php b/app/controllers/profile.php
index 3fa3777..b9a7cf7 100644
--- a/app/controllers/profile.php
+++ b/app/controllers/profile.php
@@ -210,7 +210,7 @@ class ProfileController extends AuthenticatedController
}
// Hompageplugins
- $homepageplugins = PluginEngine::getPlugins('HomepagePlugin');
+ $homepageplugins = PluginEngine::getPlugins(HomepagePlugin::class);
$render = '';
$layout = $GLOBALS['template_factory']->open('shared/content_box');
diff --git a/app/controllers/profilemodules.php b/app/controllers/profilemodules.php
index 201c4ff..c24d4f4 100644
--- a/app/controllers/profilemodules.php
+++ b/app/controllers/profilemodules.php
@@ -106,7 +106,7 @@ class ProfileModulesController extends AuthenticatedController
$plugins = [];
// Get homepage plugins from database.
- foreach (PluginEngine::getPlugins('HomepagePlugin') as $plugin) {
+ foreach (PluginEngine::getPlugins(HomepagePlugin::class) as $plugin) {
if ($plugin->isActivatableForContext($this->user)) {
$plugins[$plugin->getPluginId()] = $plugin;
}
diff --git a/app/controllers/questionnaire.php b/app/controllers/questionnaire.php
index 6f80526..4016b9d 100644
--- a/app/controllers/questionnaire.php
+++ b/app/controllers/questionnaire.php
@@ -493,7 +493,7 @@ class QuestionnaireController extends AuthenticatedController
$course_assignment['user_id'] = $GLOBALS['user']->id;
$course_assignment->store();
}
- foreach (PluginManager::getInstance()->getPlugins("QuestionnaireAssignmentPlugin") as $plugin) {
+ foreach (PluginManager::getInstance()->getPlugins(QuestionnaireAssignmentPlugin::class) as $plugin) {
$plugin->storeQuestionnaireAssignments($this->questionnaire);
}
diff --git a/app/controllers/quickselection.php b/app/controllers/quickselection.php
index 1899e53..a53eb08 100644
--- a/app/controllers/quickselection.php
+++ b/app/controllers/quickselection.php
@@ -27,7 +27,7 @@ class QuickselectionController extends AuthenticatedController
UserConfig::get($GLOBALS['user']->id)->store('QUICK_SELECTION', $names);
- $template = PluginEngine::getPlugin('QuickSelection')->getPortalTemplate();
+ $template = PluginEngine::getPlugin(QuickSelection::class)->getPortalTemplate();
$this->response->add_header('X-Dialog-Close', 1);
$this->response->add_header('X-Dialog-Execute', 'STUDIP.QuickSelection.update');
diff --git a/app/controllers/start.php b/app/controllers/start.php
index 53a87dc..87c493e 100644
--- a/app/controllers/start.php
+++ b/app/controllers/start.php
@@ -132,7 +132,7 @@ class StartController extends AuthenticatedController
*/
private function getAvailableWidgets($user_id)
{
- $all_widgets = PluginEngine::getPlugins('PortalPlugin');
+ $all_widgets = PluginEngine::getPlugins(PortalPlugin::class);
$user_widgets = WidgetUser::getWidgets($user_id);
$used_widgets = array_merge(...$user_widgets);
$available = [];
@@ -190,7 +190,7 @@ class StartController extends AuthenticatedController
PageLayout::setTitle(sprintf(_('Standard-Startseite für "%s" bearbeiten'), ucfirst($permission)));
- $this->widgets = PluginEngine::getPlugins('PortalPlugin');
+ $this->widgets = PluginEngine::getPlugins(PortalPlugin::class);
$this->initial_widgets = WidgetDefault::getWidgets($permission);
$this->permission = $permission;
}
diff --git a/app/views/course/details/index.php b/app/views/course/details/index.php
index eb7da10..545454a 100644
--- a/app/views/course/details/index.php
+++ b/app/views/course/details/index.php
@@ -496,7 +496,7 @@ if (!empty($mvv_tree)) : ?>
</article>
<? endif ?>
-<? foreach (PluginManager::getInstance()->getPlugins('DetailspagePlugin') as $plugin) : ?>
+<? foreach (PluginManager::getInstance()->getPlugins(DetailspagePlugin::class) as $plugin) : ?>
<? $template = $plugin->getDetailspageTemplate($course) ?>
<? if ($template) : ?>
<article class="studip">
diff --git a/app/views/file/add_files_window.php b/app/views/file/add_files_window.php
index 53a7b73..c7630c5 100644
--- a/app/views/file/add_files_window.php
+++ b/app/views/file/add_files_window.php
@@ -69,7 +69,7 @@ if ($folder_id) {
<?= _('OER Campus') ?>
</a>
<? endif ?>
- <? foreach (PluginManager::getInstance()->getPlugins('FilesystemPlugin') as $plugin) : ?>
+ <? foreach (PluginManager::getInstance()->getPlugins(FilesystemPlugin::class) as $plugin) : ?>
<? if ($plugin->isSource()) : ?>
<? $nav = $plugin->getFileSelectNavigation() ?>
<? if ($nav): ?>
diff --git a/app/views/file/choose_destination.php b/app/views/file/choose_destination.php
index 49afe87..9a39883 100644
--- a/app/views/file/choose_destination.php
+++ b/app/views/file/choose_destination.php
@@ -64,7 +64,7 @@ $options = array_filter([
</button>
</div>
- <? foreach (PluginManager::getInstance()->getPlugins('FilesystemPlugin') as $plugin) : ?>
+ <? foreach (PluginManager::getInstance()->getPlugins(FilesystemPlugin::class) as $plugin) : ?>
<? if ($plugin->isPersonalFileArea()) : ?>
<? $nav = $plugin->getFileSelectNavigation() ?>
<? if ($nav) : ?>
diff --git a/app/views/institute/overview/index.php b/app/views/institute/overview/index.php
index 3e80f98..7ed8546 100644
--- a/app/views/institute/overview/index.php
+++ b/app/views/institute/overview/index.php
@@ -54,7 +54,7 @@
<?
// display plugins
-$plugins = PluginEngine::getPlugins('StandardPlugin', $institute_id);
+$plugins = PluginEngine::getPlugins(StandardPlugin::class, $institute_id);
$layout = $GLOBALS['template_factory']->open('shared/index_box');
foreach ($plugins as $plugin) {
diff --git a/app/views/questionnaire/_overview_questionnaire.php b/app/views/questionnaire/_overview_questionnaire.php
index bb7586e..8b45d42 100644
--- a/app/views/questionnaire/_overview_questionnaire.php
+++ b/app/views/questionnaire/_overview_questionnaire.php
@@ -51,7 +51,7 @@
<?= htmlReady(Institute::find($assignment['range_id'])->name) ?>
<? else : ?>
<?
- foreach (PluginManager::getInstance()->getPlugins("QuestionnaireAssignmentPlugin") as $plugin) {
+ foreach (PluginManager::getInstance()->getPlugins(QuestionnaireAssignmentPlugin::class) as $plugin) {
$name = $plugin->getQuestionnaireAssignmentName($assignment);
if ($name) {
echo htmlReady($name);
diff --git a/app/views/questionnaire/context.php b/app/views/questionnaire/context.php
index 3237101..98e08c0 100644
--- a/app/views/questionnaire/context.php
+++ b/app/views/questionnaire/context.php
@@ -93,7 +93,7 @@
<? endif ?>
<?
- foreach (PluginManager::getInstance()->getPlugins("QuestionnaireAssignmentPlugin") as $plugin) {
+ foreach (PluginManager::getInstance()->getPlugins(QuestionnaireAssignmentPlugin::class) as $plugin) {
$template = $plugin->getQuestionnaireAssignmentEditTemplate($this->questionnaire);
if ($template) {
echo $template->render();