X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=config%2Findex.php;h=6adbc3fb3d8643dd9ebec5684c953cd0e1c5930e;hb=a3219c72b2851b9892bf2100934e77f460486401;hp=264f17038f644388048368d69c6ea00b82e39b90;hpb=6caab5e3025b694f097369ca2d89eb776da5bbc4;p=lhc%2Fweb%2Fwiklou.git diff --git a/config/index.php b/config/index.php index 264f17038f..6adbc3fb3d 100644 --- a/config/index.php +++ b/config/index.php @@ -75,7 +75,7 @@ header( "Content-type: text/html; charset=utf-8" );
+ src="../skins/common/images/wiki.png" width="135" height="135" alt="" border="0" />
MediaWiki is @@ -189,7 +189,37 @@ $wgConfiguring = true; $conf = new ConfigData; install_version_checks(); -print "
  • PHP " . phpversion() . " ok
  • \n"; + +print "
  • PHP " . phpversion() . ": "; +if( version_compare( phpversion(), "5.0", "lt" ) ) { + print "ok"; +} else { + print " the MonoBook skin will be disabled due to an incompatibility + between the PHPTAL template library and PHP 5. The wiki should + function normally, but with the older look and feel."; +} +print "
  • \n"; + +if( ini_get( "register_globals" ) ) { + ?> +
  • Warning: PHP's + register_globals + option is enabled. MediaWiki will work correctly, but this setting + increases your exposure to potential security vulnerabilities in PHP-based + software running on your server. You should disable it if you are able.
  • + +
  • Warning: PHP's + safe mode is active! + You will likely have problems caused by this. You may need to make the + 'images' subdirectory writable or specify a TMP environment variable pointing to + a writable temporary directory owned by you, since safe mode breaks the system + temporary directory.
  • + prettyURLs = true; @@ -214,7 +244,9 @@ $conf->xml = function_exists( "utf8_encode" ); if( $conf->xml ) { print "
  • Have XML / Latin1-UTF-8 conversion support.
  • \n"; } else { - print "
  • XML / Latin1-UTF-8 conversion is missing! Wiki will probably not work.
  • \n"; + dieout( "PHP's XML module is missing; the wiki requires functions in + this module and won't work in this configuration. + If you're running Mandrake, install the php-xml package." ); } $memlimit = ini_get( "memory_limit" ); @@ -269,9 +301,7 @@ if( $conf->HaveGD ) { $conf->UseImageResize = $conf->HaveGD || $conf->ImageMagick; # $conf->IP = "/Users/brion/Sites/inplace"; -chdir( ".." ); -$conf->IP = getcwd(); -chdir( "config" ); +$conf->IP = dirname( dirname( __FILE__ ) ); print "
  • Installation directory: " . htmlspecialchars( $conf->IP ) . "
  • \n"; # $conf->ScriptPath = "/~brion/inplace"; @@ -299,6 +329,9 @@ $errs = array(); if( $conf->Sitename == "" || $conf->Sitename == "MediaWiki" || $conf->Sitename == "Mediawiki" ) { $errs["Sitename"] = "Must not be blank or \"MediaWiki\"."; } +if( $conf->DBuser == "" ) { + $errs["DBuser"] = "Must not be blank"; +} if( $conf->DBpassword == "" ) { $errs["DBpassword"] = "Must not be blank"; } @@ -313,19 +346,19 @@ if( $conf->SysopPass != $conf->SysopPass2 ) { $errs["SysopPass2"] = "Passwords don't match!"; } -$conf->License = importPost( "License", "none" ); +$conf->License = importRequest( "License", "none" ); if( $conf->License == "gfdl" ) { $conf->RightsUrl = "http://www.gnu.org/copyleft/fdl.html"; $conf->RightsText = "GNU Free Documentation License 1.2"; $conf->RightsCode = "gfdl"; - $conf->RightsIcon = '${wgStylePath}/images/gnu-fdl.png'; + $conf->RightsIcon = '${wgStylePath}/common/images/gnu-fdl.png'; } elseif( $conf->License == "none" ) { $conf->RightsUrl = $conf->RightsText = $conf->RightsCode = $conf->RightsIcon = ""; } else { - $conf->RightsUrl = importPost( "RightsUrl", "" ); - $conf->RightsText = importPost( "RightsText", "" ); - $conf->RightsCode = importPost( "RightsCode", "" ); - $conf->RightsIcon = importPost( "RightsIcon", "" ); + $conf->RightsUrl = importRequest( "RightsUrl", "" ); + $conf->RightsText = importRequest( "RightsText", "" ); + $conf->RightsCode = importRequest( "RightsCode", "" ); + $conf->RightsIcon = importRequest( "RightsIcon", "" ); } if( $conf->posted && ( 0 == count( $errs ) ) ) { @@ -337,8 +370,8 @@ if( $conf->posted && ( 0 == count( $errs ) ) ) { $wgCommandLineMode = false; chdir( ".." ); eval($local); - $wgDBadminuser = $wgDBuser; - $wgDBadminpassword = $wgDBpassword; + $wgDBadminuser = "root"; + $wgDBadminpassword = $conf->RootPW; $wgCommandLineMode = true; $wgUseDatabaseMessages = false; /* FIXME: For database failure */ require_once( "includes/Setup.php" ); @@ -365,6 +398,8 @@ if( $conf->posted && ( 0 == count( $errs ) ) ) { } else { print "
  • Trying regular user...\n"; /* Try the regular user... */ + $wgDBadminuser = $wgDBuser; + $wgDBadminpassword = $wgDBpassword; $wgDatabase = Database::newFromParams( $wgDBserver, $wgDBuser, $wgDBpassword, "", 1 ); $wgDatabase->isOpen(); $wgDatabase->mIgnoreErrors = true; @@ -443,6 +478,8 @@ if( $conf->posted && ( 0 == count( $errs ) ) ) { do_objectcache_update(); flush(); do_categorylinks_update(); flush(); do_image_name_unique_update(); flush(); + do_logging_update(); flush(); + do_user_rights_update(); flush(); if ( isTemplateInitialised() ) { print "Template namespace already initialised\n"; @@ -462,7 +499,6 @@ if( $conf->posted && ( 0 == count( $errs ) ) ) { print "
  • Creating tables..."; dbsource( "../maintenance/tables.sql", $wgDatabase ); dbsource( "../maintenance/interwiki.sql", $wgDatabase ); - dbsource( "../maintenance/indexes.sql", $wgDatabase ); print " done.
  • \n"; print "
  • Initializing data..."; @@ -512,9 +548,10 @@ if( $conf->posted && ( 0 == count( $errs ) ) ) { $titleobj = Title::newFromText( wfMsgNoDB( "mainpage" ) ); $title = $titleobj->getDBkey(); - $sql = "INSERT INTO cur (cur_namespace,cur_title,cur_text,cur_timestamp,inverse_timestamp,cur_touched) " . + $sql = "INSERT INTO cur (cur_namespace,cur_title,cur_text,cur_timestamp,inverse_timestamp,cur_touched,cur_user,cur_user_text) " . "VALUES (0,'$title','" . - wfStrencode( wfMsg( "mainpagetext" ) . "\n\n" . wfMsg( "mainpagedocfooter" ) ) . "','$now','$won','$now')"; + wfStrencode( wfMsg( "mainpagetext" ) . "\n\n" . wfMsg( "mainpagedocfooter" ) ) . + "','$now','$won','$now',0,'MediaWiki default')"; $wgDatabase->query( $sql, $fname ); print "
  • ";
    @@ -624,11 +661,16 @@ if( count( $errs ) ) {
     			$icon = urlencode( "$wgServer$wgUploadPath/wiki.png" );
     			$ccApp = htmlspecialchars( "http://creativecommons.org/license/?partner=$partner&exit_url=$exit&partner_icon_url=$icon" );
     			print "choose";
    -			?>
  • -
  • RightsUrl, "hidden" ); ?>
  • -
  • RightsText, "hidden" ); ?>
  • -
  • RightsCode, "hidden" ); ?>
  • -
  • RightsIcon, "hidden" ); ?>
  • + ?> (link will wipe out any other data in this form!) + License == "cc" ) { ?> + + +
    @@ -720,6 +762,18 @@ function writeAdminSettings( $conf ) { "; } +function escapePhpString( $string ) { + return strtr( $string, + array( + "\n" => "\\n", + "\r" => "\\r", + "\t" => "\\t", + "\\" => "\\\\", + "\$" => "\\\$", + "\"" => "\\\"" + )); +} + function writeLocalSettings( $conf ) { $conf->DBmysql4 = @$conf->DBmysql4 ? 'true' : 'false'; $conf->UseImageResize = $conf->UseImageResize ? 'true' : 'false'; @@ -737,7 +791,7 @@ function writeLocalSettings( $conf ) { $ugly = ($conf->prettyURLs ? "# " : ""); $rights = ($conf->RightsUrl) ? "" : "# "; - $file = @fopen( "/dev/random", "r" ); + $file = @fopen( "/dev/urandom", "r" ); if ( $file ) { $proxyKey = bin2hex( fread( $file, 32 ) ); fclose( $file ); @@ -750,8 +804,11 @@ function writeLocalSettings( $conf ) { } # Add slashes to strings for double quoting - $slconf = array_map( "addslashes", get_object_vars( $conf ) ); - + $slconf = array_map( "escapePhpString", get_object_vars( $conf ) ); + if( $conf->License == 'gfdl' ) { + # Needs literal string interpolation for the current style path + $slconf['RightsIcon'] = $conf->RightsIcon; + } $sep = (DIRECTORY_SEPARATOR == "\\") ? ";" : ":"; return " @@ -761,7 +818,7 @@ function writeLocalSettings( $conf ) { \$IP = \"{$slconf['IP']}\"; ini_set( \"include_path\", \".$sep\$IP$sep\$IP/includes$sep\$IP/languages\" ); -include_once( \"DefaultSettings.php\" ); +require_once( \"DefaultSettings.php\" ); # If PHP's memory limit is very low, some operations may fail. " . ($conf->raiseMemory ? '' : '# ' ) . "ini_set( 'memory_limit', '20M' );" . " @@ -772,7 +829,7 @@ if ( \$wgCommandLineMode ) { } } elseif ( empty( \$wgConfiguring ) ) { ## Compress output if the browser supports it - {$zlib}if( !ini_get( 'zlib.output_compression' ) ) ob_start( 'ob_gzhandler' ); + {$zlib}if( !ini_get( 'zlib.output_compression' ) ) @ob_start( 'ob_gzhandler' ); } \$wgSitename = \"{$slconf['Sitename']}\"; @@ -785,9 +842,9 @@ if ( \$wgCommandLineMode ) { {$pretty}\$wgArticlePath = \"\$wgScript/\$1\"; {$ugly}\$wgArticlePath = \"\$wgScript?title=\$1\"; -\$wgStylePath = \"\$wgScriptPath/stylesheets\"; -\$wgStyleDirectory = \"\$IP/stylesheets\"; -\$wgLogo = \"\$wgStylePath/images/wiki.png\"; +\$wgStylePath = \"\$wgScriptPath/skins\"; +\$wgStyleDirectory = \"\$IP/skins\"; +\$wgLogo = \"\$wgStylePath/common/images/wiki.png\"; \$wgUploadPath = \"\$wgScriptPath/images\"; \$wgUploadDirectory = \"\$IP/images\"; @@ -842,10 +899,10 @@ if ( \$wgCommandLineMode ) { ## License and Creative Commons licenses are supported so far. {$rights}\$wgEnableCreativeCommonsRdf = true; \$wgRightsPage = \"\"; # Set to the title of a wiki page that describes your license/copyright -\$wgRightsUrl = \"{$conf->RightsUrl}\"; -\$wgRightsText = \"{$conf->RightsText}\"; -\$wgRightsIcon = \"{$conf->RightsIcon}\"; -# \$wgRightsCode = \"{$conf->RightsCode}\"; # Not yet used +\$wgRightsUrl = \"{$slconf['RightsUrl']}\"; +\$wgRightsText = \"{$slconf['RightsText']}\"; +\$wgRightsIcon = \"{$slconf['RightsIcon']}\"; +# \$wgRightsCode = \"{$slconf['RightsCode']}\"; # Not yet used "; } @@ -853,9 +910,9 @@ function dieout( $text ) { die( $text . "\n\n\n" ); } -function importPost( $name, $default = "" ) { - if( isset( $_POST[$name] ) ) { - $retval = $_POST[$name]; +function importVar( &$var, $name, $default = "" ) { + if( isset( $var[$name] ) ) { + $retval = $var[$name]; if ( get_magic_quotes_gpc() ) { $retval = stripslashes( $retval ); } @@ -865,6 +922,14 @@ function importPost( $name, $default = "" ) { return $retval; } +function importPost( $name, $default = "" ) { + return importVar( $_POST, $name, $default ); +} + +function importRequest( $name, $default = "" ) { + return importVar( $_REQUEST, $name, $default ); +} + function aField( &$conf, $field, $text, $type = "", $value = "" ) { if( $type != "" ) { $xtype = "type=\"$type\""; @@ -914,8 +979,8 @@ function getLanguageList() { $d = opendir( "../languages" ); while( false !== ($f = readdir( $d ) ) ) { - if( preg_match( '/Language([A-Z][a-z]+)\.php$/', $f, $m ) ) { - $code = strtolower( $m[1] ); + if( preg_match( '/Language([A-Z][a-z_]+)\.php$/', $f, $m ) ) { + $code = str_replace( '_', '-', strtolower( $m[1] ) ); if( in_array( $code, $latin1 ) ) { $codes[$code] = "$code - " . $wgLanguageNames[$code] . " - Unicode"; $codes[$code.'-latin1'] = "$code - " . $wgLanguageNames[$code] . " - Latin-1";