diff options
| -rw-r--r-- | install/ElggInstaller.php | 21 | ||||
| -rw-r--r-- | install/cli/sample_installer.php | 1 | 
2 files changed, 18 insertions, 4 deletions
diff --git a/install/ElggInstaller.php b/install/ElggInstaller.php index 59ac44dc6..657f0907f 100644 --- a/install/ElggInstaller.php +++ b/install/ElggInstaller.php @@ -39,6 +39,7 @@ class ElggInstaller {  		);  	protected $status = array( +		'config' => FALSE,  		'database' => FALSE,  		'settings' => FALSE,  		'admin' => FALSE, @@ -119,6 +120,9 @@ class ElggInstaller {  	 * account. If it fails, an exception is thrown. It does not check any of  	 * the requirements as the multiple step web installer does.  	 * +	 * If the settings.php file exists, it will use that rather than the parameters +	 * passed to this function. +	 *  	 * @param array $params         Array of key value pairs  	 * @param bool  $createHtaccess Should .htaccess be created  	 * @@ -169,15 +173,22 @@ class ElggInstaller {  			}  		} -		if (!$this->createSettingsFile($params)) { -			throw new InstallationException(elgg_echo('install:error:settings')); +		$this->setInstallStatus(); + +		if (!$this->status['config']) { +			if (!$this->createSettingsFile($params)) { +				throw new InstallationException(elgg_echo('install:error:settings')); +			}  		}  		if (!$this->connectToDatabase()) {  			throw new InstallationException(elgg_echo('install:error:databasesettings'));  		} -		if (!$this->installDatabase()) { -			throw new InstallationException(elgg_echo('install:error:cannotloadtables')); + +		if (!$this->status['database']) { +			if (!$this->installDatabase()) { +				throw new InstallationException(elgg_echo('install:error:cannotloadtables')); +			}  		}  		// load remaining core libraries @@ -597,6 +608,8 @@ class ElggInstaller {  		$this->loadSettingsFile(); +		$this->status['config'] = TRUE; +  		// must be able to connect to database to jump install steps  		$dbSettingsPass = $this->checkDatabaseSettings(  				$CONFIG->dbuser, diff --git a/install/cli/sample_installer.php b/install/cli/sample_installer.php index 10838b562..954169a6a 100644 --- a/install/cli/sample_installer.php +++ b/install/cli/sample_installer.php @@ -15,6 +15,7 @@ $params = array(  	// site settings  	'sitename' => '', +	'siteemail' => '',  	'wwwroot' => '',  	'dataroot' => '',  | 
