/** * @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(); }
/** * Returns a List of Users */ public function actionAuthentication() { $form = new \humhub\modules\admin\models\forms\AuthenticationSettingsForm(); $form->internalUsersCanInvite = Setting::Get('internalUsersCanInvite', 'authentication_internal'); $form->internalRequireApprovalAfterRegistration = Setting::Get('needApproval', 'authentication_internal'); $form->internalAllowAnonymousRegistration = Setting::Get('anonymousRegistration', 'authentication_internal'); $form->defaultUserGroup = Setting::Get('defaultUserGroup', 'authentication_internal'); $form->defaultUserIdleTimeoutSec = Setting::Get('defaultUserIdleTimeoutSec', 'authentication_internal'); $form->allowGuestAccess = Setting::Get('allowGuestAccess', 'authentication_internal'); $form->defaultUserProfileVisibility = Setting::Get('defaultUserProfileVisibility', 'authentication_internal'); if ($form->load(Yii::$app->request->post()) && $form->validate()) { $form->internalUsersCanInvite = Setting::Set('internalUsersCanInvite', $form->internalUsersCanInvite, 'authentication_internal'); $form->internalRequireApprovalAfterRegistration = Setting::Set('needApproval', $form->internalRequireApprovalAfterRegistration, 'authentication_internal'); $form->internalAllowAnonymousRegistration = Setting::Set('anonymousRegistration', $form->internalAllowAnonymousRegistration, 'authentication_internal'); $form->defaultUserGroup = Setting::Set('defaultUserGroup', $form->defaultUserGroup, 'authentication_internal'); $form->defaultUserIdleTimeoutSec = Setting::Set('defaultUserIdleTimeoutSec', $form->defaultUserIdleTimeoutSec, 'authentication_internal'); $form->allowGuestAccess = Setting::Set('allowGuestAccess', $form->allowGuestAccess, 'authentication_internal'); if (Setting::Get('allowGuestAccess', 'authentication_internal')) { $form->defaultUserProfileVisibility = Setting::Set('defaultUserProfileVisibility', $form->defaultUserProfileVisibility, 'authentication_internal'); } // set flash message Yii::$app->getSession()->setFlash('data-saved', Yii::t('AdminModule.controllers_SettingController', 'Saved')); Yii::$app->response->redirect(Url::toRoute('/admin/setting/authentication')); } // Build Group Dropdown $groups = array(); $groups[''] = Yii::t('AdminModule.controllers_SettingController', 'None - shows dropdown in user registration.'); foreach (\humhub\modules\user\models\Group::findAll([]) as $group) { $groups[$group->id] = $group->name; } return $this->render('authentication', array('model' => $form, 'groups' => $groups)); }