aboutsummaryrefslogtreecommitdiff
path: root/lib/extern
diff options
context:
space:
mode:
Diffstat (limited to 'lib/extern')
-rw-r--r--lib/extern/ExternPage.php9
-rw-r--r--lib/extern/ExternPageCourses.php6
-rw-r--r--lib/extern/ExternPagePersBrowse.php3
-rw-r--r--lib/extern/ExternPagePersonDetails.php5
-rw-r--r--lib/extern/ExternPageTimetable.php9
5 files changed, 20 insertions, 12 deletions
diff --git a/lib/extern/ExternPage.php b/lib/extern/ExternPage.php
index 8ed0e96..d3c5ec2 100644
--- a/lib/extern/ExternPage.php
+++ b/lib/extern/ExternPage.php
@@ -13,8 +13,6 @@
* @since 5.4
*/
-require_once 'vendor/exTpl/Template.php';
-
abstract class ExternPage
{
/**
@@ -112,7 +110,7 @@ abstract class ExternPage
$page_name = 'ExternPage' . $config->type;
if (!class_exists($page_name)) {
// lookup plugins
- $plugins = PluginEngine::getPlugins('ExternPagePlugin');
+ $plugins = PluginEngine::getPlugins(ExternPagePlugin::class);
foreach ($plugins as $plugin) {
if ($config->type === $plugin->getExternPageName()) {
return $plugin->getExternPage($config);
@@ -138,7 +136,7 @@ abstract class ExternPage
$extract[] = array_values(array_filter(array_map('trim', explode(' ', $one))));
}
foreach ($extract as $one) {
- $return[$one[0]] = $one[1];
+ $return[$one[0]] = $one[1] ?? null;
}
return $return;
}
@@ -236,7 +234,7 @@ abstract class ExternPage
$allowed_params = $this->getAllowedRequestParams(true);
$config_fields = $this->getConfigFields(true);
foreach ($allowed_params as $param_name) {
- $method = $config_fields[$param_name] ?: 'get';
+ $method = $config_fields[$param_name] ?? 'get';
$param_value = Request::$method($param_name);
if ($param_value) {
$this->setValue($param_name, $param_value);
@@ -342,6 +340,7 @@ abstract class ExternPage
): string {
if (count($scopes) > 0) {
$study_areas = StudipStudyArea::findMany($scopes);
+
$scopes = [];
if ($with_kids) {
foreach ($study_areas as $study_area) {
diff --git a/lib/extern/ExternPageCourses.php b/lib/extern/ExternPageCourses.php
index 0e6b461..e1868c9 100644
--- a/lib/extern/ExternPageCourses.php
+++ b/lib/extern/ExternPageCourses.php
@@ -117,7 +117,8 @@ class ExternPageCourses extends ExternPage
}
$query .= "
WHERE (`semester_courses`.`semester_id` IN (:semester_ids) OR ISNULL(`semester_id`))
- AND ISNULL(`seminare`.`parent_course`) "
+ AND ISNULL(`seminare`.`parent_course`)
+ AND `seminare`.`visible` = 1 "
. $this->getScopesSQL($params, $this->studyareas, (bool) $this->scope_kids)
. $this->getInstitutesSQL($params)
. $this->getSemtypesSQL($params)
@@ -304,7 +305,8 @@ class ExternPageCourses extends ExternPage
}
$query .= "
WHERE (`semester_courses`.`semester_id` IN (:semester_ids) OR ISNULL(`semester_id`))
- AND ISNULL(`seminare`.`parent_course`) "
+ AND ISNULL(`seminare`.`parent_course`)
+ AND `seminare`.`visible` = 1 "
. $this->getScopesSQL($params, $this->studyareas, (bool) $this->scope_kids)
. $this->getInstitutesSQL($params)
. $this->getSemtypesSQL($params)
diff --git a/lib/extern/ExternPagePersBrowse.php b/lib/extern/ExternPagePersBrowse.php
index ceb72d5..1eb5a04 100644
--- a/lib/extern/ExternPagePersBrowse.php
+++ b/lib/extern/ExternPagePersBrowse.php
@@ -32,7 +32,7 @@ class ExternPagePersBrowse extends ExternPage
/**
* @see ExternPage::getDataFields()
-
+
* @param array $classes
* @return array
*/
@@ -343,6 +343,7 @@ class ExternPagePersBrowse extends ExternPage
LEFT JOIN auth_user_md5 aum ON su.user_id = aum.user_id
WHERE ui.Institut_id = ?
AND su.status = 'dozent'
+ AND s.visible = 1
AND ui.externdefault = 1
AND " . get_ext_vis_query() . "
AND ui.inst_perms = 'dozent'
diff --git a/lib/extern/ExternPagePersonDetails.php b/lib/extern/ExternPagePersonDetails.php
index 49c754c..a62d482 100644
--- a/lib/extern/ExternPagePersonDetails.php
+++ b/lib/extern/ExternPagePersonDetails.php
@@ -146,7 +146,8 @@ class ExternPagePersonDetails extends ExternPage
LEFT JOIN `seminar_user` USING(`seminar_id`)
LEFT JOIN `sem_types`
ON `sem_types`.`id` = `seminare`.`status`
- WHERE `semester_courses`.`semester_id` IN (:semester_ids) OR ISNULL(`semester_id`)
+ WHERE `seminare`.`visible` = 1
+ AND `semester_courses`.`semester_id` IN (:semester_ids) OR ISNULL(`semester_id`)
AND `seminar_user`.`user_id` = :user_id
AND `seminar_user`.`status` = 'dozent'
AND `sem_types`.`class` IN (:semclasses)";
@@ -439,7 +440,7 @@ class ExternPagePersonDetails extends ExternPage
private function getContentHomepagePlugins(User $user)
{
$content = [];
- $plugins = PluginEngine::getPlugins('HomepagePlugin');
+ $plugins = PluginEngine::getPlugins(HomepagePlugin::class);
foreach ($plugins as $plugin) {
$template = $plugin->getHomepageTemplate($user->id);
if ($template) {
diff --git a/lib/extern/ExternPageTimetable.php b/lib/extern/ExternPageTimetable.php
index d427600..1e0e66a 100644
--- a/lib/extern/ExternPageTimetable.php
+++ b/lib/extern/ExternPageTimetable.php
@@ -119,7 +119,11 @@ class ExternPageTimetable extends ExternPage
LEFT JOIN `seminar_inst`
ON `seminare`.`Seminar_id` = `seminar_inst`.`Seminar_id`";
$query .= "
- WHERE (`termine`.`date` >= :start AND `termine`.`date` <= :end) "
+ WHERE (
+ `seminare`.`visible` = 1
+ AND termine`.`date` >= :start
+ AND `termine`.`date` <= :end
+ )"
. $this->getEventTypeSQL($params)
. $this->getScopesSQL($params, $this->studyareas, (bool) $this->scope_kids)
. $this->getInstitutesSQL($params)
@@ -162,7 +166,7 @@ class ExternPageTimetable extends ExternPage
$time = new DateTime();
switch ($this->date_offset) {
case 'start_date':
- $time = DateTime::createFromFormat('d.m.Y', $this->date);
+ $time = $this->date ? DateTime::createFromFormat('d.m.Y', $this->date) : $time;
break;
case 'current_semester':
$semester = Semester::findCurrent();
@@ -228,6 +232,7 @@ class ExternPageTimetable extends ExternPage
protected function getContent()
{
$count = 0;
+ $date_content = [];
foreach ($this->getDates() as $date) {
$day = new DateTime();
$day->setTimestamp($date->date)->setTime(0, 0);