/** * Prepares settings for installation, including setting of defaults * * @param array $settings * @return void */ public function prepareSettings(array $settings) { if (empty($settings['site_sessionname'])) { $settings['site_sessionname'] = 'SN' . uniqid(''); } if (empty($settings['config_options'])) { $settings['config_options'] = array(); } $this->settings->fromArray($settings); $this->setDefaultSetting('processors_path', $this->settings->get('core_path') . 'model/modx/processors/'); $this->setDefaultSetting('connectors_path', $this->settings->get('context_connectors_path')); $this->setDefaultSetting('connectors_url', $this->settings->get('context_connectors_url')); $this->setDefaultSetting('mgr_path', $this->settings->get('context_mgr_path')); $this->setDefaultSetting('mgr_url', $this->settings->get('context_mgr_url')); $this->setDefaultSetting('web_path', $this->settings->get('context_web_path')); $this->setDefaultSetting('web_url', $this->settings->get('context_web_url')); $this->setDefaultSetting('assets_path', $this->settings->get('context_assets_path', $this->settings->get('context_web_path') . 'assets/')); $this->setDefaultSetting('assets_url', $this->settings->get('context_assets_url', $this->settings->get('context_web_url') . 'assets/')); $dsn = $this->install->getDatabaseDSN($this->settings->get('database_type'), $this->settings->get('database_server'), $this->settings->get('database'), $this->settings->get('database_connection_charset')); $this->settings->set('database_dsn', $dsn); if (!empty($settings['database'])) { $this->settings->set('dbase', $settings['database']); } }