aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDavid Siegfried <david.siegfried@uni-vechta.de>2022-11-15 11:35:36 +0000
committerDavid Siegfried <david.siegfried@uni-vechta.de>2022-11-15 11:35:36 +0000
commit90ada48fb04ebcacee431cdfb78f0a63d594ed09 (patch)
treec32909d0f774d9ffdccd6bbaa6fc088294f2523c /lib
parentb8cc064f443fb1ae4de35987d25c1618bcdb122e (diff)
prevent php8-warnings, closes #1770
Closes #1770 Merge request studip/studip!1148
Diffstat (limited to 'lib')
-rw-r--r--lib/admissionrules/conditionaladmission/ConditionalAdmission.class.php28
-rw-r--r--lib/admissionrules/coursememberadmission/CourseMemberAdmission.class.php9
-rw-r--r--lib/admissionrules/participantrestrictedadmission/ParticipantRestrictedAdmission.class.php45
-rw-r--r--lib/classes/RangeTreeObject.class.php2
-rw-r--r--lib/classes/Request.class.php2
-rw-r--r--lib/classes/StudipSemSearchHelper.class.php13
-rw-r--r--lib/classes/TreeAbstract.class.php2
-rw-r--r--lib/classes/admission/AdmissionRule.class.php39
-rw-r--r--lib/classes/sidebar/SearchWidget.php4
-rw-r--r--lib/export/export_studipdata_func.inc.php15
-rw-r--r--lib/models/resources/ResourceRequest.class.php11
-rw-r--r--lib/plugins/engine/PluginManager.class.php2
12 files changed, 91 insertions, 81 deletions
diff --git a/lib/admissionrules/conditionaladmission/ConditionalAdmission.class.php b/lib/admissionrules/conditionaladmission/ConditionalAdmission.class.php
index 900ee5b..63275f0 100644
--- a/lib/admissionrules/conditionaladmission/ConditionalAdmission.class.php
+++ b/lib/admissionrules/conditionaladmission/ConditionalAdmission.class.php
@@ -55,14 +55,14 @@ class ConditionalAdmission extends AdmissionRule
/**
* Standard constructor.
*
- * @param String ruleId If this rule has been saved previously, it
+ * @param String $ruleId If this rule has been saved previously, it
* will be loaded from database.
- * @return AdmissionRule the current object (this).
+ * @return ConditionalAdmission the current object (this).
*/
public function __construct($ruleId='', $courseSetId = '')
{
parent::__construct($ruleId, $courseSetId);
- $this->default_message = _("Sie erfüllen nicht die Bedingung: %s");
+ $this->default_message = _('Sie erfüllen nicht die Bedingung: %s');
if ($ruleId) {
$this->load();
} else {
@@ -74,9 +74,9 @@ class ConditionalAdmission extends AdmissionRule
/**
* Adds a new UserFilter to this rule.
*
- * @param UserFilter condition
- * @param String group
- * @param Int quota
+ * @param UserFilter $condition
+ * @param String $group
+ * @param Int $quota
* @return ConditionalAdmission
*/
public function addCondition($condition, $group = '', $quota = 0)
@@ -282,7 +282,7 @@ class ConditionalAdmission extends AdmissionRule
/**
* Removes the condition with the given ID from the rule.
*
- * @param String conditionId
+ * @param String $conditionId
* @return ConditionalAdmission
*/
public function removeCondition($conditionId)
@@ -336,8 +336,6 @@ class ConditionalAdmission extends AdmissionRule
}
}
}
- } else {
- $failed = [];
}
return $failed;
}
@@ -360,7 +358,7 @@ class ConditionalAdmission extends AdmissionRule
$this->quota = [];
foreach ($data['conditions'] as $ser_con) {
$condition = ObjectBuilder::build($ser_con, 'UserFilter');
- $this->addCondition($condition, $data['conditiongroup_'.$condition->getId()], $data['quota_'.$data['conditiongroup_'.$condition->getId()]]);
+ $this->addCondition($condition, $data['conditiongroup_'.$condition->getId()], $data['quota_'.$data['conditiongroup_'.$condition->getId()]] ?? 0);
}
foreach ($this->getConditiongroups() as $conditiongroup_id => $conditions) {
if (mb_strlen($conditiongroup_id) < 32) {
@@ -483,7 +481,7 @@ class ConditionalAdmission extends AdmissionRule
* Validates if the given request data is sufficient to configure this rule
* (e.g. if required values are present).
*
- * @param Array Request data
+ * @param Array $data Request data
* @return Array Error messages.
*/
public function validate($data)
@@ -505,12 +503,12 @@ class ConditionalAdmission extends AdmissionRule
} else {
$ungrouped++;
}
- $quota[$data['conditiongroup_' . $condition->getId()]] = $data['quota_' . $data['conditiongroup_' . $condition->getId()]];
+ $quota[$data['conditiongroup_' . $condition->getId()]] = $data['quota_' . $data['conditiongroup_' . $condition->getId()]] ?? 0;
if (!$quota[$data['conditiongroup_' . $condition->getId()]]) {
$no_quota++;
}
}
- foreach ($quota as $id => $part) {
+ foreach ($quota as $part) {
$quota_total += $part;
}
if ($grouped && $ungrouped) {
@@ -562,6 +560,4 @@ class ConditionalAdmission extends AdmissionRule
parent::setSiblings($siblings);
$this->conditiongroups_allowed = null;
}
-
-} /* end of class ConditionalAdmission */
-
+}
diff --git a/lib/admissionrules/coursememberadmission/CourseMemberAdmission.class.php b/lib/admissionrules/coursememberadmission/CourseMemberAdmission.class.php
index 74892fd..dc13a62 100644
--- a/lib/admissionrules/coursememberadmission/CourseMemberAdmission.class.php
+++ b/lib/admissionrules/coursememberadmission/CourseMemberAdmission.class.php
@@ -32,7 +32,8 @@ class CourseMemberAdmission extends AdmissionRule
/**
* Standard constructor
*
- * @param String ruleId
+ * @param String $ruleId
+ * @param String e
*/
public function __construct($ruleId = '', $courseSetId = '')
{
@@ -115,8 +116,8 @@ class CourseMemberAdmission extends AdmissionRule
/**
* Is admission allowed according to the defined time frame?
*
- * @param String userId
- * @param String courseId
+ * @param String $userId
+ * @param String $courseId
* @return Array
*/
public function ruleApplies($userId, $courseId)
@@ -193,7 +194,7 @@ class CourseMemberAdmission extends AdmissionRule
* Validates if the given request data is sufficient to configure this rule
* (e.g. if required values are present).
*
- * @param Array Request data
+ * @param Array $data Request data
* @return Array Error messages.
*/
public function validate($data)
diff --git a/lib/admissionrules/participantrestrictedadmission/ParticipantRestrictedAdmission.class.php b/lib/admissionrules/participantrestrictedadmission/ParticipantRestrictedAdmission.class.php
index 1556db3..a64b88a 100644
--- a/lib/admissionrules/participantrestrictedadmission/ParticipantRestrictedAdmission.class.php
+++ b/lib/admissionrules/participantrestrictedadmission/ParticipantRestrictedAdmission.class.php
@@ -36,9 +36,10 @@ class ParticipantRestrictedAdmission extends AdmissionRule
/**
* Standard constructor
*
- * @param String ruleId
+ * @param String $ruleId
+ * @param String $courseSetId
*/
- public function __construct($ruleId='', $courseSetId = '')
+ public function __construct($ruleId = '', $courseSetId = '')
{
parent::__construct($ruleId, $courseSetId);
$this->first_come_first_served_allowed = (bool)Config::get()->ENABLE_COURSESET_FCFS;
@@ -58,7 +59,8 @@ class ParticipantRestrictedAdmission extends AdmissionRule
/**
* Deletes the admission rule and all associated data.
*/
- public function delete() {
+ public function delete()
+ {
if ($this->prio_exists) {
$set_id = DBManager::get()->fetchColumn("SELECT set_id FROM courseset_rule WHERE rule_id = ? LIMIT 1", [$this->id]);
//Delete priorities
@@ -75,7 +77,8 @@ class ParticipantRestrictedAdmission extends AdmissionRule
* Gets some text that describes what this AdmissionRule (or respective
* subclass) does.
*/
- public static function getDescription() {
+ public static function getDescription()
+ {
return _("Anmelderegeln dieses Typs legen fest, ob die zugeordneten Veranstaltungen eine maximale Teilnehmendenanzahl haben. Die Platzverteilung erfolgt automatisiert.");
}
@@ -92,7 +95,8 @@ class ParticipantRestrictedAdmission extends AdmissionRule
/**
* Return this rule's name.
*/
- public static function getName() {
+ public static function getName()
+ {
return _("Beschränkte Teilnehmendenanzahl");
}
@@ -101,7 +105,8 @@ class ParticipantRestrictedAdmission extends AdmissionRule
*
* @return String
*/
- public function getTemplate() {
+ public function getTemplate()
+ {
$factory = new Flexi_TemplateFactory(dirname(__FILE__).'/templates/');
// Open specific template for this rule and insert base template.
$tpl = $factory->open('configure');
@@ -112,7 +117,8 @@ class ParticipantRestrictedAdmission extends AdmissionRule
/**
* Helper function for loading rule definition from database.
*/
- public function load() {
+ public function load()
+ {
// Load data.
$stmt = DBManager::get()->prepare("SELECT *
FROM `participantrestrictedadmissions` WHERE `rule_id`=? LIMIT 1");
@@ -134,19 +140,20 @@ class ParticipantRestrictedAdmission extends AdmissionRule
* @param Array $data
* @return AdmissionRule This object.
*/
- public function setAllData($data) {
+ public function setAllData($data)
+ {
parent::setAllData($data);
- if ($data['distributiondate']) {
+ if (!empty($data['distributiondate'])) {
if (!$data['distributiontime']) {
$data['distributiontime'] = '23:59';
}
$ddate = strtotime($data['distributiondate'] . ' ' . $data['distributiontime']);
$this->setDistributionTime($ddate);
}
- if ($data['enable_FCFS']) {
+ if (!empty($data['enable_FCFS'])) {
$this->setDistributionTime(0);
}
- if ($data['startdate']) {
+ if (!empty($data['startdate'])) {
$starttime = strtotime($data['startdate'] . ' ' . $data['starttime']);
if ($starttime > time()) {
$this->minimum_timespan_to_distribution_time = $this->minimum_timespan_to_distribution_time + (($starttime - time()) / 60);
@@ -159,8 +166,8 @@ class ParticipantRestrictedAdmission extends AdmissionRule
/**
* Sets a new timestamp for seat distribution algorithm execution.
*
- * @param int newDistributionTime
- * @return TimedAdmission
+ * @param int $newDistributionTime
+ * @return ParticipantRestrictedAdmission
*/
public function setDistributionTime($newDistributionTime)
{
@@ -172,7 +179,8 @@ class ParticipantRestrictedAdmission extends AdmissionRule
/**
* Store rule definition to database.
*/
- public function store() {
+ public function store()
+ {
// Store data.
$stmt = DBManager::get()->prepare("INSERT INTO `participantrestrictedadmissions`
(`rule_id`, `message`, `distribution_time`,
@@ -201,7 +209,7 @@ class ParticipantRestrictedAdmission extends AdmissionRule
* Validates if the given request data is sufficient to configure this rule
* (e.g. if required values are present).
*
- * @param Array Request data
+ * @param Array $data Request data
* @return Array Error messages.
*/
public function validate($data)
@@ -211,15 +219,12 @@ class ParticipantRestrictedAdmission extends AdmissionRule
$data['distributiontime'] = '23:59';
}
$ddate = strtotime($data['distributiondate'] . ' ' . $data['distributiontime']);
- if (!$data['enable_FCFS'] && (!$data['distributiondate'] || $ddate < (time() + $this->minimum_timespan_to_distribution_time*60))) {
+ if (empty($data['enable_FCFS']) && (empty($data['distributiondate']) || $ddate < (time() + $this->minimum_timespan_to_distribution_time * 60))) {
$errors[] = sprintf(_('Bitte geben Sie für die Platzverteilung ein Datum an, das weiter in der Zukunft liegt. Das frühestmögliche Datum ist %s.'), strftime('%x %R', time() + $this->minimum_timespan_to_distribution_time*60));
}
- if ($data['enable_FCFS'] && $data['distributiondate']) {
+ if (!empty($data['enable_FCFS']) && $data['distributiondate']) {
$errors[] = _('Sie können kein Datum für die automatische Platzverteilung einstellen und gleichzeitig die automatische Platzverteilung ausschalten.');
}
return $errors;
}
-
}
-
-?>
diff --git a/lib/classes/RangeTreeObject.class.php b/lib/classes/RangeTreeObject.class.php
index c4c5320..579db43 100644
--- a/lib/classes/RangeTreeObject.class.php
+++ b/lib/classes/RangeTreeObject.class.php
@@ -95,7 +95,7 @@ class RangeTreeObject {
function __construct($item_id) {
$this->tree = TreeAbstract::GetInstance("StudipRangeTree", false);
$this->tree_item_id = $item_id;
- $this->item_data = $this->tree->tree_data[$item_id];
+ $this->item_data = $this->tree->tree_data[$item_id] ?? null;
}
/**
diff --git a/lib/classes/Request.class.php b/lib/classes/Request.class.php
index 22cf29d..3402972 100644
--- a/lib/classes/Request.class.php
+++ b/lib/classes/Request.class.php
@@ -778,7 +778,7 @@ class Request implements ArrayAccess, IteratorAggregate
{
try {
$request = self::getInstance();
- return ObjectBuilder::buildMany($request[$param] ?: null, $expected_class);
+ return ObjectBuilder::buildMany($request[$param] ?? null, $expected_class);
} catch (Exception $e) {
if ($allow_null) {
return [];
diff --git a/lib/classes/StudipSemSearchHelper.class.php b/lib/classes/StudipSemSearchHelper.class.php
index ea7aa9c..bb45d24 100644
--- a/lib/classes/StudipSemSearchHelper.class.php
+++ b/lib/classes/StudipSemSearchHelper.class.php
@@ -52,7 +52,8 @@ class StudipSemSearchHelper {
$this->setParams($params, $visible_only);
}
- public function setParams($params, $visible_only = null){
+ public function setParams($params, $visible_only = null)
+ {
if(isset($params['quick_search']) && isset($params['qs_choose'])){
if($params['qs_choose'] == 'all'){
foreach (self::GetQuickSearchFields() as $key => $value){
@@ -181,11 +182,11 @@ class StudipSemSearchHelper {
$view->params[0] = '';
}
$view->params[0] .= ($this->params['title']) ? $search_for . " " : " ";
- $view->params[0] .= ($this->params['title'] && $this->params['sub_title']) ? $combination : " ";
- $view->params[0] .= ($this->params['sub_title']) ? " Untertitel LIKE '%" . $this->trim($this->params['sub_title']) . "%' " : " ";
- $view->params[0] .= (($this->params['title'] || $this->params['sub_title']) && $this->params['comment']) ? $combination : " ";
- $view->params[0] .= ($this->params['comment']) ? " Beschreibung LIKE '%" . $this->trim($this->params['comment']) . "%' " : " ";
- $view->params[0] .= (($this->params['title'] || $this->params['sub_title'] || $this->params['comment']) && $this->params['number']) ? $combination : " ";
+ $view->params[0] .= ($this->params['title'] && !empty($this->params['sub_title'])) ? $combination : " ";
+ $view->params[0] .= (!empty($this->params['sub_title'])) ? " Untertitel LIKE '%" . $this->trim($this->params['sub_title']) . "%' " : " ";
+ $view->params[0] .= (($this->params['title'] || !empty($this->params['sub_title'])) && !empty($this->params['comment'])) ? $combination : " ";
+ $view->params[0] .= (!empty($this->params['comment'])) ? " Beschreibung LIKE '%" . $this->trim($this->params['comment']) . "%' " : " ";
+ $view->params[0] .= (($this->params['title'] || !empty($this->params['sub_title']) || empty($this->params['comment'])) && $this->params['number']) ? $combination : " ";
$view->params[0] .= ($this->params['number']) ? " VeranstaltungsNummer LIKE '%" . $this->trim($this->params['number']) . "%' " : " ";
$view->params[0] = ($this->visible_only ? " c.visible=1 AND " : "") . "(" . $view->params[0] .")";
$view->params[1] = $and_clause . $clause;
diff --git a/lib/classes/TreeAbstract.class.php b/lib/classes/TreeAbstract.class.php
index 7cdb940..9f54654 100644
--- a/lib/classes/TreeAbstract.class.php
+++ b/lib/classes/TreeAbstract.class.php
@@ -95,7 +95,7 @@ class TreeAbstract {
public static function GetInstance($class_name, $args = null, $invalidate_cache = false)
{
static $tree_instance;
-
+ $class_hash = '';
if ($args){
$class_hash = $class_name . "_" . md5(serialize($args));
} elseif ($args === false && is_array($tree_instance)){
diff --git a/lib/classes/admission/AdmissionRule.class.php b/lib/classes/admission/AdmissionRule.class.php
index a174157..fe5e5bb 100644
--- a/lib/classes/admission/AdmissionRule.class.php
+++ b/lib/classes/admission/AdmissionRule.class.php
@@ -84,7 +84,7 @@ abstract class AdmissionRule
/**
* Checks if we are in the rule validity time frame.
*
- * @return True if the rule is valid because the time frame applies,
+ * @return bool True if the rule is valid because the time frame applies,
* otherwise false.
*/
public function checkTimeFrame()
@@ -115,7 +115,7 @@ abstract class AdmissionRule
/**
* Generate a new unique ID.
*
- * @param String tableName
+ * @param String $tableName
*/
public function generateId($tableName)
{
@@ -273,7 +273,7 @@ abstract class AdmissionRule
* Hook that can be called when the seat distribution on the courseset
* starts.
*
- * @param CourseSet The courseset this rule belongs to.
+ * @param CourseSet $courseset The courseset this rule belongs to.
*/
public function beforeSeatDistribution($courseset)
{
@@ -284,8 +284,8 @@ abstract class AdmissionRule
* Does the current rule allow the given user to register as participant
* in the given course?
*
- * @param String userId
- * @param String courseId
+ * @param String $userId
+ * @param String $courseId
* @return Array
*/
public function ruleApplies($userId, $courseId)
@@ -303,23 +303,23 @@ abstract class AdmissionRule
*/
public function setAllData($data)
{
- if ($data['start_date'] && !$data['start_time']) {
+ if (!empty($data['start_date']) && empty($data['start_time'])) {
$data['start_time'] = strtotime($data['start_date']);
}
- if ($data['end_date'] && !$data['end_time']) {
+ if (!empty($data['end_date']) && empty($data['end_time'])) {
$data['end_time'] = strtotime($data['end_date'] . ' 23:59:59');
}
- $this->message = $data['message'];
- $this->startTime = $data['start_time'];
- $this->endTime = $data['end_time'];
+ $this->message = $data['message'] ?? '';
+ $this->startTime = $data['start_time'] ?? null;
+ $this->endTime = $data['end_time'] ?? null;
return $this;
}
/**
* Sets a new end time for condition validity.
*
- * @param Integer newEndTime
- * @return UserFilter
+ * @param Integer $newEndTime
+ * @return AdmissionRule
*/
public function setEndTime($newEndTime)
{
@@ -330,7 +330,7 @@ abstract class AdmissionRule
/**
* Sets a new message to show to users.
*
- * @param String newMessage A new message text.
+ * @param String $newMessage A new message text.
* @return AdmissionRule This object
*/
public function setMessage($newMessage)
@@ -342,8 +342,8 @@ abstract class AdmissionRule
/**
* Sets a new start time for condition validity.
*
- * @param Integer newStartTime
- * @return UserFilter
+ * @param Integer $newStartTime
+ * @return AdmissionRule
*/
public function setStartTime($newStartTime)
{
@@ -372,13 +372,13 @@ abstract class AdmissionRule
* Validates if the given request data is sufficient to configure this rule
* (e.g. if required values are present).
*
- * @param Array Request data
+ * @param Array $data Request data
* @return Array Error messages.
*/
public function validate($data)
{
$errors = [];
- if ($data['start_date'] && $data['end_date'] && strtotime($data['end_date']) < strtotime($data['start_date'])) {
+ if (!empty($data['start_date']) && !empty($data['end_date']) && strtotime($data['end_date']) < strtotime($data['start_date'])) {
$errors[] = _('Das Enddatum darf nicht vor dem Startdatum liegen.');
}
return $errors;
@@ -389,7 +389,8 @@ abstract class AdmissionRule
*
* @return String
*/
- public function __toString() {
+ public function __toString()
+ {
return $this->toString();
}
@@ -452,4 +453,4 @@ abstract class AdmissionRule
$this->id = md5(uniqid(get_class($this)));
$this->courseSetId = null;
}
-} /* end of abstract class AdmissionRule */
+}
diff --git a/lib/classes/sidebar/SearchWidget.php b/lib/classes/sidebar/SearchWidget.php
index 40a2eb9..82aa26b 100644
--- a/lib/classes/sidebar/SearchWidget.php
+++ b/lib/classes/sidebar/SearchWidget.php
@@ -147,11 +147,11 @@ class SearchWidget extends SidebarWidget
unset($reset_params[$needle['name']]);
// Search view in Wiki must be cleared.
- if ($reset_params['view'] == 'search') {
+ if (isset($reset_params['view']) && $reset_params['view'] === 'search') {
$reset_params['view'] = 'show';
}
// Search view in Forum must be cleared.
- if ($reset_params['backend'] == 'search') {
+ if (isset($reset_params['backend']) && $reset_params['backend'] === 'search') {
unset($reset_params['backend']);
$this->url = str_replace('index/search', 'index', $this->url);
}
diff --git a/lib/export/export_studipdata_func.inc.php b/lib/export/export_studipdata_func.inc.php
index 1139f21..bc2b990 100644
--- a/lib/export/export_studipdata_func.inc.php
+++ b/lib/export/export_studipdata_func.inc.php
@@ -300,10 +300,11 @@ function export_inst($inst_id, $ex_sem_id = "all")
*/
function export_sem($inst_id, $ex_sem_id = 'all')
{
- global $range_id, $xml_file, $o_mode, $xml_names_lecture, $xml_groupnames_lecture, $object_counter, $SEM_TYPE, $SEM_CLASS, $filter, $ex_sem, $ex_sem_class, $ex_person_details, $persons;
+ global $o_mode, $xml_names_lecture, $xml_groupnames_lecture, $object_counter, $SEM_TYPE, $SEM_CLASS, $filter, $ex_sem, $ex_sem_class, $ex_person_details, $persons;
$ex_only_homeinst = Request::int('ex_only_homeinst', 0);
-
+ $addquery = '';
+ $addjoin = '';
// Prepare user count statement
$query = "SELECT COUNT(user_id)
FROM seminar_user
@@ -320,7 +321,9 @@ function export_sem($inst_id, $ex_sem_id = 'all')
WHERE seminar_user.status = 'dozent' AND seminar_user.Seminar_id = ?
ORDER BY seminar_user.position";
$inner_statement = DBManager::get()->prepare($query);
-
+ $do_group = false;
+ $group = null;
+ $group_tab_zelle = null;
// Prepare (build) and execute outmost query
switch ($filter) {
case "seminar":
@@ -476,7 +479,7 @@ function export_sem($inst_id, $ex_sem_id = 'all')
}
$data_object .= xml_close_tag($xml_groupnames_lecture['childgroup3a']);
} elseif ($key === 'admission_turnout') {
- $data_object .= xml_open_tag($val, $row['admission_type'] ? _('max.') : _('erw.'));
+ $data_object .= xml_open_tag($val, !empty($row['admission_type']) ? _('max.') : _('erw.'));
$data_object .= $row[$key];
$data_object .= xml_close_tag($val);
} elseif ($key === 'teilnehmer_anzahl_aktuell') {
@@ -488,7 +491,7 @@ function export_sem($inst_id, $ex_sem_id = 'all')
} elseif ($key === 'metadata_dates') {
$data_object .= xml_open_tag($xml_groupnames_lecture['childgroup1']);
$vorb = vorbesprechung($row['seminar_id'], 'export');
- if ($vorb != false) {
+ if ($vorb) {
$data_object .= xml_tag($val[0], $vorb);
}
if (($first_date = SeminarDB::getFirstDate($row['seminar_id']))
@@ -500,7 +503,7 @@ function export_sem($inst_id, $ex_sem_id = 'all')
$data_object .= xml_close_tag($xml_groupnames_lecture["childgroup1"]);
} elseif ($key === 'Institut_id') {
$data_object .= xml_tag($val, $row['heimateinrichtung'], ['key' => $row[$key]]);
- } elseif ($row[$key] !== '')
+ } elseif (isset($row[$key]) && $row[$key] !== '')
$data_object .= xml_tag($val, $row[$key]);
}
diff --git a/lib/models/resources/ResourceRequest.class.php b/lib/models/resources/ResourceRequest.class.php
index 8b68fd0..c487841 100644
--- a/lib/models/resources/ResourceRequest.class.php
+++ b/lib/models/resources/ResourceRequest.class.php
@@ -1175,8 +1175,8 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
if ($with_range) {
$interval['range'] = 'CourseDate';
$interval['range_id'] = $this->termin_id;
- $interval['booked_room'] = $this->date->room_booking->resource_id;
- $interval['booking_id'] = $this->date->room_booking->id;
+ $interval['booked_room'] = $this->date->room_booking ? $this->date->room_booking->resource_id: null;
+ $interval['booking_id'] = $this->date->room_booking ? $this->date->room_booking->id : null;
}
return [$interval];
} elseif ($this->metadate_id) {
@@ -1271,8 +1271,11 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
if ($interval['range'] == 'CourseDate') {
$date = call_user_func([$interval['range'], 'find'], $interval['range_id']);
- if ($room_obj = Room::find($date->room_booking->resource_id)) {
- $room = $room_obj->name;
+ if ($date->room_booking) {
+ $room_obj = Room::find($date->room_booking->resource_id);
+ if ($room_obj) {
+ $room = $room_obj->name;
+ }
}
}
diff --git a/lib/plugins/engine/PluginManager.class.php b/lib/plugins/engine/PluginManager.class.php
index 7ced174..5873eb2 100644
--- a/lib/plugins/engine/PluginManager.class.php
+++ b/lib/plugins/engine/PluginManager.class.php
@@ -619,7 +619,7 @@ class PluginManager
*/
public function getPlugins ($type, $context = null)
{
- $user = $GLOBALS['user']->id ?: 'nobody';
+ $user = $GLOBALS['user'] ? $GLOBALS['user']->id : 'nobody';
$plugin_info = $this->getPluginInfos($type);
$plugins = [];