/**
  * 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']);
     }
 }