private function writeMainParameters(DatabaseSettings $dbSettings, PlatformSettings $platformSettings, MailingSettings $mailSettings) { $defaultTemplateContent = file_get_contents($this->templateFile); $defaultParameters = Yaml::parse($defaultTemplateContent); $parameters = array('database_driver' => $dbSettings->getDriver(), 'database_host' => $dbSettings->getHost(), 'database_name' => $dbSettings->getName(), 'database_user' => $dbSettings->getUser(), 'database_password' => $dbSettings->getPassword(), 'database_port' => $dbSettings->getPort(), 'mailer_transport' => $mailSettings->getTransport(), 'mailer_encryption' => $mailSettings->getTransportOption('encryption'), 'mailer_auth_mode' => $mailSettings->getTransportOption('auth_mode'), 'mailer_host' => $mailSettings->getTransportOption('host'), 'mailer_port' => $mailSettings->getTransportOption('port'), 'mailer_user' => $mailSettings->getTransportOption('username'), 'mailer_password' => $mailSettings->getTransportOption('password'), 'locale' => $platformSettings->getLanguage(), 'secret' => md5(rand(0, 10000000))); $parameters = array_merge($defaultParameters['parameters'], $parameters); $this->doWrite(array('parameters' => $parameters), $this->mainFile); }