*
* @package Elgg
* @subpackage Installer
- * @author Curverider Ltd
+ * @author Cash Costello and Curverider Ltd
* @link http://elgg.org/
*/
$this->checkRewriteRules($report);
// check for existence of settings file
- if ($this->checkSettingsFile() != TRUE) {
+ if ($this->checkSettingsFile($report) != TRUE) {
// no file, so check permissions on engine directory
$this->checkEngineDir($report);
}
protected function setInstallStatus() {
global $CONFIG;
- $settingsCreated = $this->checkSettingsFile();
- if ($settingsCreated == FALSE) {
+ if (!is_readable("{$CONFIG->path}engine/settings.php")) {
return;
}
$writable = is_writable("{$CONFIG->path}engine");
if (!$writable) {
- $report['engine'] = array(
+ $report['settings'] = array(
array(
'severity' => 'failure',
'message' => elgg_echo('install:check:enginedir'),
/**
* Check that the settings file exists
+ * @param array $report
* @return bool
*/
- protected function checkSettingsFile() {
+ protected function checkSettingsFile(&$report) {
global $CONFIG;
- if (is_readable("{$CONFIG->path}engine/settings.php")) {
- return TRUE;
+ if (!file_exists("{$CONFIG->path}engine/settings.php")) {
+ return FALSE;
}
- return FALSE;
+ if (!is_readable("{$CONFIG->path}engine/settings.php")) {
+ $report['settings'] = array(
+ array(
+ 'severity' => 'failure',
+ 'message' => elgg_echo('install:check:readsettings'),
+ )
+ );
+ }
+
+ return TRUE;
}
/**
'install:require:php' => 'PHP',
'install:require:rewrite' => 'Web server',
- 'install:require:engine' => 'Settings file',
+ 'install:require:settings' => 'Settings file',
'install:require:database' => 'Database',
'install:check:root' => 'Your web server does not have permission to create an .htaccess file in the root directory of Elgg. You have two choices:
1. Change the permissions on the engine directory
2. Copy the file settings.example.php to settings.php and follow the instructions in it for setting your database parameters.',
+ 'install:check:readsettings' => 'A settings file exists in the engine directory, but the web server cannot read it. You can delete the file or change the read permissions on it.',
'install:check:php:success' => "Your server's PHP satisfies all of Elgg's requirements.",
'install:check:rewrite:success' => 'The test of the rewrite rules was successful.',
'InstallationException:CannotLoadSettings' => 'Elgg could not load the settings file. It does not exist or there is a file permissions issue.',
'SecurityException:Codeblock' => "Denied access to execute privileged code block",
- 'DatabaseException:WrongCredentials' => "Elgg couldn't connect to the database using the given credentials.",
+ 'DatabaseException:WrongCredentials' => "Elgg couldn't connect to the database using the given credentials. Check the settings file.",
'DatabaseException:NoConnect' => "Elgg couldn't select the database '%s', please check that the database is created and you have access to it.",
'SecurityException:FunctionDenied' => "Access to privileged function '%s' is denied.",
'DatabaseException:DBSetupIssues' => "There were a number of issues: ",