diff --git a/MatrixPlugin.php b/MatrixPlugin.php index 0d2f50312176f35f46c42c46c17407ea203ae64f..c3b4d05773ffdfebe44b1c264513a15674b8e9e5 100644 --- a/MatrixPlugin.php +++ b/MatrixPlugin.php @@ -135,12 +135,13 @@ class MatrixPlugin extends StudIPPlugin implements StandardPlugin */ public function invite($event, $membership) { - if ($matrix = MatrixAccount::findOneByUser_id($membership->user_id) && - $room = MatrixRoom::findOneByRange_id($membership->seminar_id)) { + $matrix = MatrixAccount::findOneByUser_id($membership->user_id); + $room = MatrixRoom::findOneByRange_id($membership->seminar_id); + if (is_a($matrix, MatrixAccount::class) && is_a($room, MatrixRoom::class)) { MatrixClient::get()->inviteIntoRoom( MatrixAccount::requireSystemAccount(), $room->getLinkedRoom(), - $matrix->matrix_account_id + (string) $matrix->matrix_account_id ); } } @@ -153,8 +154,9 @@ class MatrixPlugin extends StudIPPlugin implements StandardPlugin */ public function uninvite($event, $membership) { - if ($matrix = MatrixAccount::findOneByUser_id($membership->user_id) && - $room = MatrixRoom::findOneByRange_id($membership->seminar_id)) { + $matrix = MatrixAccount::findOneByUser_id($membership->user_id); + $room = MatrixRoom::findOneByRange_id($membership->seminar_id); + if (is_a($matrix, MatrixAccount::class) && is_a($room, MatrixRoom::class)) { MatrixClient::get()->leaveRoom( $matrix->getLinkedAccount(), $room->getLinkedRoom() @@ -171,7 +173,8 @@ class MatrixPlugin extends StudIPPlugin implements StandardPlugin */ public function unregister($event, $user) { - if ($account = MatrixAccount::findOneByUser_id($user->id)) { + $account = MatrixAccount::findOneByUser_id($user->id); + if (is_a($account, MatrixAccount::class)) { if (MatrixClient::get()->deactivateAccount($account->getLinkedAccount())) { $account->delete(); } @@ -186,7 +189,8 @@ class MatrixPlugin extends StudIPPlugin implements StandardPlugin */ public function deleteRoom($event, $course) { - if ($room = MatrixRoom::findOneByRange_id($course->id)) { + $room = MatrixRoom::findOneByRange_id($course->id); + if (is_a($room, MatrixRoom::class)) { MatrixClient::get()->deleteRoom( MatrixAccount::requireSystemAccount(), $room->getLinkedRoom() diff --git a/plugin.manifest b/plugin.manifest index 630979ae07b43021db48f92e59a0dd14638d7243..7be83dc51425357395270f74b91d8b00f6329de9 100644 --- a/plugin.manifest +++ b/plugin.manifest @@ -1,7 +1,7 @@ pluginname=Matrix-Chat pluginclassname=MatrixPlugin origin=data-quest -version=1.4.4 +version=1.4.5 screenshot=assets/images/matrix_logo.png description=Matrix chat for Stud.IP courses studipMinVersion=4.5