#299308 by redndahead, Dave Reid, dropcube, catch, redndahead, and dbabbage: Add POD to installation requirements.

merge-requests/26/head
Angie Byron 2010-01-09 22:01:42 +00:00
parent 147bb1389a
commit 20bac50d4a
5 changed files with 29 additions and 4 deletions

View File

@ -208,6 +208,11 @@ function drupal_detect_baseurl($file = 'install.php') {
function drupal_detect_database_types() {
$databases = array();
// Initialize the database system if it has not been
// initialized yet. We do not initialize it earlier to make
// requirements check during the installation.
require_once DRUPAL_ROOT . '/includes/database/database.inc';
// We define a driver as a directory in /includes/database that in turn
// contains a database.inc file. That allows us to drop in additional drivers
// without modifying the installer.

View File

@ -571,7 +571,7 @@ function list_themes($refresh = FALSE) {
$themes = array();
// Extract from the database only when it is available.
// Also check that the site is not in the middle of an install or update.
if (db_is_active() && !defined('MAINTENANCE_MODE')) {
if (!defined('MAINTENANCE_MODE') && db_is_active()) {
foreach (system_list('theme') as $theme) {
if (file_exists($theme->filename)) {
$theme->info = unserialize($theme->info);
@ -2266,7 +2266,7 @@ function template_preprocess(&$variables, $hook) {
$variables['is_admin'] = FALSE;
$variables['is_front'] = FALSE;
$variables['logged_in'] = FALSE;
if ($variables['db_is_active'] = db_is_active() && !defined('MAINTENANCE_MODE')) {
if ($variables['db_is_active'] = !defined('MAINTENANCE_MODE') && db_is_active()) {
// Check for administrators.
if (user_access('access administration pages')) {
$variables['is_admin'] = TRUE;

View File

@ -28,7 +28,6 @@ function _drupal_maintenance_theme() {
require_once DRUPAL_ROOT . '/includes/unicode.inc';
require_once DRUPAL_ROOT . '/includes/file.inc';
require_once DRUPAL_ROOT . '/includes/module.inc';
require_once DRUPAL_ROOT . '/includes/database/database.inc';
unicode_check();
// Install and update pages are treated differently to prevent theming overrides.
@ -39,6 +38,7 @@ function _drupal_maintenance_theme() {
if (!db_is_active()) {
// Because we are operating in a crippled environment, we need to
// bootstrap just enough to allow hook invocations to work.
require_once DRUPAL_ROOT . '/includes/database/database.inc';
$module_list['system']['filename'] = 'modules/system/system.module';
module_list(TRUE, FALSE, FALSE, $module_list);
drupal_load('module', 'system');

View File

@ -791,7 +791,7 @@ function install_verify_settings() {
global $db_prefix, $databases;
// Verify existing settings (if any).
if (!empty($databases)) {
if (!empty($databases) && install_verify_pdo()) {
$database = $databases['default']['default'];
drupal_static_reset('conf_path');
$settings_file = './' . conf_path(FALSE) . '/settings.php';
@ -803,6 +803,13 @@ function install_verify_settings() {
return FALSE;
}
/**
* Verify PDO library.
*/
function install_verify_pdo() {
return extension_loaded('pdo');
}
/**
* Installation task; define a form to configure and rewrite settings.php.
*

View File

@ -94,6 +94,19 @@ function system_requirements($phase) {
else {
$requirements['php_register_globals']['value'] = $t('Disabled');
}
// Test PDO library availability.
$requirements['pdo'] = array(
'title' => $t('PDO library'),
);
if (extension_loaded('pdo')) {
$requirements['pdo']['value'] = $t('Enabled');
}
else {
$requirements['pdo']['value'] = $t('Disabled');
$requirements['pdo']['severity'] = REQUIREMENT_ERROR;
$requirements['pdo']['description'] = $t('Your server does not have the PHP PDO extension enabled. See the <a href="@system_requirements">system requirements page</a> for more information.', array('@system_requirements' => 'http://drupal.org/requirements'));
}
// Test PHP memory_limit
$memory_limit = ini_get('memory_limit');