Index: cron.php =================================================================== RCS file: /cvs/drupal/drupal/cron.php,v retrieving revision 1.39 diff -u -r1.39 cron.php --- cron.php 26 May 2008 17:24:42 -0000 1.39 +++ cron.php 27 Aug 2008 11:19:42 -0000 @@ -6,7 +6,12 @@ * Handles incoming requests to fire off regularly-scheduled tasks (cron jobs). */ -include_once './includes/bootstrap.inc'; +/** + * Root directory of Drupal installation. + */ +define('DRUPAL_ROOT', dirname(realpath(__FILE__))); + +include_once DRUPAL_ROOT . '/includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); if (isset($_GET['cron_key']) && variable_get('cron_key', 'drupal') == $_GET['cron_key']) { drupal_cron_run(); Index: index.php =================================================================== RCS file: /cvs/drupal/drupal/index.php,v retrieving revision 1.95 diff -u -r1.95 index.php --- index.php 21 Aug 2008 19:36:35 -0000 1.95 +++ index.php 27 Aug 2008 11:19:36 -0000 @@ -12,7 +12,12 @@ * See COPYRIGHT.txt and LICENSE.txt. */ -require_once './includes/bootstrap.inc'; +/** + * Root directory of Drupal installation. + */ +define('DRUPAL_ROOT', dirname(realpath(__FILE__))); + +require_once DRUPAL_ROOT . '/includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); $return = menu_execute_active_handler(); Index: install.php =================================================================== RCS file: /cvs/drupal/drupal/install.php,v retrieving revision 1.129 diff -u -r1.129 install.php --- install.php 8 Sep 2008 21:24:30 -0000 1.129 +++ install.php 10 Sep 2008 02:49:05 -0000 @@ -1,7 +1,12 @@ filename); + include_once DRUPAL_ROOT . '/' . $profile->filename; // Load profile details and store them for later retrieval. $function = $profile->name . '_profile_details'; @@ -499,8 +504,8 @@ * The selected language. */ function install_select_locale($profilename) { - include_once './includes/file.inc'; - include_once './includes/form.inc'; + include_once DRUPAL_ROOT . '/includes/file.inc'; + include_once DRUPAL_ROOT . '/includes/form.inc'; // Find all available locales. $locales = install_find_locales($profilename); @@ -564,7 +569,7 @@ * Form API array definition for language selection. */ function install_select_locale_form(&$form_state, $locales) { - include_once './includes/locale.inc'; + include_once DRUPAL_ROOT . '/includes/locale.inc'; $languages = _locale_get_predefined_list(); foreach ($locales as $locale) { // Try to use verbose locale name @@ -660,14 +665,14 @@ // to the same address, until the batch finished callback is invoked // and the task advances to 'locale-initial-import'. if ($task == 'profile-install-batch') { - include_once 'includes/batch.inc'; + include_once DRUPAL_ROOT .'/includes/batch.inc'; $output = _batch_page(); } // Import interface translations for the enabled modules. if ($task == 'locale-initial-import') { if (!empty($install_locale) && ($install_locale != 'en')) { - include_once 'includes/locale.inc'; + include_once DRUPAL_ROOT . '/includes/locale.inc'; // Enable installation language as default site language. locale_add_language($install_locale, NULL, NULL, NULL, NULL, NULL, 1, TRUE); // Collect files to import for this language. @@ -686,8 +691,8 @@ $task = 'configure'; } if ($task == 'locale-initial-batch') { - include_once 'includes/batch.inc'; - include_once 'includes/locale.inc'; + include_once DRUPAL_ROOT . '/includes/batch.inc'; + include_once DRUPAL_ROOT . '/includes/locale.inc'; $output = _batch_page(); } @@ -771,7 +776,7 @@ // control and proceed with importing the remaining translations. if ($task == 'profile-finished') { if (!empty($install_locale) && ($install_locale != 'en')) { - include_once 'includes/locale.inc'; + include_once DRUPAL_ROOT . '/includes/locale.inc'; // Collect files to import for this language. Skip components // already covered in the initial batch set. $batch = locale_batch_by_language($install_locale, '_install_locale_remaining_batch_finished', variable_get('install_locale_batch_components', array())); @@ -789,8 +794,8 @@ $task = 'finished'; } if ($task == 'locale-remaining-batch') { - include_once 'includes/batch.inc'; - include_once 'includes/locale.inc'; + include_once DRUPAL_ROOT . '/includes/batch.inc'; + include_once DRUPAL_ROOT . '/includes/locale.inc'; $output = _batch_page(); } Index: update.php =================================================================== RCS file: /cvs/drupal/drupal/update.php,v retrieving revision 1.258 diff -u -r1.258 update.php --- update.php 9 Sep 2008 13:33:19 -0000 1.258 +++ update.php 10 Sep 2008 02:49:05 -0000 @@ -2,6 +2,11 @@ // $Id: update.php,v 1.258 2008-09-09 13:33:19 webchick Exp $ /** + * Root directory of Drupal installation. + */ +define('DRUPAL_ROOT', dirname(realpath(__FILE__))); + +/** * @file * Administrative page for handling updates from one Drupal version to another. * @@ -594,7 +599,7 @@ // Our custom error handler is not yet installed, so we just suppress them. ini_set('display_errors', FALSE); -require_once './includes/bootstrap.inc'; +require_once DRUPAL_ROOT . '/includes/bootstrap.inc'; // We only load DRUPAL_BOOTSTRAP_CONFIGURATION for the update requirements // check to avoid reaching the PHP memory limit. @@ -603,12 +608,12 @@ // Minimum load of components. drupal_bootstrap(DRUPAL_BOOTSTRAP_CONFIGURATION); - require_once './includes/install.inc'; - require_once './includes/file.inc'; - require_once './modules/system/system.install'; + require_once DRUPAL_ROOT . '/includes/install.inc'; + require_once DRUPAL_ROOT . '/includes/file.inc'; + require_once DRUPAL_ROOT . '/modules/system/system.install'; // Load module basics. - include_once './includes/module.inc'; + include_once DRUPAL_ROOT . '/includes/module.inc'; $module_list['system']['filename'] = 'modules/system/system.module'; $module_list['filter']['filename'] = 'modules/filter/filter.module'; module_list(TRUE, FALSE, FALSE, $module_list); @@ -649,8 +654,8 @@ // Access check: if (!empty($update_free_access) || $user->uid == 1) { - include_once './includes/install.inc'; - include_once './includes/batch.inc'; + include_once DRUPAL_ROOT . '/includes/install.inc'; + include_once DRUPAL_ROOT . '/includes/batch.inc'; drupal_load_updates(); update_fix_d6_requirements(); Index: xmlrpc.php =================================================================== RCS file: /cvs/drupal/drupal/xmlrpc.php,v retrieving revision 1.15 diff -u -r1.15 xmlrpc.php --- xmlrpc.php 10 Dec 2005 19:26:47 -0000 1.15 +++ xmlrpc.php 27 Aug 2008 11:20:07 -0000 @@ -6,9 +6,14 @@ * PHP page for handling incoming XML-RPC requests from clients. */ -include_once './includes/bootstrap.inc'; +/** + * Root directory of Drupal installation. + */ +define('DRUPAL_ROOT', dirname(realpath(__FILE__))); + +include_once DRUPAL_ROOT . '/includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); -include_once './includes/xmlrpc.inc'; -include_once './includes/xmlrpcs.inc'; +include_once DRUPAL_ROOT . '/includes/xmlrpc.inc'; +include_once DRUPAL_ROOT . '/includes/xmlrpcs.inc'; xmlrpc_server(module_invoke_all('xmlrpc')); Index: includes/batch.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/batch.inc,v retrieving revision 1.20 diff -u -r1.20 batch.inc --- includes/batch.inc 24 Jun 2008 21:51:02 -0000 1.20 +++ includes/batch.inc 27 Aug 2008 11:15:23 -0000 @@ -183,7 +183,7 @@ // 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 @@ 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']); Index: includes/bootstrap.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/bootstrap.inc,v retrieving revision 1.224 diff -u -r1.224 bootstrap.inc --- includes/bootstrap.inc 8 Sep 2008 21:24:30 -0000 1.224 +++ includes/bootstrap.inc 10 Sep 2008 02:49:42 -0000 @@ -324,8 +324,8 @@ 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)) { @@ -597,7 +597,7 @@ $filename = drupal_get_filename($type, $name); if ($filename) { - include_once "./$filename"; + include_once DRUPAL_ROOT . '/' . $filename; $files[$type][$name] = TRUE; return TRUE; @@ -1001,7 +1001,7 @@ 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 @@ -1014,7 +1014,7 @@ 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'); @@ -1030,7 +1030,7 @@ 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; @@ -1039,7 +1039,7 @@ // 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(); @@ -1066,13 +1066,13 @@ 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; } @@ -1087,7 +1087,7 @@ * @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(); } @@ -1115,7 +1115,7 @@ $language = language_default(); } else { - include_once './includes/language.inc'; + include_once DRUPAL_ROOT . '/includes/language.inc'; $language = language_initialize(); } } @@ -1265,7 +1265,7 @@ // 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); } @@ -1337,7 +1337,7 @@ $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); @@ -1385,7 +1385,7 @@ 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; } @@ -1425,7 +1425,7 @@ * 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(); } @@ -1496,7 +1496,7 @@ $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; } } Index: includes/common.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/common.inc,v retrieving revision 1.792 diff -u -r1.792 common.inc --- includes/common.inc 10 Sep 2008 04:13:01 -0000 1.792 +++ includes/common.inc 10 Sep 2008 02:49:06 -0000 @@ -2484,7 +2484,7 @@ * 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); } @@ -2496,16 +2496,16 @@ 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. Index: includes/form.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/form.inc,v retrieving revision 1.282 diff -u -r1.282 form.inc --- includes/form.inc 6 Sep 2008 08:36:19 -0000 1.282 +++ includes/form.inc 10 Sep 2008 02:46:07 -0000 @@ -2499,7 +2499,7 @@ 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(); } } Index: includes/install.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/install.inc,v retrieving revision 1.67 diff -u -r1.67 install.inc --- includes/install.inc 28 Aug 2008 08:40:33 -0000 1.67 +++ includes/install.inc 31 Aug 2008 02:38:19 -0000 @@ -213,8 +213,8 @@ // 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; } @@ -333,8 +333,8 @@ * 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(); @@ -345,7 +345,7 @@ $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); @@ -393,7 +393,7 @@ } } - $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'); } @@ -428,16 +428,16 @@ * 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'; @@ -520,11 +520,11 @@ 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; } } } @@ -537,7 +537,7 @@ */ 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'); @@ -815,16 +815,16 @@ 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]) { @@ -851,15 +851,15 @@ * Name of profile to check. */ 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'; @@ -871,7 +871,7 @@ // 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')); @@ -900,7 +900,7 @@ // 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'); Index: includes/locale.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/locale.inc,v retrieving revision 1.181 diff -u -r1.181 locale.inc --- includes/locale.inc 9 Sep 2008 13:43:40 -0000 1.181 +++ includes/locale.inc 10 Sep 2008 02:49:06 -0000 @@ -1040,7 +1040,7 @@ */ 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 @@ '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, Index: includes/mail.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/mail.inc,v retrieving revision 1.14 diff -u -r1.14 mail.inc --- includes/mail.inc 19 May 2008 19:25:24 -0000 1.14 +++ includes/mail.inc 27 Aug 2008 11:15:23 -0000 @@ -173,7 +173,7 @@ 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 { Index: includes/menu.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/menu.inc,v retrieving revision 1.288 diff -u -r1.288 menu.inc --- includes/menu.inc 5 Sep 2008 08:24:08 -0000 1.288 +++ includes/menu.inc 10 Sep 2008 02:46:07 -0000 @@ -2468,7 +2468,7 @@ 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(); } } Index: includes/module.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/module.inc,v retrieving revision 1.124 diff -u -r1.124 module.inc --- includes/module.inc 21 Aug 2008 19:36:36 -0000 1.124 +++ includes/module.inc 27 Aug 2008 11:15:23 -0000 @@ -220,7 +220,7 @@ */ 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 @@ } 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; } /** Index: includes/registry.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/registry.inc,v retrieving revision 1.3 diff -u -r1.3 registry.inc --- includes/registry.inc 21 Aug 2008 19:36:36 -0000 1.3 +++ includes/registry.inc 27 Aug 2008 11:15:23 -0000 @@ -33,9 +33,9 @@ // 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 @@ 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) { Index: includes/theme.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/theme.inc,v retrieving revision 1.433 diff -u -r1.433 theme.inc --- includes/theme.inc 2 Sep 2008 17:38:55 -0000 1.433 +++ includes/theme.inc 10 Sep 2008 02:46:07 -0000 @@ -166,7 +166,7 @@ // 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 @@ 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 @@ // 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 @@ 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 @@ * 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 } /** Index: includes/theme.maintenance.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/theme.maintenance.inc,v retrieving revision 1.16 diff -u -r1.16 theme.maintenance.inc --- includes/theme.maintenance.inc 21 Aug 2008 19:36:36 -0000 1.16 +++ includes/theme.maintenance.inc 27 Aug 2008 11:15:23 -0000 @@ -22,13 +22,13 @@ 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. Index: includes/database/database.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/database/database.inc,v retrieving revision 1.4 diff -u -r1.4 database.inc --- includes/database/database.inc 8 Sep 2008 21:24:30 -0000 1.4 +++ includes/database/database.inc 10 Sep 2008 02:49:06 -0000 @@ -825,8 +825,7 @@ // 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 @@ -1808,7 +1807,7 @@ 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'); } } Index: modules/color/color.module =================================================================== RCS file: /cvs/drupal/drupal/modules/color/color.module,v retrieving revision 1.43 diff -u -r1.43 color.module --- modules/color/color.module 31 Aug 2008 09:15:12 -0000 1.43 +++ modules/color/color.module 10 Sep 2008 02:55:57 -0000 @@ -122,7 +122,7 @@ */ function color_get_info($theme) { $path = drupal_get_path('theme', $theme); - $file = $path . '/color/color.inc'; + $file = DRUPAL_ROOT . '/' . $path . '/color/color.inc'; if ($path && file_exists($file)) { include $file; return $info; Index: modules/locale/locale.module =================================================================== RCS file: /cvs/drupal/drupal/modules/locale/locale.module,v retrieving revision 1.222 diff -u -r1.222 locale.module --- modules/locale/locale.module 8 Sep 2008 15:36:30 -0000 1.222 +++ modules/locale/locale.module 10 Sep 2008 02:49:14 -0000 @@ -187,7 +187,7 @@ function locale_inc_callback() { $args = func_get_args(); $function = array_shift($args); - include_once './includes/locale.inc'; + include_once DRUPAL_ROOT . '/includes/locale.inc'; return call_user_func_array($function, $args); } @@ -484,7 +484,7 @@ * translations for. */ function locale_system_update($components) { - include_once 'includes/locale.inc'; + include_once DRUPAL_ROOT . '/includes/locale.inc'; if ($batch = locale_batch_by_component($components)) { batch_set($batch); } Index: modules/simpletest/drupal_web_test_case.php =================================================================== RCS file: /cvs/drupal/drupal/modules/simpletest/drupal_web_test_case.php,v retrieving revision 1.38 diff -u -r1.38 drupal_web_test_case.php --- modules/simpletest/drupal_web_test_case.php 10 Sep 2008 04:13:01 -0000 1.38 +++ modules/simpletest/drupal_web_test_case.php 10 Sep 2008 02:50:28 -0000 @@ -684,7 +684,7 @@ // Generate temporary prefixed database to ensure that tests have a clean starting point. $db_prefix = 'simpletest' . mt_rand(1000, 1000000); - include_once './includes/install.inc'; + include_once DRUPAL_ROOT . '/includes/install.inc'; drupal_install_system(); // Add the specified modules to the list of modules in the default profile. Index: modules/simpletest/simpletest.module =================================================================== RCS file: /cvs/drupal/drupal/modules/simpletest/simpletest.module,v retrieving revision 1.12 diff -u -r1.12 simpletest.module --- modules/simpletest/simpletest.module 10 Sep 2008 04:13:01 -0000 1.12 +++ modules/simpletest/simpletest.module 10 Sep 2008 02:49:15 -0000 @@ -411,7 +411,7 @@ function simpletest_get_all_tests() { static $formatted_classes; if (!isset($formatted_classes)) { - require_once drupal_get_path('module', 'simpletest') . '/drupal_web_test_case.php'; + require_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'simpletest') . '/drupal_web_test_case.php'; $files = array(); foreach (array_keys(module_rebuild_cache()) as $module) { $module_path = drupal_get_path('module', $module); @@ -430,7 +430,7 @@ $existing_classes = get_declared_classes(); foreach ($files as $file) { - include_once($file); + include_once DRUPAL_ROOT . '/' . $file; } $classes = array_values(array_diff(get_declared_classes(), $existing_classes)); $formatted_classes = array(); Index: modules/simpletest/tests/registry.test =================================================================== RCS file: /cvs/drupal/drupal/modules/simpletest/tests/registry.test,v retrieving revision 1.1 diff -u -r1.1 registry.test --- modules/simpletest/tests/registry.test 14 Aug 2008 09:18:28 -0000 1.1 +++ modules/simpletest/tests/registry.test 27 Aug 2008 11:15:23 -0000 @@ -89,11 +89,11 @@ if ($fileType == 'existing_changed') { // Insert a record with a dodgy md5. $this->$fileType->fakeMD5 = md5($this->$fileType->contents . rand()); - db_query("INSERT INTO {registry_file} (md5, filename) VALUES ('%s', '%s')", $this->$fileType->fakeMD5, './' . $this->$fileType->fileName); + db_query("INSERT INTO {registry_file} (md5, filename) VALUES ('%s', '%s')", $this->$fileType->fakeMD5, $this->$fileType->fileName); // Insert some fake resource records. foreach (array('function', 'class', 'interface') as $type) { - db_query("INSERT INTO {registry} (name, type, filename) VALUES ('%s', '%s', '%s')", $type . md5(rand()), $type, './' . $this->$fileType->fileName); + db_query("INSERT INTO {registry} (name, type, filename) VALUES ('%s', '%s', '%s')", $type . md5(rand()), $type, $this->$fileType->fileName); } } } @@ -111,7 +111,7 @@ $this->assertTrue($this->$fileType->$resource == $foundName, t('Resource "@resource" found.', array('@resource' => $this->$fileType->$resource))); } // Test that we have the right md5. - $md5 = db_result(db_query("SELECT md5 FROM {registry_file} WHERE filename = '%s'", './' . $this->$fileType->fileName)); + $md5 = db_result(db_query("SELECT md5 FROM {registry_file} WHERE filename = '%s'", $this->$fileType->fileName)); $this->assertTrue(md5($this->$fileType->contents) == $md5, t('MD5 for "@filename" matched.' . $fileType . $md5, array('@filename' => $this->$fileType->fileName))); } } @@ -123,10 +123,10 @@ $files = array(); foreach ($this->fileTypes as $fileType) { if ($fileType == 'existing_changed') { - $files['./' . $this->$fileType->fileName] = array('md5' => $this->$fileType->fakeMD5); + $files[$this->$fileType->fileName] = array('md5' => $this->$fileType->fakeMD5); } else { - $files['./' . $this->$fileType->fileName] = array(); + $files[$this->$fileType->fileName] = array(); } } return $files; Index: modules/system/system.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v retrieving revision 1.87 diff -u -r1.87 system.admin.inc --- modules/system/system.admin.inc 6 Sep 2008 08:36:21 -0000 1.87 +++ modules/system/system.admin.inc 10 Sep 2008 02:46:12 -0000 @@ -485,11 +485,11 @@ if ($key) { // Include the theme's theme-settings.php file - $filename = './' . str_replace("/$key.info", '', $themes[$key]->filename) . '/theme-settings.php'; + $filename = DRUPAL_ROOT . '/' . str_replace("/$key.info", '', $themes[$key]->filename) . '/theme-settings.php'; if (!file_exists($filename) and !empty($themes[$key]->info['base theme'])) { // If the theme doesn't have a theme-settings.php file, use the base theme's. $base = $themes[$key]->info['base theme']; - $filename = './' . str_replace("/$base.info", '', $themes[$base]->filename) . '/theme-settings.php'; + $filename = DRUPAL_ROOT . '/' . str_replace("/$base.info", '', $themes[$base]->filename) . '/theme-settings.php'; } if (file_exists($filename)) { require_once $filename; @@ -839,7 +839,7 @@ * Submit callback; handles modules form submission. */ function system_modules_submit($form, &$form_state) { - include_once './includes/install.inc'; + include_once DRUPAL_ROOT . '/includes/install.inc'; $modules = array(); // If we're not coming from the confirmation form, build the list of modules. if (!isset($form_state['storage'])) { @@ -986,7 +986,7 @@ */ function system_modules_uninstall($form_state = NULL) { // Make sure the install API is available. - include_once './includes/install.inc'; + include_once DRUPAL_ROOT . '/includes/install.inc'; // Display the confirm form if any modules have been submitted. if (isset($form_state) && $confirm_form = system_modules_uninstall_confirm_form($form_state['storage'])) { @@ -1087,7 +1087,7 @@ */ function system_modules_uninstall_submit($form, &$form_state) { // Make sure the install API is available. - include_once './includes/install.inc'; + include_once DRUPAL_ROOT . '/includes/install.inc'; if (!empty($form['#confirmed'])) { // Call the uninstall routine for each selected module. @@ -1769,7 +1769,7 @@ */ function system_status($check = FALSE) { // Load .install files - include_once './includes/install.inc'; + include_once DRUPAL_ROOT . '/includes/install.inc'; drupal_load_updates(); // Check run-time requirements and status information. @@ -1877,7 +1877,7 @@ * Default page callback for batches. */ function system_batch_page() { - require_once './includes/batch.inc'; + require_once DRUPAL_ROOT . '/includes/batch.inc'; $output = _batch_page(); if ($output === FALSE) { drupal_access_denied(); Index: modules/system/system.install =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.install,v retrieving revision 1.263 diff -u -r1.263 system.install --- modules/system/system.install 6 Sep 2008 08:36:21 -0000 1.263 +++ modules/system/system.install 10 Sep 2008 02:46:13 -0000 @@ -268,7 +268,7 @@ } // Test Unicode library - include_once './includes/unicode.inc'; + include_once DRUPAL_ROOT . '/includes/unicode.inc'; $requirements = array_merge($requirements, unicode_requirements()); // Check for update status module. Index: modules/update/update.fetch.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/update/update.fetch.inc,v retrieving revision 1.10 diff -u -r1.10 update.fetch.inc --- modules/update/update.fetch.inc 6 Sep 2008 08:36:22 -0000 1.10 +++ modules/update/update.fetch.inc 10 Sep 2008 02:46:13 -0000 @@ -108,7 +108,7 @@ * @see update_requirements() */ function _update_cron_notify() { - include_once './includes/install.inc'; + include_once DRUPAL_ROOT . '/includes/install.inc'; $status = update_requirements('runtime'); $params = array(); foreach (array('core', 'contrib') as $report_type) { Index: modules/update/update.module =================================================================== RCS file: /cvs/drupal/drupal/modules/update/update.module,v retrieving revision 1.22 diff -u -r1.22 update.module --- modules/update/update.module 6 Sep 2008 08:36:22 -0000 1.22 +++ modules/update/update.module 10 Sep 2008 02:46:13 -0000 @@ -63,7 +63,7 @@ return $output; case 'admin/build/themes': case 'admin/build/modules': - include_once './includes/install.inc'; + include_once DRUPAL_ROOT . '/includes/install.inc'; $status = update_requirements('runtime'); foreach (array('core', 'contrib') as $report_type) { $type = 'update_' . $report_type; @@ -95,7 +95,7 @@ // update missing, print an error message about it. if (arg(0) == 'admin' && strpos($path, '#') === FALSE && user_access('administer site configuration')) { - include_once './includes/install.inc'; + include_once DRUPAL_ROOT . '/includes/install.inc'; $status = update_requirements('runtime'); foreach (array('core', 'contrib') as $report_type) { $type = 'update_' . $report_type; Index: modules/user/user.install =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.install,v retrieving revision 1.12 diff -u -r1.12 user.install --- modules/user/user.install 7 May 2008 19:34:24 -0000 1.12 +++ modules/user/user.install 27 Aug 2008 11:15:23 -0000 @@ -251,7 +251,7 @@ $sandbox['user_count'] = db_result(db_query("SELECT COUNT(uid) FROM {users}")); } else { - require_once variable_get('password_inc', './includes/password.inc'); + require_once DRUPAL_ROOT . '/' . variable_get('password_inc', 'includes/password.inc'); // Hash again all current hashed passwords. $has_rows = FALSE; // Update this many per page load. Index: modules/user/user.module =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.module,v retrieving revision 1.919 diff -u -r1.919 user.module --- modules/user/user.module 8 Sep 2008 15:44:57 -0000 1.919 +++ modules/user/user.module 10 Sep 2008 02:49:15 -0000 @@ -222,7 +222,7 @@ if (!empty($edit['pass'])) { // Allow alternate password hashing schemes. - require_once variable_get('password_inc', './includes/password.inc'); + require_once DRUPAL_ROOT . '/' . variable_get('password_inc', 'includes/password.inc'); $edit['pass'] = user_hash_password(trim($edit['pass'])); // Abort if the hashing failed and returned FALSE. if (!$edit['pass']) { @@ -1310,7 +1310,7 @@ $account = db_fetch_object(db_query("SELECT * FROM {users} WHERE name = '%s' AND status = 1", $form_values['name'])); if ($account) { // Allow alternate password hashing schemes. - require_once variable_get('password_inc', './includes/password.inc'); + require_once DRUPAL_ROOT . '/' . variable_get('password_inc', 'includes/password.inc'); if (user_check_password($password, $account)) { if (user_needs_new_hash($account)) { $new_hash = user_hash_password($password); Index: modules/user/user.test =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.test,v retrieving revision 1.12 diff -u -r1.12 user.test --- modules/user/user.test 6 Sep 2008 08:36:22 -0000 1.12 +++ modules/user/user.test 10 Sep 2008 02:46:14 -0000 @@ -75,7 +75,7 @@ $this->assertText(t('The changes have been saved.'), t('Password changed to @password', array('@password' => $new_pass))); // Make sure password changes are present in database. - require_once variable_get('password_inc', './includes/password.inc'); + require_once DRUPAL_ROOT . '/' . variable_get('password_inc', 'includes/password.inc'); $user = user_load(array('uid' => $user->uid)); $this->assertTrue(user_check_password($new_pass, $user), t('Correct password in database.')); Index: scripts/password-hash.sh =================================================================== RCS file: /cvs/drupal/drupal/scripts/password-hash.sh,v retrieving revision 1.1 diff -u -r1.1 password-hash.sh --- scripts/password-hash.sh 31 Mar 2008 20:50:05 -0000 1.1 +++ scripts/password-hash.sh 27 Aug 2008 11:15:23 -0000 @@ -83,8 +83,10 @@ } } -include_once('includes/password.inc'); -include_once('includes/common.inc'); +define('DRUPAL_ROOT', getcwd()); + +include_once DRUPAL_ROOT . '/includes/password.inc'; +include_once DRUPAL_ROOT . '/includes/common.inc'; foreach ($passwords as $password) { print("\npassword: $password \t\thash: ". user_hash_password($password) ."\n"); Index: scripts/run-tests.sh =================================================================== RCS file: /cvs/drupal/drupal/scripts/run-tests.sh,v retrieving revision 1.8 diff -u -r1.8 run-tests.sh --- scripts/run-tests.sh 6 Sep 2008 08:36:22 -0000 1.8 +++ scripts/run-tests.sh 10 Sep 2008 02:46:14 -0000 @@ -245,7 +245,8 @@ $_SERVER['HTTP_USER_AGENT'] = 'Drupal command line'; chdir(realpath(dirname(__FILE__) . '/..')); - require_once './includes/bootstrap.inc'; + define('DRUPAL_ROOT', getcwd()); + require_once DRUPAL_ROOT . '/includes/bootstrap.inc'; } /** Index: themes/engines/phptemplate/phptemplate.engine =================================================================== RCS file: /cvs/drupal/drupal/themes/engines/phptemplate/phptemplate.engine,v retrieving revision 1.70 diff -u -r1.70 phptemplate.engine --- themes/engines/phptemplate/phptemplate.engine 14 Apr 2008 17:48:45 -0000 1.70 +++ themes/engines/phptemplate/phptemplate.engine 27 Aug 2008 11:15:23 -0000 @@ -9,7 +9,7 @@ function phptemplate_init($template) { $file = dirname($template->filename) . '/template.php'; if (file_exists($file)) { - include_once "./$file"; + include_once DRUPAL_ROOT . '/' . $file; } }