Manual:Wiki family/Drupal-style LocalSettings.php

<?php /** * Taken from Drupal code to tap multisite configuration. */

$confdir = '/home/web/mediawiki/sites';

/** * Find the appropriate configuration directory. * * 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:8080/mysite/test/ the 'settings.php' is searched in * the following directories: * * 1. $confdir/8080.www.drupal.org.mysite.test * 2. $confdir/www.drupal.org.mysite.test * 3. $confdir/drupal.org.mysite.test * 4. $confdir/org.mysite.test * * 5. $confdir/8080.www.drupal.org.mysite * 6. $confdir/www.drupal.org.mysite * 7. $confdir/drupal.org.mysite * 8. $confdir/org.mysite * * 9. $confdir/8080.www.drupal.org * 10. $confdir/www.drupal.org * 11. $confdir/drupal.org * 12. $confdir/org * * 13. $confdir/default */ static $conf = '';

$uri = explode('/', $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_FILENAME']); $server = explode('.', implode('.', array_reverse(explode(':', rtrim($_SERVER['HTTP_HOST'], '.'))))); // for ($i = count($uri) - 1; $i > 0; $i--) { for ($i = count($uri); $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/LocalSettings.php")) { $conf = "$confdir/$dir"; require_once( $conf . '/LocalSettings.php' ); }   }  }

if (!$conf) { $IP = '.'; require_once( './includes/DefaultSettings.php' ); # used for printing the version require_once( './includes/templates/NoLocalSettings.php' ); die; } ?>