conf_init
Definition
conf_init()
includes/bootstrap.inc, line 43
Description
Locate the appropriate configuration file.
Try finding a matching configuration directory by stripping the website's hostname from left to right and pathname from right to left. The first configuration file found will be used, the remaining will ignored. If no configuration file is found, return a default value '$confdir/default'.
Example for a fictitious site installed at http://www.drupal.org/mysite/test/ the 'settings.php' is searched in the following directories:
1. $confdir/www.drupal.org.mysite.test 2. $confdir/drupal.org.mysite.test 3. $confdir/org.mysite.test
4. $confdir/www.drupal.org.mysite 5. $confdir/drupal.org.mysite 6. $confdir/org.mysite
7. $confdir/www.drupal.org 8. $confdir/drupal.org 9. $confdir/org
10. $confdir/default
Code
<?php
function conf_init() {
static $conf = '';
if ($conf) {
return $conf;
}
$confdir = 'sites';
$uri = explode('/', $_SERVER['PHP_SELF']);
$server = explode('.', rtrim($_SERVER['HTTP_HOST'], '.'));
for ($i = count($uri) - 1; $i > 0; $i--) {
for ($j = count($server); $j > 0; $j--) {
$dir = implode('.', array_slice($server, -$j)) . implode('.', array_slice($uri, 0, $i));
if (file_exists("$confdir/$dir/settings.php")) {
$conf = "$confdir/$dir";
return $conf;
}
}
}
$conf = "$confdir/default";
return $conf;
}
?> 