From a3bb66e4e81817737ce02ce8f3d0cff5c32fdae9 Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Sat, 20 Sep 2008 20:22:25 +0000 Subject: #259623 by dopry and Damien Tournoud: Convert includes/requires to use absolute paths. --- includes/batch.inc | 4 ++-- includes/bootstrap.inc | 32 +++++++++++++-------------- includes/common.inc | 22 +++++++++---------- includes/database/database.inc | 5 ++--- includes/form.inc | 2 +- includes/install.inc | 50 +++++++++++++++++++++--------------------- includes/locale.inc | 4 ++-- includes/mail.inc | 2 +- includes/menu.inc | 2 +- includes/module.inc | 17 ++++++-------- includes/registry.inc | 10 ++++----- includes/theme.inc | 24 ++++++++++---------- includes/theme.maintenance.inc | 14 ++++++------ 13 files changed, 92 insertions(+), 96 deletions(-) (limited to 'includes') diff --git a/includes/batch.inc b/includes/batch.inc index c4f481a05..611875154 100644 --- a/includes/batch.inc +++ b/includes/batch.inc @@ -183,7 +183,7 @@ function _batch_process() { // request, we check if it requires an additional file for functions // definitions. if ($set_changed && isset($current_set['file']) && is_file($current_set['file'])) { - include_once($current_set['file']); + include_once DRUPAL_ROOT . '/' . $current_set['file']; } $task_message = ''; @@ -304,7 +304,7 @@ function _batch_finished() { if (isset($batch_set['finished'])) { // Check if the set requires an additional file for functions definitions. if (isset($batch_set['file']) && is_file($batch_set['file'])) { - include_once($batch_set['file']); + include_once DRUPAL_ROOT . '/' . $batch_set['file']; } if (function_exists($batch_set['finished'])) { $batch_set['finished']($batch_set['success'], $batch_set['results'], $batch_set['operations']); diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc index fd27b84a8..d21508fbe 100644 --- a/includes/bootstrap.inc +++ b/includes/bootstrap.inc @@ -329,8 +329,8 @@ function conf_init() { global $databases, $db_prefix, $cookie_domain, $conf, $installed_profile, $update_free_access; $conf = array(); - if (file_exists('./' . conf_path() . '/settings.php')) { - include_once './' . conf_path() . '/settings.php'; + if (file_exists(DRUPAL_ROOT . '/' . conf_path() . '/settings.php')) { + include_once DRUPAL_ROOT . '/' . conf_path() . '/settings.php'; } if (isset($base_url)) { @@ -602,7 +602,7 @@ function drupal_load($type, $name) { $filename = drupal_get_filename($type, $name); if ($filename) { - include_once "./$filename"; + include_once DRUPAL_ROOT . '/' . $filename; $files[$type][$name] = TRUE; return TRUE; @@ -1006,7 +1006,7 @@ function _drupal_bootstrap($phase) { case DRUPAL_BOOTSTRAP_EARLY_PAGE_CACHE: // Allow specifying special cache handlers in settings.php, like // using memcached or files for storing cache information. - require_once variable_get('cache_inc', './includes/cache.inc'); + require_once DRUPAL_ROOT . '/' . variable_get('cache_inc', 'includes/cache.inc'); // If the page_cache_fastpath is set to TRUE in settings.php and // page_cache_fastpath (implemented in the special implementation of // cache.inc) printed the page and indicated this with a returned TRUE @@ -1019,7 +1019,7 @@ function _drupal_bootstrap($phase) { case DRUPAL_BOOTSTRAP_DATABASE: // Initialize the database system. Note that the connection // won't be initialized until it is actually requested. - require_once './includes/database/database.inc'; + require_once DRUPAL_ROOT . '/includes/database/database.inc'; // Register autoload functions so that we can access classes and interfaces. spl_autoload_register('drupal_autoload_class'); spl_autoload_register('drupal_autoload_interface'); @@ -1035,7 +1035,7 @@ function _drupal_bootstrap($phase) { break; case DRUPAL_BOOTSTRAP_SESSION: - require_once variable_get('session_inc', './includes/session.inc'); + require_once DRUPAL_ROOT . '/' . variable_get('session_inc', 'includes/session.inc'); session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy_sid', '_sess_gc'); session_start(); break; @@ -1044,7 +1044,7 @@ function _drupal_bootstrap($phase) { // Initialize configuration variables, using values from settings.php if available. $conf = variable_init(isset($conf) ? $conf : array()); // Load module handling. - require_once './includes/module.inc'; + require_once DRUPAL_ROOT . '/includes/module.inc'; $cache_mode = variable_get('cache', CACHE_DISABLED); // Get the page from the cache. $cache = $cache_mode == CACHE_DISABLED ? '' : page_get_cache(); @@ -1071,13 +1071,13 @@ function _drupal_bootstrap($phase) { break; case DRUPAL_BOOTSTRAP_PATH: - require_once './includes/path.inc'; + require_once DRUPAL_ROOT . '/includes/path.inc'; // Initialize $_GET['q'] prior to loading modules and invoking hook_init(). drupal_init_path(); break; case DRUPAL_BOOTSTRAP_FULL: - require_once './includes/common.inc'; + require_once DRUPAL_ROOT . '/includes/common.inc'; _drupal_bootstrap_full(); break; } @@ -1092,7 +1092,7 @@ function _drupal_bootstrap($phase) { * @see _drupal_maintenance_theme() */ function drupal_maintenance_theme() { - require_once './includes/theme.maintenance.inc'; + require_once DRUPAL_ROOT . '/includes/theme.maintenance.inc'; _drupal_maintenance_theme(); } @@ -1120,7 +1120,7 @@ function drupal_init_language() { $language = language_default(); } else { - include_once './includes/language.inc'; + include_once DRUPAL_ROOT . '/includes/language.inc'; $language = language_initialize(); } } @@ -1270,7 +1270,7 @@ function drupal_get_schema($table = NULL, $rebuild = FALSE) { // Invoke hook_schema for all modules. foreach (module_implements('schema') as $module) { $current = module_invoke($module, 'schema'); - require_once('./includes/common.inc'); + require_once DRUPAL_ROOT . '/includes/common.inc'; if (drupal_function_exists('_drupal_initialize_schema')) { _drupal_initialize_schema($module, $current); } @@ -1342,7 +1342,7 @@ function drupal_function_exists($function) { $file = db_result(db_query("SELECT filename FROM {registry} WHERE name = :name AND type = :type", array(':name' => $function, ':type' => 'function'))); if ($file) { - require_once($file); + require_once DRUPAL_ROOT . '/' . $file; $checked[$function] = function_exists($function); if ($checked[$function]) { registry_mark_code('function', $function); @@ -1390,7 +1390,7 @@ function drupal_autoload_class($class) { function _registry_check_code($type, $name) { $file = db_result(db_query("SELECT filename FROM {registry} WHERE name = :name AND type = :type", array(':name' => $name, ':type' => $type))); if ($file) { - require_once($file); + require_once DRUPAL_ROOT . '/' . $file; registry_mark_code($type, $name); return TRUE; } @@ -1430,7 +1430,7 @@ function registry_mark_code($type, $name, $return = FALSE) { * each function, file, and hook implementation in the database. */ function registry_rebuild() { - require_once './includes/registry.inc'; + require_once DRUPAL_ROOT . '/includes/registry.inc'; _registry_rebuild(); } @@ -1501,7 +1501,7 @@ function registry_load_path_files($return = FALSE) { $cache = cache_get('registry:' . $menu['path'], 'cache_registry'); if (!empty($cache->data)) { foreach(explode(';', $cache->data) as $file) { - require_once($file); + require_once DRUPAL_ROOT . '/' . $file; $file_cache_data[] = $file; } } diff --git a/includes/common.inc b/includes/common.inc index 50be5bb71..42cc5b7e2 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -2491,7 +2491,7 @@ function drupal_valid_token($token, $value = '', $skip_anonymous = FALSE) { * failed. See xmlrpc_error(). */ function xmlrpc($url) { - require_once './includes/xmlrpc.inc'; + require_once DRUPAL_ROOT . '/includes/xmlrpc.inc'; $args = func_get_args(); return call_user_func_array('_xmlrpc', $args); } @@ -2503,16 +2503,16 @@ function _drupal_bootstrap_full() { return; } $called = 1; - require_once './includes/theme.inc'; - require_once './includes/pager.inc'; - require_once './includes/menu.inc'; - require_once './includes/tablesort.inc'; - require_once './includes/file.inc'; - require_once './includes/unicode.inc'; - require_once './includes/image.inc'; - require_once './includes/form.inc'; - require_once './includes/mail.inc'; - require_once './includes/actions.inc'; + require_once DRUPAL_ROOT . '/includes/theme.inc'; + require_once DRUPAL_ROOT . '/includes/pager.inc'; + require_once DRUPAL_ROOT . '/includes/menu.inc'; + require_once DRUPAL_ROOT . '/includes/tablesort.inc'; + require_once DRUPAL_ROOT . '/includes/file.inc'; + require_once DRUPAL_ROOT . '/includes/unicode.inc'; + require_once DRUPAL_ROOT . '/includes/image.inc'; + require_once DRUPAL_ROOT . '/includes/form.inc'; + require_once DRUPAL_ROOT . '/includes/mail.inc'; + require_once DRUPAL_ROOT . '/includes/actions.inc'; // Set the Drupal custom error handler. set_error_handler('drupal_error_handler'); // Emit the correct charset HTTP header. diff --git a/includes/database/database.inc b/includes/database/database.inc index 0369b34b0..49402d02b 100644 --- a/includes/database/database.inc +++ b/includes/database/database.inc @@ -825,8 +825,7 @@ abstract class Database { // We cannot rely on the registry yet, because the registry requires // an open database connection. $driver_class = 'DatabaseConnection_' . $driver; - $driver_file = './includes/database/' . $driver . '/database.inc'; - require_once($driver_file); + require_once DRUPAL_ROOT . '/includes/database/' . $driver . '/database.inc'; self::$connections[$key][$target] = new $driver_class(self::$databaseInfo[$key][$target]); // We need to pass around the simpletest database prefix in the request @@ -1809,7 +1808,7 @@ function db_result(DatabaseStatement $statement) { function _db_need_install() { if (!function_exists('install_goto')) { - include_once 'includes/install.inc'; + include_once DRUPAL_ROOT . '/includes/install.inc'; install_goto('install.php'); } } diff --git a/includes/form.inc b/includes/form.inc index 3c64b0dc4..bd7cb7ba6 100644 --- a/includes/form.inc +++ b/includes/form.inc @@ -2504,7 +2504,7 @@ function batch_process($redirect = NULL, $url = NULL) { else { // Non-progressive execution: bypass the whole progressbar workflow // and execute the batch in one pass. - require_once './includes/batch.inc'; + require_once DRUPAL_ROOT . '/includes/batch.inc'; _batch_process(); } } diff --git a/includes/install.inc b/includes/install.inc index 3bf434ebd..047701480 100644 --- a/includes/install.inc +++ b/includes/install.inc @@ -211,8 +211,8 @@ function drupal_detect_database_types() { // without modifying the installer. // Because we have no registry yet, we need to also include the install.inc // file for the driver explicitly. - foreach (glob('./includes/database/*/{install,database}.inc', GLOB_BRACE) as $file) { - include_once($file); + foreach (glob(DRUPAL_ROOT . '/includes/database/*/{install,database}.inc', GLOB_BRACE) as $file) { + include_once $file; $dir_parts = explode('/', $file, -1); $drivers[end($dir_parts)] = $file; } @@ -330,8 +330,8 @@ abstract class DatabaseInstaller { * An array of settings that need to be updated. */ function drupal_rewrite_settings($settings = array(), $prefix = '') { - $default_settings = './sites/default/default.settings.php'; - $settings_file = './' . conf_path(FALSE, TRUE) . '/' . $prefix . 'settings.php'; + $default_settings = 'sites/default/default.settings.php'; + $settings_file = conf_path(FALSE, TRUE) . '/' . $prefix . 'settings.php'; // Build list of setting names and insert the values into the global namespace. $keys = array(); @@ -342,7 +342,7 @@ function drupal_rewrite_settings($settings = array(), $prefix = '') { $buffer = NULL; $first = TRUE; - if ($fp = fopen($default_settings, 'r')) { + if ($fp = fopen(DRUPAL_ROOT . '/' . $default_settings, 'r')) { // Step line by line through settings.php. while (!feof($fp)) { $line = fgets($fp); @@ -390,7 +390,7 @@ function drupal_rewrite_settings($settings = array(), $prefix = '') { } } - $fp = fopen($settings_file, 'w'); + $fp = fopen(DRUPAL_ROOT . '/' . $settings_file, 'w'); if ($fp && fwrite($fp, $buffer) === FALSE) { drupal_set_message(st('Failed to modify %settings, please verify the file permissions.', array('%settings' => $settings_file)), 'error'); } @@ -425,16 +425,16 @@ function drupal_get_install_files($module_list = array()) { * The list of modules to install. */ function drupal_verify_profile($profile, $locale) { - include_once './includes/file.inc'; - include_once './includes/common.inc'; + include_once DRUPAL_ROOT . '/includes/file.inc'; + include_once DRUPAL_ROOT . '/includes/common.inc'; - $profile_file = "./profiles/$profile/$profile.profile"; + $profile_file = DRUPAL_ROOT . "/profiles/$profile/$profile.profile"; if (!isset($profile) || !file_exists($profile_file)) { install_no_profile_error(); } - require_once($profile_file); + require_once $profile_file; // Get a list of modules required by this profile. $function = $profile . '_profile_modules'; @@ -521,11 +521,11 @@ function drupal_install_init_database() { if (!$included) { $connection_info = Database::getConnectionInfo(); $driver = $connection_info['default']['driver']; - require_once('./includes/database/query.inc'); - require_once('./includes/database/select.inc'); - require_once('./includes/database/schema.inc'); - foreach (glob('./includes/database/' . $driver . '/*.inc') as $include_file) { - require_once($include_file); + require_once DRUPAL_ROOT . '/includes/database/query.inc'; + require_once DRUPAL_ROOT . '/includes/database/select.inc'; + require_once DRUPAL_ROOT . '/includes/database/schema.inc'; + foreach (glob(DRUPAL_ROOT . '/includes/database/' . $driver . '/*.inc') as $include_file) { + require_once $include_file; } } } @@ -538,7 +538,7 @@ function drupal_install_init_database() { */ function drupal_install_system() { $system_path = dirname(drupal_get_filename('module', 'system', NULL)); - require_once './' . $system_path . '/system.install'; + require_once DRUPAL_ROOT . '/' . $system_path . '/system.install'; drupal_install_init_database(); module_invoke('system', 'install'); @@ -818,16 +818,16 @@ function st($string, $args = array()) { if (!isset($locale_strings)) { $locale_strings = array(); - $filename = './profiles/' . $profile . '/translations/' . $install_locale . '.po'; - if (file_exists($filename)) { - require_once './includes/locale.inc'; + $filename = 'profiles/' . $profile . '/translations/' . $install_locale . '.po'; + if (file_exists(DRUPAL_ROOT . '/' . $filename)) { + require_once DRUPAL_ROOT . '/includes/locale.inc'; $file = (object) array('filepath' => $filename); _locale_import_read_po('mem-store', $file); $locale_strings = _locale_import_one_string('mem-report'); } } - require_once './includes/theme.inc'; + require_once DRUPAL_ROOT . '/includes/theme.inc'; // Transform arguments before inserting them foreach ($args as $key => $value) { switch ($key[0]) { @@ -856,15 +856,15 @@ function st($string, $args = array()) { * Array of the install profile's requirements. */ function drupal_check_profile($profile) { - include_once './includes/file.inc'; + include_once DRUPAL_ROOT . '/includes/file.inc'; - $profile_file = "./profiles/$profile/$profile.profile"; + $profile_file = DRUPAL_ROOT . "/profiles/$profile/$profile.profile"; if (!isset($profile) || !file_exists($profile_file)) { install_no_profile_error(); } - require_once($profile_file); + require_once $profile_file; // Get a list of modules required by this profile. $function = $profile . '_profile_modules'; @@ -876,7 +876,7 @@ function drupal_check_profile($profile) { // Collect requirement testing results $requirements = array(); foreach ($installs as $install) { - require_once $install->filename; + require_once DRUPAL_ROOT . '/' . $install->filename; $function = $install->name. '_requirements'; if (function_exists($function)) { $requirements = array_merge($requirements, $function('install')); @@ -916,7 +916,7 @@ function drupal_check_module($module) { // Include install file $install = drupal_get_install_files(array($module)); if (isset($install[$module])) { - require_once $install[$module]->filename; + require_once DRUPAL_ROOT . '/' . $install[$module]->filename; // Check requirements $requirements = module_invoke($module, 'requirements', 'install'); diff --git a/includes/locale.inc b/includes/locale.inc index b06390265..5d1c9e352 100644 --- a/includes/locale.inc +++ b/includes/locale.inc @@ -1040,7 +1040,7 @@ function _locale_import_po($file, $langcode, $mode, $group = NULL) { */ function _locale_import_read_po($op, $file, $mode = NULL, $lang = NULL, $group = 'default') { - $fd = fopen($file->filepath, "rb"); // File will get closed by PHP on return + $fd = fopen(DRUPAL_ROOT . '/' . $file->filepath, "rb"); // File will get closed by PHP on return if (!$fd) { _locale_import_message('The translation import failed, because the file %filename could not be read.', $file); return FALSE; @@ -2543,7 +2543,7 @@ function _locale_batch_build($files, $finished = NULL, $components = array()) { 'title' => $t('Importing interface translations'), 'init_message' => $t('Starting import'), 'error_message' => $t('Error importing interface translations'), - 'file' => './includes/locale.inc', + 'file' => 'includes/locale.inc', // This is not a batch API construct, but data passed along to the // installer, so we know what did we import already. '#components' => $components, diff --git a/includes/mail.inc b/includes/mail.inc index a7db9a287..e4b1cb505 100644 --- a/includes/mail.inc +++ b/includes/mail.inc @@ -173,7 +173,7 @@ function drupal_mail($module, $key, $to, $language, $params = array(), $from = N function drupal_mail_send($message) { // Allow for a custom mail backend. if (variable_get('smtp_library', '') && file_exists(variable_get('smtp_library', ''))) { - include_once './' . variable_get('smtp_library', ''); + include_once DRUPAL_ROOT . '/' . variable_get('smtp_library', ''); return drupal_mail_wrapper($message); } else { diff --git a/includes/menu.inc b/includes/menu.inc index 95ec71e59..d5e45a0c5 100644 --- a/includes/menu.inc +++ b/includes/menu.inc @@ -2472,7 +2472,7 @@ function _menu_site_is_offline() { return $_GET['q'] != 'user' && $_GET['q'] != 'user/login'; } // Logged in users are unprivileged here, so they are logged out. - require_once drupal_get_path('module', 'user') . '/user.pages.inc'; + require_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'user') . '/user.pages.inc'; user_logout(); } } diff --git a/includes/module.inc b/includes/module.inc index 2a131d81f..779d647f7 100644 --- a/includes/module.inc +++ b/includes/module.inc @@ -220,7 +220,7 @@ function module_exists($module) { */ function module_load_install($module) { // Make sure the installation API is available - include_once './includes/install.inc'; + include_once DRUPAL_ROOT . '/includes/install.inc'; module_load_include('install', $module); } @@ -241,16 +241,13 @@ function module_load_include($type, $module, $name = NULL) { } if (drupal_function_exists('drupal_get_path')) { - $file = './' . drupal_get_path('module', $module) . "/$name.$type"; - } - - if (is_file($file)) { - require_once $file; - return $file; - } - else { - return FALSE; + $file = DRUPAL_ROOT . '/' . drupal_get_path('module', $module) . "/$name.$type"; + if (is_file($file)) { + require_once $file; + return $file; + } } + return FALSE; } /** diff --git a/includes/registry.inc b/includes/registry.inc index e306c8487..2f58f36de 100644 --- a/includes/registry.inc +++ b/includes/registry.inc @@ -33,9 +33,9 @@ function _registry_rebuild() { // registry rebuild process runs. $connection_info = Database::getConnectionInfo(); $driver = $connection_info['default']['driver']; - require_once('./includes/database/query.inc'); - require_once('./includes/database/select.inc'); - require_once('./includes/database/' . $driver . '/query.inc'); + require_once DRUPAL_ROOT . '/includes/database/query.inc'; + require_once DRUPAL_ROOT . '/includes/database/select.inc'; + require_once DRUPAL_ROOT . '/includes/database/' . $driver . '/query.inc'; // Reset the resources cache. _registry_get_resource_name(); @@ -45,12 +45,12 @@ function _registry_rebuild() { if ($module->status) { $dir = dirname($module->filename); foreach ($module->info['files'] as $file) { - $files["./$dir/$file"] = array(); + $files["$dir/$file"] = array(); } } } foreach (file_scan_directory('includes', '/\.inc$/') as $filename => $file) { - $files["./$filename"] = array(); + $files["$filename"] = array(); } foreach (registry_get_parsed_files() as $filename => $file) { diff --git a/includes/theme.inc b/includes/theme.inc index 2ad9f2e6e..3b76c070c 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -166,7 +166,7 @@ function _init_theme($theme, $base_theme = array(), $registry_callback = '_theme // Initialize the theme. if (isset($theme->engine)) { // Include the engine. - include_once './' . $theme->owner; + include_once DRUPAL_ROOT . '/' . $theme->owner; $theme_engine = $theme->engine; if (function_exists($theme_engine . '_init')) { @@ -181,12 +181,12 @@ function _init_theme($theme, $base_theme = array(), $registry_callback = '_theme foreach ($base_theme as $base) { // Include the theme file or the engine. if (!empty($base->owner)) { - include_once './' . $base->owner; + include_once DRUPAL_ROOT . '/' . $base->owner; } } // and our theme gets one too. if (!empty($theme->owner)) { - include_once './' . $theme->owner; + include_once DRUPAL_ROOT . '/' . $theme->owner; } } @@ -298,10 +298,10 @@ function _theme_process_registry(&$cache, $name, $type, $theme, $path) { // files can prevent them from getting registered. if (isset($info['file']) && !isset($info['path'])) { $result[$hook]['file'] = $path . '/' . $info['file']; - include_once($result[$hook]['file']); + include_once DRUPAL_ROOT . '/' . $result[$hook]['file']; } elseif (isset($info['file']) && isset($info['path'])) { - include_once($info['path'] . '/' . $info['file']); + include_once DRUPAL_ROOT . '/' . $info['path'] . '/' . $info['file']; } if (isset($info['template']) && !isset($info['path'])) { @@ -600,7 +600,7 @@ function theme() { if (isset($info['path'])) { $include_file = $info['path'] . '/' . $include_file; } - include_once($include_file); + include_once DRUPAL_ROOT . '/' . $include_file; } if (isset($info['function'])) { // The theme call is a function. @@ -974,12 +974,12 @@ function theme_get_setting($setting_name, $refresh = FALSE) { * The output generated by the template. */ function theme_render_template($file, $variables) { - extract($variables, EXTR_SKIP); // Extract the variables to a local namespace - ob_start(); // Start output buffering - include "./$file"; // Include the file - $contents = ob_get_contents(); // Get the contents of the buffer - ob_end_clean(); // End buffering and discard - return $contents; // Return the contents + extract($variables, EXTR_SKIP); // Extract the variables to a local namespace + ob_start(); // Start output buffering + include DRUPAL_ROOT . '/' . $file; // Include the file + $contents = ob_get_contents(); // Get the contents of the buffer + ob_end_clean(); // End buffering and discard + return $contents; // Return the contents } /** diff --git a/includes/theme.maintenance.inc b/includes/theme.maintenance.inc index 1ece4e58f..3cb1ee90d 100644 --- a/includes/theme.maintenance.inc +++ b/includes/theme.maintenance.inc @@ -22,13 +22,13 @@ function _drupal_maintenance_theme() { return; } - require_once './includes/path.inc'; - require_once './includes/theme.inc'; - require_once './includes/common.inc'; - require_once './includes/unicode.inc'; - require_once './includes/file.inc'; - require_once './includes/module.inc'; - require_once './includes/database/database.inc'; + require_once DRUPAL_ROOT . '/includes/path.inc'; + require_once DRUPAL_ROOT . '/includes/theme.inc'; + require_once DRUPAL_ROOT . '/includes/common.inc'; + 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. -- cgit v1.2.3