index.php

来自「php 开发的内容管理系统」· PHP 代码 · 共 1,666 行 · 第 1/4 页

PHP
1,666
字号
		$enableemail = 'true';		$enableuseremail = ( $conf->Emailuser == 'emailuser_enabled' ) ? 'true' : 'false' ;		$eauthent = ( $conf->Eauthent == 'eauthent_enabled' ) ? 'true' : 'false' ;		switch ( $conf->Enotif ) {			case 'enotif_usertalk':				$enotifusertalk = 'true';				$enotifwatchlist = 'false';				break;			case 'enotif_allpages':				$enotifusertalk = 'true';				$enotifwatchlist = 'true';				break;			default:				$enotifusertalk = 'false';				$enotifwatchlist = 'false';		}	} else {		$enableuseremail = 'false';		$enableemail = 'false';		$eauthent = 'false';		$enotifusertalk = 'false';		$enotifwatchlist = 'false';	}	$file = @fopen( "/dev/urandom", "r" );	if ( $file ) {		$secretKey = bin2hex( fread( $file, 32 ) );		fclose( $file );	} else {		$secretKey = "";		for ( $i=0; $i<8; $i++ ) {			$secretKey .= dechex(mt_rand(0, 0x7fffffff));		}		print "<li>Warning: \$wgSecretKey key is insecure, generated with mt_rand(). Consider changing it manually.</li>\n";	}	# Add slashes to strings for double quoting	$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;	}	$localsettings = "# This file was automatically generated by the MediaWiki installer.# If you make manual changes, please keep track in case you need to# recreate them later.## See includes/DefaultSettings.php for all configurable settings# and their default values, but don't forget to make changes in _this_# file, not there.# If you customize your file layout, set \$IP to the directory that contains# the other MediaWiki files. It will be used as a base to locate files.if( defined( 'MW_INSTALL_PATH' ) ) {	\$IP = MW_INSTALL_PATH;} else {	\$IP = dirname( __FILE__ );}\$path = array( \$IP, \"\$IP/includes\", \"\$IP/languages\" );set_include_path( implode( PATH_SEPARATOR, \$path ) . PATH_SEPARATOR . get_include_path() );require_once( \"includes/DefaultSettings.php\" );# If PHP's memory limit is very low, some operations may fail." . ($conf->raiseMemory ? '' : '# ' ) . "ini_set( 'memory_limit', '20M' );" . "if ( \$wgCommandLineMode ) {	if ( isset( \$_SERVER ) && array_key_exists( 'REQUEST_METHOD', \$_SERVER ) ) {		die( \"This script must be run from the command line\\n\" );	}} elseif ( empty( \$wgNoOutputBuffer ) ) {	## Compress output if the browser supports it	{$zlib}if( !ini_get( 'zlib.output_compression' ) ) @ob_start( 'ob_gzhandler' );}\$wgSitename         = \"{$slconf['Sitename']}\";\$wgScriptPath	    = \"{$slconf['ScriptPath']}\";\$wgScript           = \"\$wgScriptPath/index.php\";\$wgRedirectScript   = \"\$wgScriptPath/redirect.php\";## For more information on customizing the URLs please see:## http://meta.wikimedia.org/wiki/Eliminating_index.php_from_the_url## If using PHP as a CGI module, the ?title= style usually must be used.{$pretty}\$wgArticlePath      = \"\$wgScript/\$1\";{$ugly}\$wgArticlePath      = \"\$wgScript?title=\$1\";\$wgStylePath        = \"\$wgScriptPath/skins\";\$wgStyleDirectory   = \"\$IP/skins\";\$wgLogo             = \"\$wgStylePath/common/images/wiki.png\";\$wgUploadPath       = \"\$wgScriptPath/images\";\$wgUploadDirectory  = \"\$IP/images\";\$wgEnableEmail = $enableemail;\$wgEnableUserEmail = $enableuseremail;\$wgEmergencyContact = \"{$slconf['EmergencyContact']}\";\$wgPasswordSender	= \"{$slconf['PasswordSender']}\";## For a detailed description of the following switches see## http://meta.wikimedia.org/Enotif and http://meta.wikimedia.org/Eauthent## There are many more options for fine tuning available see## /includes/DefaultSettings.php## UPO means: this is also a user preference option\$wgEnotifUserTalk = $enotifusertalk; # UPO\$wgEnotifWatchlist = $enotifwatchlist; # UPO\$wgEmailAuthentication = $eauthent;\$wgDBserver         = \"{$slconf['DBserver']}\";\$wgDBname           = \"{$slconf['DBname']}\";\$wgDBuser           = \"{$slconf['DBuser']}\";\$wgDBpassword       = \"{$slconf['DBpassword']}\";\$wgDBprefix         = \"{$slconf['DBprefix']}\";\$wgDBtype           = \"{$slconf['DBtype']}\";\$wgDBport           = \"{$slconf['DBport']}\";# Experimental charset support for MySQL 4.1/5.0.\$wgDBmysql5 = {$conf->DBmysql5};## Shared memory settings\$wgMainCacheType = $cacheType;\$wgMemCachedServers = $mcservers;## To enable image uploads, make sure the 'images' directory## is writable, then set this to true:\$wgEnableUploads		= false;\$wgUseImageResize		= {$conf->UseImageResize};{$magic}\$wgUseImageMagick = true;{$magic}\$wgImageMagickConvertCommand = \"{$convert}\";## If you want to use image uploads under safe mode,## create the directories images/archive, images/thumb and## images/temp, and make them all writable. Then uncomment## this, if it's not already uncommented:{$hashedUploads}\$wgHashedUploadDirectory = false;## If you have the appropriate support software installed## you can enable inline LaTeX equations:\$wgUseTeX	         = false;\$wgMathPath         = \"{\$wgUploadPath}/math\";\$wgMathDirectory    = \"{\$wgUploadDirectory}/math\";\$wgTmpDirectory     = \"{\$wgUploadDirectory}/tmp\";\$wgLocalInterwiki   = \$wgSitename;\$wgLanguageCode = \"{$slconf['LanguageCode']}\";\$wgProxyKey = \"$secretKey\";## Default skin: you can change the default skin. Use the internal symbolic## names, ie 'standard', 'nostalgia', 'cologneblue', 'monobook':\$wgDefaultSkin = 'monobook';## For attaching licensing metadata to pages, and displaying an## appropriate copyright notice / icon. GNU Free Documentation## 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 = \"{$slconf['RightsUrl']}\";\$wgRightsText = \"{$slconf['RightsText']}\";\$wgRightsIcon = \"{$slconf['RightsIcon']}\";# \$wgRightsCode = \"{$slconf['RightsCode']}\"; # Not yet used\$wgDiff3 = \"{$slconf['diff3']}\";# When you make changes to this configuration file, this will make# sure that cached pages are cleared.\$configdate = gmdate( 'YmdHis', @filemtime( __FILE__ ) );\$wgCacheEpoch = max( \$wgCacheEpoch, \$configdate );";	// Keep things in Unix line endings internally;	// the system will write out as local text type.	return str_replace( "\r\n", "\n", $localsettings );}function dieout( $text ) {	die( $text . "\n\n</body>\n</html>" );}function importVar( &$var, $name, $default = "" ) {	if( isset( $var[$name] ) ) {		$retval = $var[$name];		if ( get_magic_quotes_gpc() ) {			$retval = stripslashes( $retval );		}	} else {		$retval = $default;	}	return $retval;}function importPost( $name, $default = "" ) {	return importVar( $_POST, $name, $default );}function importRequest( $name, $default = "" ) {	return importVar( $_REQUEST, $name, $default );}$radioCount = 0;function aField( &$conf, $field, $text, $type = "text", $value = "", $onclick = '' ) {	global $radioCount;	if( $type != "" ) {		$xtype = "type=\"$type\"";	} else {		$xtype = "";	}	$id = $field;	$nolabel = ($type == "radio") || ($type == "hidden");	if ($type == 'radio')		$id .= $radioCount++;	if( $nolabel ) {		echo "\t\t<label>";	} else {		echo "\t\t<label class='column' for=\"$id\">$text</label>\n";	}	if( $type == "radio" && $value == $conf->$field ) {		$checked = "checked='checked'";	} else {		$checked = "";	}	echo "\t\t<input $xtype name=\"$field\" id=\"$id\" class=\"iput-$type\" $checked ";	if ($onclick) {		echo " onclick='togglearea(\"$value\")' " ;	}	echo "value=\"";	if( $type == "radio" ) {		echo htmlspecialchars( $value );	} else {		echo htmlspecialchars( $conf->$field );	}	echo "\" />\n";	if( $nolabel ) {		echo " $text</label>\n";	}	global $errs;	if(isset($errs[$field])) echo "<span class='error'>" . $errs[$field] . "</span>\n";}function getLanguageList() {	global $wgLanguageNames;	if( !isset( $wgLanguageNames ) ) {		require_once( "languages/Names.php" );	}	$codes = array();	$d = opendir( "../languages" );	/* In case we are called from the root directory */	if (!$d)		$d = opendir( "languages");	while( false !== ($f = readdir( $d ) ) ) {		$m = array();		if( preg_match( '/Language([A-Z][a-z_]+)\.php$/', $f, $m ) ) {			$code = str_replace( '_', '-', strtolower( $m[1] ) );			if( isset( $wgLanguageNames[$code] ) ) {				$name = $code . ' - ' . $wgLanguageNames[$code];			} else {				$name = $code;			}			$codes[$code] = $name;		}	}	closedir( $d );	ksort( $codes );	return $codes;}#Check for location of an executable# @param string $loc single location to check# @param array $names filenames to check for.# @param mixed $versioninfo array of details to use when checking version, use false for no version checkingfunction locate_executable($loc, $names, $versioninfo = false) {	if (!is_array($names))		$names = array($names);	foreach ($names as $name) {		$command = "$loc".DIRECTORY_SEPARATOR."$name";		if (file_exists($command)) {			if (!$versioninfo)				return $command;			$file = str_replace('$1', $command, $versioninfo[0]);			if (strstr(`$file`, $versioninfo[1]) !== false)				return $command;		}	}	return false;}# Test a memcached serverfunction testMemcachedServer( $server ) {	$hostport = explode(":", $server);	$errstr = false;	$fp = false;	if ( !function_exists( 'fsockopen' ) ) {		$errstr = "Can't connect to memcached, fsockopen() not present";	}	if ( !$errstr &&  count( $hostport ) != 2 ) {		$errstr = 'Please specify host and port';		var_dump( $hostport );	}	if ( !$errstr ) {		list( $host, $port ) = $hostport;		$errno = 0;		$fsockerr = '';		$fp = @fsockopen( $host, $port, $errno, $fsockerr, 1.0 );		if ( $fp === false ) {			$errstr = "Cannot connect to memcached on $host:$port : $fsockerr";		}	}	if ( !$errstr ) {		$command = "version\r\n";		$bytes = fwrite( $fp, $command );		if ( $bytes != strlen( $command ) ) {			$errstr = "Cannot write to memcached socket on $host:$port";		}	}	if ( !$errstr ) {		$expected = "VERSION ";		$response = fread( $fp, strlen( $expected ) );		if ( $response != $expected ) {			$errstr = "Didn't get correct memcached response from $host:$port";		}	}	if ( $fp ) {		fclose( $fp );	}	if ( !$errstr ) {		echo "<li>Connected to memcached on $host:$port successfully";	}	return $errstr;}function database_picker($conf) {	global $ourdb;	print "\n";	foreach(array_keys($ourdb) as $db) {		if ($ourdb[$db]['havedriver']) {			print "<li>";			aField( $conf, "DBtype", $ourdb[$db]['fullname'], 'radio', $db, 'onclick');			print "</li>\n";		}	}	print "\n";}function database_switcher($db) {	global $ourdb;	$color = $ourdb[$db]['bgcolor'];	$full = $ourdb[$db]['fullname'];	print "<div id='$db' style='display:none; background: $color'>\n";	print "<h3>$full specific options:</h3>\n";}?>	<div class="license">	<hr>	<p>This program is free software; you can redistribute it and/or modify	 it under the terms of the GNU General Public License as published by	 the Free Software Foundation; either version 2 of the License, or	 (at your option) any later version.</p>	 <p>This program is distributed in the hope that it will be useful,	 but WITHOUT ANY WARRANTY; without even the implied warranty of	 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the	 GNU General Public License for more details.</p>	 <p>You should have received <a href="../COPYING">a copy of the GNU General Public License</a>	 along with this program; if not, write to the Free Software	 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.	 or <a href="http://www.gnu.org/copyleft/gpl.html">read it online</a></p>	</div></div></div></div><div id="column-one">	<div class="portlet" id="p-logo">	  <a style="background-image: url(../skins/common/images/mediawiki.png);"	    href="http://www.mediawiki.org/"	    title="Main Page"></a>	</div>	<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>	<div class='portlet'><div class='pBody'>		<ul>			<li><strong><a href="http://www.mediawiki.org/">MediaWiki home</a></strong></li>			<li><a href="../README">Readme</a></li>			<li><a href="../RELEASE-NOTES">Release notes</a></li>			<li><a href="../docs/">Documentation</a></li>			<li><a href="http://meta.wikipedia.org/wiki/MediaWiki_User's_Guide">User's Guide</a></li>			<li><a href="http://meta.wikimedia.org/wiki/MediaWiki_FAQ">FAQ</a></li>		</ul>		<p style="font-size:90%;margin-top:1em">MediaWiki is Copyright &copy; 2001-2006 by Magnus Manske, Brion Vibber, Lee Daniel Crocker, Tim Starling, Erik M&ouml;ller, Gabriel Wicke and others.</p>	</div></div></div></div></body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?