summaryrefslogtreecommitdiff
path: root/install.php
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2009-05-09 18:35:01 +0000
committerDries Buytaert <dries@buytaert.net>2009-05-09 18:35:01 +0000
commitbbe7b77475964e5ad67a2fff9da07e820e699d4b (patch)
treeb6c2d5c8ee8b628ba8bb400a268ae0ea4ea5f200 /install.php
parent0e0ca3b589668041022e3191d749d4c5acaee6e9 (diff)
downloadbrdo-bbe7b77475964e5ad67a2fff9da07e820e699d4b.tar.gz
brdo-bbe7b77475964e5ad67a2fff9da07e820e699d4b.tar.bz2
- Patch #304163 by chx, David_Rothstein: allow update.php to regenerate settings.php
Diffstat (limited to 'install.php')
-rw-r--r--install.php58
1 files changed, 58 insertions, 0 deletions
diff --git a/install.php b/install.php
index 1fa053ddf..67e65084d 100644
--- a/install.php
+++ b/install.php
@@ -887,6 +887,64 @@ function install_reserved_tasks() {
}
/**
+ * Check installation requirements and report any errors.
+ */
+function install_check_requirements($profile, $verify) {
+ // Check the profile requirements.
+ $requirements = drupal_check_profile($profile);
+
+ // If Drupal is not set up already, we need to create a settings file.
+ if (!$verify) {
+ $writable = FALSE;
+ $conf_path = './' . conf_path(FALSE, TRUE);
+ $settings_file = $conf_path . '/settings.php';
+ $file = $conf_path;
+ $exists = FALSE;
+ // Verify that the directory exists.
+ if (drupal_verify_install_file($conf_path, FILE_EXIST, 'dir')) {
+ // Check to make sure a settings.php already exists.
+ $file = $settings_file;
+ if (drupal_verify_install_file($settings_file, FILE_EXIST)) {
+ $exists = TRUE;
+ // If it does, make sure it is writable.
+ $writable = drupal_verify_install_file($settings_file, FILE_READABLE|FILE_WRITABLE);
+ $exists = TRUE;
+ }
+ }
+
+ if (!$exists) {
+ $requirements['settings file exists'] = array(
+ 'title' => st('Settings file'),
+ 'value' => st('The settings file does not exist.'),
+ 'severity' => REQUIREMENT_ERROR,
+ 'description' => st('The @drupal installer requires that you create a settings file as part of the installation process. Copy the %default_file file to %file. More details about installing Drupal are available in <a href="@install_txt">INSTALL.txt</a>.', array('@drupal' => drupal_install_profile_name(), '%file' => $file, '%default_file' => $conf_path .'/default.settings.php', '@install_txt' => base_path() .'INSTALL.txt')),
+ );
+ }
+ else {
+ $requirements['settings file exists'] = array(
+ 'title' => st('Settings file'),
+ 'value' => st('The %file file exists.', array('%file' => $file)),
+ );
+ if (!$writable) {
+ $requirements['settings file writable'] = array(
+ 'title' => st('Settings file'),
+ 'value' => st('The settings file is not writable.'),
+ 'severity' => REQUIREMENT_ERROR,
+ 'description' => st('The @drupal installer requires write permissions to %file during the installation process. If you are unsure how to grant file permissions, please consult the <a href="@handbook_url">online handbook</a>.', array('@drupal' => drupal_install_profile_name(), '%file' => $file, '@handbook_url' => 'http://drupal.org/server-permissions')),
+ );
+ }
+ else {
+ $requirements['settings file'] = array(
+ 'title' => st('Settings file'),
+ 'value' => st('Settings file is writable.'),
+ );
+ }
+ }
+ }
+ return $requirements;
+}
+
+/**
* Add the installation task list to the current page.
*/
function install_task_list($active = NULL) {