Source of file AddDotEnvFile.php
Size: 1,962 Bytes - Last Modified: 2020-07-03T12:08:09+00:00
/var/www/docs.ssmods.com/process/src/src/Tasks/IndividualTasks/AddDotEnvFile.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | <?php namespace Sunnysideup\UpgradeToSilverstripe4\Tasks\IndividualTasks; use Sunnysideup\UpgradeToSilverstripe4\Api\FileFixes; use Sunnysideup\UpgradeToSilverstripe4\Tasks\Task; /** * Run a dev/build as a smoke test to see if all is well */ class AddDotEnvFile extends Task { protected $taskStep = 's60'; protected $envContent = [ 'SS_DATABASE_CLASS="MySQLPDODatabase"', 'SS_DATABASE_NAME="--DB-NAME--HERE--"', 'SS_DATABASE_PASSWORD="x"', 'SS_DATABASE_SERVER="localhost"', 'SS_DATABASE_USERNAME="root"', '', 'SS_DEFAULT_ADMIN_PASSWORD="x"', 'SS_DEFAULT_ADMIN_USERNAME="x"', '', 'SS_ENVIRONMENT_TYPE="dev"', ]; public function getTitle() { return 'Adds a .env file'; } public function getDescription() { return 'Adds a basic .env file in case that is needed.'; } public function runActualTask($params = []) { if (! file_exists($this->mu()->getWebRootDirLocation() . '/.env')) { foreach ($this->envContent as $line) { $line = $this->getEnvtContentAddValues($line); $this->mu()->execMe( $this->mu()->getWebRootDirLocation(), 'echo \'' . \addcslashes($line, '\'') . '\' >> .env', 'adding a line to .env: ' . $line, false ); } FileFixes::inst($this->mu()) ->addLineToFileIfItDoesNotExist( '.gitignore', '.env' ); } } protected function getEnvtContentAddValues(string $string) { return str_replace( '--DB-NAME--HERE--', 'upgrader' . $this->mu()->getVendorNamespace() . $this->mu()->getPackageNamespace(), $string ); } protected function hasCommitAndPush() { return false; } } |