ElggInstaller::saveSiteSettings PHP Method

saveSiteSettings() protected method

Initialize the site including site entity, plugins, and configuration
protected saveSiteSettings ( array $submissionVars ) : boolean
$submissionVars array Submitted vars
return boolean
    protected function saveSiteSettings($submissionVars)
    {
        // ensure that file path, data path, and www root end in /
        $submissionVars['dataroot'] = sanitise_filepath($submissionVars['dataroot']);
        $submissionVars['wwwroot'] = sanitise_filepath($submissionVars['wwwroot']);
        $site = new ElggSite();
        $site->name = strip_tags($submissionVars['sitename']);
        $site->url = $submissionVars['wwwroot'];
        $site->access_id = ACCESS_PUBLIC;
        $site->email = $submissionVars['siteemail'];
        $guid = $site->save();
        if (!$guid) {
            register_error(_elgg_services()->translator->translate('install:error:createsite'));
            return FALSE;
        }
        // bootstrap site info
        $this->CONFIG->site_guid = $guid;
        $this->CONFIG->site = $site;
        _elgg_services()->configTable->set('installed', time());
        _elgg_services()->configTable->set('dataroot', $submissionVars['dataroot']);
        _elgg_services()->configTable->set('default_site', $site->getGUID());
        _elgg_services()->configTable->set('version', elgg_get_version());
        _elgg_services()->configTable->set('simplecache_enabled', 1);
        _elgg_services()->configTable->set('system_cache_enabled', 1);
        _elgg_services()->configTable->set('simplecache_lastupdate', time());
        // new installations have run all the upgrades
        $upgrades = elgg_get_upgrade_files(\Elgg\Application::elggDir()->getPath("/engine/lib/upgrades/"));
        _elgg_services()->configTable->set('processed_upgrades', $upgrades);
        _elgg_services()->configTable->set('view', 'default', $site->getGUID());
        _elgg_services()->configTable->set('language', 'en', $site->getGUID());
        _elgg_services()->configTable->set('default_access', $submissionVars['siteaccess'], $site->getGUID());
        _elgg_services()->configTable->set('allow_registration', TRUE, $site->getGUID());
        _elgg_services()->configTable->set('walled_garden', FALSE, $site->getGUID());
        _elgg_services()->configTable->set('allow_user_default_access', '', $site->getGUID());
        _elgg_services()->configTable->set('default_limit', 10, $site->getGUID());
        _elgg_services()->configTable->set('security_protect_upgrade', true, $site->getGUID());
        _elgg_services()->configTable->set('security_notify_admins', true, $site->getGUID());
        _elgg_services()->configTable->set('security_notify_user_password', true, $site->getGUID());
        _elgg_services()->configTable->set('security_email_require_password', true, $site->getGUID());
        $this->setSubtypeClasses();
        $this->enablePlugins();
        return TRUE;
    }