/** * @inheritdoc */ public function beforeDelete() { foreach (Setting::findAll(['space_id' => $this->id]) as $spaceSetting) { $spaceSetting->delete(); } foreach ($this->getAvailableModules() as $moduleId => $module) { if ($this->isModuleEnabled($moduleId)) { $this->disableModule($moduleId); } } Yii::$app->search->delete($this); $this->getProfileImage()->delete(); \humhub\modules\user\models\Follow::deleteAll(['object_id' => $this->id, 'object_model' => 'Space']); foreach (Membership::findAll(['space_id' => $this->id]) as $spaceMembership) { $spaceMembership->delete(); } \humhub\modules\user\models\Invite::deleteAll(['space_invite_id' => $this->id]); // When this workspace is used in a group as default workspace, delete the link foreach (\humhub\modules\user\models\Group::findAll(['space_id' => $this->id]) as $group) { $group->space_id = ""; $group->save(); } return parent::beforeDelete(); }