X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FDefaultSettings.php;h=689a22ea16228fdcbd307b6c433f1327406e5267;hb=84a4b5d152840a94edc581eeea981fcf758ce21d;hp=a8e6bce757464dc1b9d07642cdf65714686d33bc;hpb=7e0484fb876edee227daeb71e17792d25ad92e88;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index a8e6bce757..689a22ea16 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -13,10 +13,19 @@ */ # This is not a valid entry point, perform no further processing unless MEDIAWIKI is defined -if( defined( 'MEDIAWIKI' ) ) { +if( !defined( 'MEDIAWIKI' ) ) { + die( "This file is part of MediaWiki and is not a valid entry point\n" ); +} + +/** + * Create a site configuration object + * Not used for much in a default install + */ +require_once( 'includes/SiteConfiguration.php' ); +$wgConf = new SiteConfiguration; /** MediaWiki version number */ -$wgVersion = '1.5pre-alpha'; +$wgVersion = '1.5beta1'; /** Name of the site. It must be changed in LocalSettings.php */ $wgSitename = 'MediaWiki'; @@ -24,6 +33,7 @@ $wgSitename = 'MediaWiki'; /** Will be same as you set @see $wgSitename */ $wgMetaNamespace = FALSE; + /** URL of the server. It will be automaticly build including https mode */ $wgServer = ''; @@ -31,8 +41,11 @@ if( isset( $_SERVER['SERVER_NAME'] ) ) { $wgServerName = $_SERVER['SERVER_NAME']; } elseif( isset( $_SERVER['HOSTNAME'] ) ) { $wgServerName = $_SERVER['HOSTNAME']; +} elseif( isset( $_SERVER['HTTP_HOST'] ) ) { + $wgServerName = $_SERVER['HTTP_HOST']; +} elseif( isset( $_SERVER['SERVER_ADDR'] ) ) { + $wgServerName = $_SERVER['SERVER_ADDR']; } else { - # FIXME: Fall back on... something else? $wgServerName = 'localhost'; } @@ -40,7 +53,11 @@ if( isset( $_SERVER['SERVER_NAME'] ) ) { $wgProto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http'; $wgServer = $wgProto.'://' . $wgServerName; -if( isset( $_SERVER['SERVER_PORT'] ) && $_SERVER['SERVER_PORT'] != 80 ) { +# If the port is a non-standard one, add it to the URL +if( isset( $_SERVER['SERVER_PORT'] ) + && ( ( $wgProto == 'http' && $_SERVER['SERVER_PORT'] != 80 ) + || ( $wgProto == 'https' && $_SERVER['SERVER_PORT'] != 443 ) ) ) { + $wgServer .= ":" . $_SERVER['SERVER_PORT']; } unset($wgProto); @@ -90,7 +107,6 @@ $wgStylePath = "{$wgScriptPath}/skins"; */ $wgStyleDirectory = "{$IP}/skins"; $wgStyleSheetPath = &$wgStylePath; -$wgStyleSheetDirectory = &$wgStyleDirectory; $wgArticlePath = "{$wgScript}?title=$1"; $wgUploadPath = "{$wgScriptPath}/upload"; $wgUploadDirectory = "{$IP}/upload"; @@ -102,6 +118,112 @@ $wgTmpDirectory = "{$wgUploadDirectory}/tmp"; $wgUploadBaseUrl = ""; /**#@-*/ +/** internal name of virus scanner. This servers as a key to the $wgAntivirusSetup array. + * Set this to NULL to disable virus scanning. If not null, every file uploaded will be scanned for viruses. + * @global string $wgAntivirus + */ +$wgAntivirus= NULL; + +/** Configuration for different virus scanners. This an associative array of associative arrays: + * it contains on setup array per known scanner type. The entry is selected by $wgAntivirus, i.e. + * valid values for $wgAntivirus are the keys defined in this array. + * + * The configuration array for each scanner contains the following keys: "command", "codemap", "messagepattern"; + * + * "command" is the full command to call the virus scanner - %f will be replaced with the name of the + * file to scan. If not present, the filename will be appended to the command. Note that this must be + * overwritten if the scanner is not in the system path; in that case, plase set + * $wgAntivirusSetup[$wgAntivirus]['command'] to the desired command with full path. + * + * "codemap" is a mapping of exit code to return codes of the detectVirus function in SpecialUpload. + * An exit code mapped to AV_SCAN_FAILED causes the function to consider the scan to be failed. This will pass + * the file if $wgAntivirusRequired is not set. + * An exit code mapped to AV_SCAN_ABORTED causes the function to consider the file to have an usupported format, + * which is probably imune to virusses. This causes the file to pass. + * An exit code mapped to AV_NO_VIRUS will cause the file to pass, meaning no virus was found. + * All other codes (like AV_VIRUS_FOUND) will cause the function to report a virus. + * You may use "*" as a key in the array to catch all exit codes not mapped otherwise. + * + * "messagepattern" is a perl regular expression to extract the meaningful part of the scanners + * output. The relevant part should be matched as group one (\1). + * If not defined or the pattern does not match, the full message is shown to the user. + * + * @global array $wgAntivirusSetup + */ +$wgAntivirusSetup= array( + + #setup for clamav + 'clamav' => array ( + 'command' => "clamscan --no-summary ", + + 'codemap'=> array ( + "0"=> AV_NO_VIRUS, #no virus + "1"=> AV_VIRUS_FOUND, #virus found + "52"=> AV_SCAN_ABORTED, #unsupported file format (probably imune) + "*"=> AV_SCAN_FAILED, #else scan failed + ), + + 'messagepattern'=> '/.*?:(.*)/sim', + ), + + #setup for f-prot + 'f-prot' => array ( + 'command' => "f-prot ", + + 'codemap'=> array ( + "0"=> AV_NO_VIRUS, #no virus + "3"=> AV_VIRUS_FOUND, #virus found + "6"=> AV_VIRUS_FOUND, #virus found + "*"=> AV_SCAN_FAILED, #else scan failed + ), + + 'messagepattern'=> '/.*?Infection:(.*)$/m', + ), +); + + +/** Determines if a failed virus scan (AV_SCAN_FAILED) will cause the file to be rejected. + * @global boolean $wgAntivirusRequired +*/ +$wgAntivirusRequired= true; + +/** Determines if the mime type of uploaded files should be checked + * @global boolean $wgVerifyMimeType +*/ +$wgVerifyMimeType= true; + +/** Sets the mime type definition file to use by MimeMagic.php. +* @global string $wgMimeTypeFile +*/ +#$wgMimeTypeFile= "/etc/mime.types"; +$wgMimeTypeFile= "includes/mime.types"; +#$wgMimeTypeFile= NULL; #use build in defaults only. + +/** Sets the mime type info file to use by MimeMagic.php. +* @global string $wgMimeInfoFile +*/ +$wgMimeInfoFile= "includes/mime.info"; +#$wgMimeInfoFile= NULL; #use build in defaults only. + +/** Switch for loading the FileInfo extension by PECL at runtime. +* This should be used only if fileinfo is installed as a shared object / dynamic libary +* @global string $wgLoadFileinfoExtension +*/ +$wgLoadFileinfoExtension= false; + +/** Sets an external mime detector program. The command must print only the mime type to standard output. +* the name of the file to process will be appended to the command given here. +* If not set or NULL, mime_content_type will be used if available. +* @global string $wgMimeTypeFile +*/ +$wgMimeDetectorCommand= NULL; # use internal mime_content_type function, available since php 4.3.0 +#$wgMimeDetectorCommand= "file -bi" #use external mime detector (linux) + +/** Switch for trivial mime detection. Used by thumb.php to disable all fance things, +* because only a few types of images are needed and file extensions can be trusted. +*/ +$wgTrivialMimeDetection= false; + /** * Produce hashed HTML article paths. Used internally, do not set. */ @@ -129,10 +251,31 @@ $wgActionPaths = array(); $wgUseSharedUploads = false; /** Full path on the web server where shared uploads can be found */ $wgSharedUploadPath = "http://commons.wikimedia.org/shared/images"; -/** Path on the file system where shared uploads can be found */ +/** Path on the file system where shared uploads can be found. */ $wgSharedUploadDirectory = "/var/www/wiki3/images"; -/** Path on the file system where shared uploads can be found */ -$wgSharedUploadDBname = "commons"; +/** DB name with metadata about shared directory. Set this to false if the uploads do not come from a wiki. */ +$wgSharedUploadDBname = false; +/** Cache shared metadata in memcached. Don't do this if the commons wiki is in a different memcached domain */ +$wgCacheSharedUploads = true; + +/** + * Point the upload navigation link to an external URL + * Useful if you want to use a shared repository by default + * without disabling local uploads + * e.g. $wgUploadNavigationUrl = 'http://commons.wikimedia.org/wiki/Special:Upload'; +*/ +$wgUploadNavigationUrl = false; + +/** + * Give a path here to use thumb.php for thumbnail generation on client request, instead of + * generating them on render and outputting a static URL. This is necessary if some of your + * apache servers don't have read/write access to the thumbnail path. + * + * Example: + * $wgThumbnailScriptPath = "{$wgScriptPath}/thumb.php"; + */ +$wgThumbnailScriptPath = false; +$wgSharedThumbnailScriptPath = false; /** * Set the following to false especially if you have a set of files that need to @@ -141,9 +284,6 @@ $wgSharedUploadDBname = "commons"; */ $wgHashedSharedUploadDirectory = true; -/** set true if the repository uses latin1 filenames */ -$wgSharedLatin1=false; - /** * Base URL for a repository wiki. Leave this blank if uploads are just stored * in a shared directory and not meant to be accessible through a separate wiki. @@ -231,10 +371,11 @@ $wgDBuser = 'wikiuser'; */ $wgDBtype = "mysql"; /** Search type - * "MyISAM" for MySQL native full text search, "Tsearch2" for PostgreSQL - * based search engine + * Leave as null to select the default search engine for the + * selected database type (eg SearchMySQL4), or set to a class + * name to override to a custom search engine. */ -$wgSearchType = "MyISAM"; +$wgSearchType = null; /** Table name prefix */ $wgDBprefix = ''; /** Database schema @@ -257,18 +398,21 @@ $wgSharedDB = null; # Database load balancer # This is a two-dimensional array, an array of server info structures # Fields are: -# host: Host name -# dbname: Default database name -# user: DB user -# password: DB password -# type: "mysql" or "pgsql" -# load: ratio of DB_SLAVE load, must be >=0, the sum of all loads must be >0 -# flags: bit field -# DBO_DEFAULT -- turns on DBO_TRX only if !$wgCommandLineMode (recommended) -# DBO_DEBUG -- equivalent of $wgDebugDumpSql -# DBO_TRX -- wrap entire request in a transaction -# DBO_IGNORE -- ignore errors (not useful in LocalSettings.php) -# DBO_NOBUFFER -- turn off buffering (not useful in LocalSettings.php) +# host: Host name +# dbname: Default database name +# user: DB user +# password: DB password +# type: "mysql" or "pgsql" +# load: ratio of DB_SLAVE load, must be >=0, the sum of all loads must be >0 +# groupLoads: array of load ratios, the key is the query group name. A query may belong +# to several groups, the most specific group defined here is used. +# +# flags: bit field +# DBO_DEFAULT -- turns on DBO_TRX only if !$wgCommandLineMode (recommended) +# DBO_DEBUG -- equivalent of $wgDebugDumpSql +# DBO_TRX -- wrap entire request in a transaction +# DBO_IGNORE -- ignore errors (not useful in LocalSettings.php) +# DBO_NOBUFFER -- turn off buffering (not useful in LocalSettings.php) # # Leave at false to use the single-server variables above $wgDBservers = false; @@ -279,6 +423,9 @@ $wgMasterWaitTimeout = 10; /** File to log MySQL errors to */ $wgDBerrorLog = false; +/** When to give an error message */ +$wgDBClusterTimeout = 10; + /** * wgDBminWordLen : * MySQL 3.x : used to discard words that MySQL will not return any results for @@ -291,7 +438,6 @@ $wgDBminWordLen = 4; $wgDBtransactions = false; /** Set to true to use enhanced fulltext search */ $wgDBmysql4 = false; -$wgSqlTimeout = 30; /** * Other wikis on this site, can be administered from a single developer @@ -300,53 +446,39 @@ $wgSqlTimeout = 30; */ $wgLocalDatabases = array(); +/** + * Object cache settings + * See Defines.php for types + */ +$wgMainCacheType = CACHE_NONE; +$wgMessageCacheType = CACHE_ANYTHING; +$wgParserCacheType = CACHE_ANYTHING; -# Memcached settings -# See docs/memcached.doc -# -$wgMemCachedDebug = false; # Will be set to false in Setup.php, if the server isn't working -$wgUseMemCached = false; -$wgMemCachedServers = array( '127.0.0.1:11000' ); -$wgMemCachedDebug = false; $wgSessionsInMemcached = false; $wgLinkCacheMemcached = false; # Not fully tested /** - * Turck MMCache shared memory - * You can use this for persistent caching where your wiki runs on a single - * server. Enabled by default if Turck is installed. Mutually exclusive with - * memcached and eAccelerator, the preference order priorities being memcached first, - * Turck MMCache second, and eAccelerator third. - * - * @global bool $wgUseTurckShm Enable or disabled Turck MMCache + * Memcached-specific settings + * See docs/memcached.txt */ -$wgUseTurckShm = false; +$wgMemCachedDebug = false; # Will be set to false in Setup.php, if the server isn't working +$wgMemCachedServers = array( '127.0.0.1:11000' ); +$wgMemCachedDebug = false; -/** - * eAccelerator shared memory - * You can use this for persistent caching where your wiki runs on a single - * server. Enabled by default if eAccelerator is installed. Mutually exclusive with - * memcached and Turck MMCache, the preference order being memcached first, - * Turck MMCache second, and eAccelerator third. - * - * Most of the code to support this is directly copied from the Turck code. - * - * @global bool $wgUseEAccelShm Enable or disabled eAccelerator - */ -$wgUseEAccelShm = false; # Language settings # -/** Site language code, should be one of ./language/Language(.*).php */ +/** Site language code, should be one of ./languages/Language(.*).php */ $wgLanguageCode = 'en'; -/** Filename of a language file generated by dumpMessages.php */ -$wgLanguageFile = false; - /** Treat language links as magic connectors, not inline links */ $wgInterwikiMagic = true; +/** Hide interlanguage links from the sidebar */ +$wgHideInterlanguageLinks = false; + + /** We speak UTF-8 all the time now, unless some oddities happen */ $wgInputEncoding = 'UTF-8'; $wgOutputEncoding = 'UTF-8'; @@ -362,14 +494,34 @@ $wgEditEncoding = ''; # en masse in the database before continuing as a UTF-8 wiki. $wgLegacyEncoding = false; +/** + * If set to true, the MediaWiki 1.4 to 1.5 schema conversion will + * create stub reference rows in the text table instead of copying + * the full text of all current entries from 'cur' to 'text'. + * + * This will speed up the conversion step for large sites, but + * requires that the cur table be kept around for those revisions + * to remain viewable. + * + * maintenance/migrateCurStubs.php can be used to complete the + * migration in the background once the wiki is back online. + * + * This option affects the updaters *only*. Any present cur stub + * revisions will be readable at runtime regardless of this setting. + */ +$wgLegacySchemaConversion = false; + $wgMimeType = 'text/html'; +$wgJsMimeType = 'text/javascript'; $wgDocType = '-//W3C//DTD XHTML 1.0 Transitional//EN'; $wgDTD = 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'; /** Enable to allow rewriting dates in page text. * DOES NOT FORMAT CORRECTLY FOR MOST LANGUAGES */ $wgUseDynamicDates = false; -/** Enable for English module to print dates as eg 'May 12' instead of '12 May' */ +/** Enable dates like 'May 12' instead of '12 May', this only takes effect if + * the interface is set to English + */ $wgAmericanDates = false; /** * For Hindi and Arabic use local numerals instead of Western style (0-9) @@ -380,19 +532,16 @@ $wgTranslateNumerals = true; # Translation using MediaWiki: namespace # This will increase load times by 25-60% unless memcached is installed -# Interface messages will be get from the database. +# Interface messages will be loaded from the database. $wgUseDatabaseMessages = true; $wgMsgCacheExpiry = 86400; -$wgPartialMessageCache = false; -# Whether to enable language variant conversion. Currently only zh -# supports this function, to convert between Traditional and Simplified -# Chinese. This flag is meant to isolate the (untested) conversion -# code, so that if it breaks, only zh will be affected +# Whether to enable language variant conversion. $wgDisableLangConversion = false; # Use article validation feature; turned off by default $wgUseValidation = false; +$wgValidationForAnons = true ; # Whether to use zhdaemon to perform Chinese text processing # zhdaemon is under developement, so normally you don't want to @@ -401,6 +550,15 @@ $wgUseZhdaemon = false; $wgZhdaemonHost="localhost"; $wgZhdaemonPort=2004; +/** Normally you can ignore this and it will be something + like $wgMetaNamespace . "_talk". In some languages, you + may want to set this manually for grammatical reasons. + It is currently only respected by those languages + where it might be relevant and where no automatic + grammar converter exists. +*/ +$wgMetaNamespaceTalk = false; + # Miscellaneous configuration settings # @@ -465,10 +623,6 @@ $wgUseCategoryMagic = true; */ $wgUseCategoryBrowser = false; -$wgEnablePersistentLC = false; # Obsolete, do not use -$wgCompressedPersistentLC = true; # use gzcompressed blobs -$wgUseOldExistenceCheck = false; # use old prefill link method, for debugging only - /** * Keep parsed pages in a cache (objectcache table, turck, or memcached) * to speed up output of the same page viewed by another user with the @@ -507,22 +661,63 @@ $wgHitcounterUpdateFreq = 1; # It's not 100% safe, there could be security hole using that one. Use at your # own risks. -$wgWhitelistEdit = false; # true = user must login to edit. -$wgWhitelistRead = false; # Pages anonymous user may see, like: = array ( ":Main_Page", "Special:Userlogin", "Wikipedia:Help"); -$wgWhitelistAccount = array ( 'user' => 1, 'sysop' => 1, 'developer' => 1 ); +$wgWhitelistRead = false; # Pages anonymous user may see, like: = array ( "Main Page", "Special:Userlogin", "Wikipedia:Help"); $wgAllowAnonymousMinor = false; # Allow anonymous users to mark changes as 'minor' -$wgSysopUserBans = false; # Allow sysops to ban logged-in users -$wgSysopRangeBans = false; # Allow sysops to ban IP ranges - -/** Comma-separated list of options to show on the IP block form. - * Use strtotime() format, or "infinite" for an infinite block - */ -$wgBlockExpiryOptions = "2 hours,1 day,3 days,1 week,2 weeks,1 month,3 months,6 months,1 year,infinite"; +$wgSysopUserBans = true; # Allow sysops to ban logged-in users +$wgSysopRangeBans = true; # Allow sysops to ban IP ranges $wgAutoblockExpiry = 86400; # Number of seconds before autoblock entries expire +/** + * Permission keys given to users in each group. + * All users are implicitly in the '*' group including anonymous visitors; + * logged-in users are all implicitly in the 'user' group. These will be + * combined with the permissions of all groups that a given user is listed + * in in the user_groups table. + * + * This replaces wgWhitelistAccount and wgWhitelistEdit + */ +$wgGroupPermissions = array(); + +$wgGroupPermissions['*' ]['createaccount'] = true; +$wgGroupPermissions['*' ]['read'] = true; +$wgGroupPermissions['*' ]['edit'] = true; + +$wgGroupPermissions['user' ]['move'] = true; +$wgGroupPermissions['user' ]['read'] = true; +$wgGroupPermissions['user' ]['edit'] = true; +$wgGroupPermissions['user' ]['upload'] = true; + +$wgGroupPermissions['bot' ]['bot'] = true; + +$wgGroupPermissions['sysop']['block'] = true; +$wgGroupPermissions['sysop']['createaccount'] = true; +$wgGroupPermissions['sysop']['delete'] = true; +$wgGroupPermissions['sysop']['editinterface'] = true; +$wgGroupPermissions['sysop']['import'] = true; +$wgGroupPermissions['sysop']['importupload'] = true; +$wgGroupPermissions['sysop']['move'] = true; +$wgGroupPermissions['sysop']['patrol'] = true; +$wgGroupPermissions['sysop']['protect'] = true; +$wgGroupPermissions['sysop']['rollback'] = true; +$wgGroupPermissions['sysop']['upload'] = true; + +$wgGroupPermissions['bureaucrat']['userrights'] = true; +// Used by the Special:Renameuser extension +$wgGroupPermissions['bureaucrat']['renameuser'] = true; + +/** + * The developer group is deprecated, but can be activated if need be + * to use the 'lockdb' and 'unlockdb' special pages. Those require + * that a lock file be defined and creatable/removable by the web + * server. + */ +# $wgGroupPermissions['developer']['siteadmin'] = true; + + + # Proxy scanner settings # @@ -589,30 +784,22 @@ $wgUseGzip = false; # Email notification settings # -/** - * Program to run when the email is actually sent out. You might want to make - * your server beep for example. Usermailer.php will make a system() call with - * exactly that string as parameter. - */ -# $wgEmailNotificationSystembeep = '/usr/bin/beep -f 4000 -l 20 &'; -$wgEmailNotificationSystembeep = ''; - /** For email notification on page changes */ $wgPasswordSender = $wgEmergencyContact; -# true: from PageEditor if s/he opted-in +# true: from page editor if s/he opted-in # false: Enotif mails appear to come from $wgEmergencyContact -$wgEmailNotificationMailsSentFromPageEditor = false; +$wgEnotifFromEditor = false; // TODO move UPO to preferences probably ? # If set to true, users get a corresponding option in their preferences and can choose to enable or disable at their discretion # If set to false, the corresponding input form on the user preference page is suppressed # It call this to be a "user-preferences-option (UPO)" $wgEmailAuthentication = true; # UPO (if this is set to false, texts referring to authentication are suppressed) -$wgEmailNotificationForWatchlistPages = false; # UPO -$wgEmailNotificationForUserTalkPages = false; # UPO -$wgEmailNotificationRevealPageEditorAddress = false; # UPO; reply-to address may be filled with page editor's address (if user allowed this in the preferences) -$wgEmailNotificationForMinorEdits = true; # UPO; false: "minor edits" on pages do not trigger notification mails. +$wgEnotifWatchlist = false; # UPO +$wgEnotifUserTalk = false; # UPO +$wgEnotifRevealEditorAddress = false; # UPO; reply-to address may be filled with page editor's address (if user allowed this in the preferences) +$wgEnotifMinorEdits = true; # UPO; false: "minor edits" on pages do not trigger notification mails. # # Attention: _every_ change on a user_talk page trigger a notification mail (if the user is not yet notified) @@ -623,10 +810,17 @@ $wgPageShowWatchingUsers = false; /** * Show "Updated (since my last visit)" marker in RC view, watchlist and history * view for watched pages with new changes */ -$wgShowUpdatedMarker = true; # UPO +$wgShowUpdatedMarker = true; $wgCookieExpiration = 2592000; +/** Clock skew or the one-second resolution of time() can occasionally cause cache + * problems when the user requests two pages within a short period of time. This + * variable adds a given number of seconds to vulnerable timestamps, thereby giving + * a grace period. + */ +$wgClockSkewFudge = 5; + # Squid-related settings # @@ -659,6 +853,10 @@ $wgSquidServersNoPurge = array(); /** Maximum number of titles to purge in any one client operation */ $wgMaxSquidPurgeTitles = 400; +/** HTCP multicast purging */ +$wgHTCPPort = 4827; +$wgHTCPMulticastTTL = 1; +# $wgHTCPMulticastAddress = "224.0.0.85"; # Cookie settings: # @@ -724,7 +922,13 @@ $wgDisableTextSearch = false; */ $wgDisableSearchUpdate = false; /** Uploads have to be specially set up to be secure */ -$wgDisableUploads = true; +$wgEnableUploads = false; +/** + * Show EXIF data, on by default if available. + * Requires PHP's EXIF extension: http://www.php.net/manual/en/ref.exif.php + */ +$wgShowEXIF = function_exists( 'exif_read_data' ); + /** * Set to true to enable the upload _link_ while local uploads are disabled. * Assumes that the special page link will be bounced to another server where @@ -732,6 +936,19 @@ $wgDisableUploads = true; */ $wgRemoteUploads = false; $wgDisableAnonTalk = false; +/** + * Do DELETE/INSERT for link updates instead of incremental + */ +$wgUseDumbLinkUpdate = false; + +/** + * Anti-lock flags - bitfield + * ALF_PRELOAD_LINKS + * Preload links during link update for save + * ALF_PRELOAD_EXISTENCE + * Preload cur_id during replaceLinkHolders + */ +$wgAntiLockFlags = 0; /** * Path to the GNU diff3 utility. If the file doesn't exist, edit conflicts will @@ -756,13 +973,25 @@ $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg' ); /** Files with these extensions will never be allowed as uploads. */ $wgFileBlacklist = array( # HTML may contain cookie-stealing JavaScript and web bugs - 'html', 'htm', + 'html', 'htm', 'js', 'jsb', # PHP scripts may execute arbitrary code on the server 'php', 'phtml', 'php3', 'php4', 'phps', # Other types that may be interpreted by some servers 'shtml', 'jhtml', 'pl', 'py', 'cgi', # May contain harmful executables for Windows victims 'exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd', 'vxd', 'cpl' ); + +/** Files with these mime types will never be allowed as uploads + * if $wgVerifyMimeType is enabled. + */ +$wgMimeTypeBlacklist= array( + # HTML may contain cookie-stealing JavaScript and web bugs + 'text/html', 'text/javascript', 'text/x-javascript', 'application/x-shellscript', + # PHP scripts may execute arbitrary code on the server + 'application/x-php', 'text/x-php', + # Other types that may be interpreted by some servers + 'text/x-python', 'text/x-perl', 'text/x-bash', 'text/x-sh', 'text/x-csh' +); /** This is a flag to determine whether or not to check file extensions on upload. */ $wgCheckFileExtensions = true; @@ -774,7 +1003,7 @@ $wgCheckFileExtensions = true; $wgStrictFileExtensions = true; /** Warn if uploaded files are larger than this */ -$wgUploadSizeWarning = 150000; +$wgUploadSizeWarning = 150 * 1024; /** For compatibility with old installations set to false */ $wgPasswordSalt = true; @@ -783,27 +1012,20 @@ $wgPasswordSalt = true; * See Language.php for a list of namespaces. */ $wgNamespacesWithSubpages = array( - NS_SPECIAL => 0, - NS_MAIN => 0, - NS_TALK => 1, - NS_USER => 1, - NS_USER_TALK => 1, - NS_PROJECT => 0, - NS_PROJECT_TALK => 1, - NS_IMAGE => 0, - NS_IMAGE_TALK => 1, - NS_MEDIAWIKI => 0, - NS_MEDIAWIKI_TALK => 1, - NS_TEMPLATE => 0, - NS_TEMPLATE_TALK => 1, - NS_HELP => 0, - NS_HELP_TALK => 1, - NS_CATEGORY => 0, - NS_CATEGORY_TALK => 1 + NS_TALK => true, + NS_USER => true, + NS_USER_TALK => true, + NS_PROJECT_TALK => true, + NS_IMAGE_TALK => true, + NS_MEDIAWIKI_TALK => true, + NS_TEMPLATE_TALK => true, + NS_HELP_TALK => true, + NS_CATEGORY_TALK => true ); -$wgNamespacesToBeSearchedDefault = array( NS_SPECIAL => 0, 0 => 1, 1 => 0, - 2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0, 7 => 0, 8 => 0, 9 => 1, 10 => 0, 11 => 1 ); +$wgNamespacesToBeSearchedDefault = array( + NS_MAIN => true, +); /** If set, a bold ugly notice will show up at the top of every page. */ $wgSiteNotice = ''; @@ -843,7 +1065,7 @@ $wgSVGConverter = 'ImageMagick'; /** If not in the executable PATH, specify */ $wgSVGConverterPath = ''; -/** @todo FIXME what does it do here ?? [ashar] */ +/** Set $wgCommandLineMode if it's not set already, to avoid notices */ if( !isset( $wgCommandLineMode ) ) { $wgCommandLineMode = false; } @@ -853,9 +1075,6 @@ if( !isset( $wgCommandLineMode ) ) { # Recent changes settings # -/** Show seconds in Recent Changes */ -$wgRCSeconds = false; - /** Log IP addresses in the recentchanges table */ $wgPutIPinRC = false; @@ -886,6 +1105,10 @@ $wgRightsIcon = NULL; /** Set this to some HTML to override the rights icon with an arbitrary logo */ $wgCopyrightIcon = NULL; +/* Set this to true if you want the annoying copyright confirmation + * checkbox at Special:Upload */ +$wgCopyrightAffirmation = false; + /** Set this to true if you want detailed copyright information forms on Upload. */ $wgUseCopyrightUpload = false; @@ -896,7 +1119,7 @@ $wgCheckCopyrightUpload = true; /** * Set this to the number of authors that you want to be credited below an * article text. Set it to zero to hide the attribution block, and a negative - * number (like -1) to show all authors. Note that this will# require 2-3 extra + * number (like -1) to show all authors. Note that this will require 2-3 extra * database hits, which can have a not insignificant impact on performance for * large wikis. */ @@ -918,8 +1141,11 @@ $wgCapitalLinks = true; /** * List of interwiki prefixes for wikis we'll accept as sources for - * Special:Import (for sysops). Since complete page history# can be imported, + * Special:Import (for sysops). Since complete page history can be imported, * these should be 'trusted'. + * + * If a user has the 'import' permission but not the 'importupload' permission, + * they will only be able to run imports through this transwiki interface. */ $wgImportSources = array(); @@ -941,8 +1167,8 @@ $wgGoToEdit = false; $wgUserHtml = true; /** Allow raw, unchecked HTML in ... sections. - * THIS IS VERY DANGEROUS on a publically editable site, so you can't enable it - * unless you've restricted editing to trusted users only with $wgWhitelistEdit. + * THIS IS VERY DANGEROUS on a publically editable site, so USE wgGroupPermissions + * TO RESTRICT EDITING to only those that you trust */ $wgRawHtml = false; @@ -954,13 +1180,20 @@ $wgRawHtml = false; * $wgTidyBin should be set to the path of the binary and * $wgTidyConf to the path of the configuration file. * $wgTidyOpts can include any number of parameters. + * + * $wgTidyInternal controls the use of the PECL extension to use an in- + * process tidy library instead of spawning a separate program. + * Normally you shouldn't need to override the setting except for + * debugging. To install, use 'pear install tidy' and add a line + * 'extension=tidy.so' to php.ini. */ $wgUseTidy = false; $wgTidyBin = 'tidy'; $wgTidyConf = $IP.'/extensions/tidy/tidy.conf'; $wgTidyOpts = ''; +$wgTidyInternal = function_exists( 'tidy_load_config' ); -/** See list of skins and their symbolic names in languagel/Language.php */ +/** See list of skins and their symbolic names in languages/Language.php */ $wgDefaultSkin = 'monobook'; /** @@ -1034,14 +1267,14 @@ $wgFeedDiffCutoff = 32768; /** * Additional namespaces. If the namespaces defined in Language.php and - * Namespace.php are insufficient,# you can create new ones here, for example, + * Namespace.php are insufficient, you can create new ones here, for example, * to import Help files in other languages. * PLEASE NOTE: Once you delete a namespace, the pages in that namespace will * no longer be accessible. If you rename it, then you can access them through * the new namespace name. * - * Custom namespaces should start at 100 and stop at 255 (hard limit set by - * database). + * Custom namespaces should start at 100 to avoid conflicting with standard + * namespaces, and should always follow the even/odd main/talk pattern. */ #$wgExtraNamespaces = # array(100 => "Hilfe", @@ -1051,16 +1284,6 @@ $wgFeedDiffCutoff = 32768; # ); $wgExtraNamespaces = NULL; -/** - * Enable SOAP interface. Off by default - * SOAP is a protocoll for remote procedure calls (RPC) using http as - * middleware. This interface can be used by bots or special clients to receive - * articles from a wiki. - * Most bots use the normal HTTP interface and don't use SOAP. - * If unsure, set to false. - */ -$wgEnableSOAP = false; - /** * Limit images on image description pages to a user-selectable limit. In order * to reduce disk usage, limits can only be selected from a list. This is the @@ -1074,21 +1297,18 @@ $wgImageLimits = array ( array(1280,1024), array(10000,10000) ); - -/** Navigation links for the user sidebar. - * 'text' is the name of the MediaWiki message that contains the label of this link - * 'href' is the name of the MediaWiki message that contains the link target of this link. - * Link targets starting with http are considered remote links. Ones not starting with - * http are considered as names of local wiki pages. - */ -$wgNavigationLinks = array ( - array( 'text'=>'mainpage', 'href'=>'mainpage' ), - array( 'text'=>'portal', 'href'=>'portal-url' ), - array( 'text'=>'currentevents', 'href'=>'currentevents-url' ), - array( 'text'=>'recentchanges', 'href'=>'recentchanges-url' ), - array( 'text'=>'randompage', 'href'=>'randompage-url' ), - array( 'text'=>'help', 'href'=>'helppage' ), - array( 'text'=>'sitesupport', 'href'=>'sitesupport-url' ), +/** + * Adjust thumbnails on image pages according to a user setting. In order to + * reduce disk usage, the values can only be selected from a list. This is the + * list of settings the user can choose from: + */ +$wgThumbLimits = array( + 120, + 150, + 180, + 200, + 250, + 300 ); /** @@ -1102,9 +1322,21 @@ $wgCategoryMagicGallery = true; * Contains a list of regexps : "/regexp/" matching problematic browsers */ $wgBrowserBlackList = array( - "/Mozilla\/4\.78 \[en\] \(X11; U; Linux/" - // FIXME: Add some accurate, true things here - ); + "/Mozilla\/4\.78 \[en\] \(X11; U; Linux/", + /** + * MSIE on Mac OS 9 is teh sux0r, converts þ to , ð to , Þ to and Ð to + * + * Known useragents: + * - Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC) + * - Mozilla/4.0 (compatible; MSIE 5.15; Mac_PowerPC) + * - Mozilla/4.0 (compatible; MSIE 5.23; Mac_PowerPC) + * - [...] + * + * @link http://en.wikipedia.org/w/index.php?title=User%3A%C6var_Arnfj%F6r%F0_Bjarmason%2Ftestme&diff=12356041&oldid=12355864 + * @link http://en.wikipedia.org/wiki/Template%3AOS9 + */ + "/Mozilla\/4\.0 \(compatible; MSIE \d+\.\d+; Mac_PowerPC\)/" +); /** * Fake out the timezone that the server thinks it's in. This will be used for @@ -1117,15 +1349,6 @@ $wgBrowserBlackList = array( # $wgLocaltimezone = 'CET'; $wgLocaltimezone = null; -/** - * User level management - * The number is the database id of a group you want users to be attached by - * default. A better interface should be coded [av] - */ -$wgAnonGroupId = 1; -$wgLoggedInGroupId = 2; -$wgSysopGroupId = 3; -$wgBureaucratGroupId = 4; /** * When translating messages with wfMsg(), it is not always clear what should be @@ -1212,17 +1435,118 @@ $wgUseExternalEditor = true; $wgSortSpecialPages = true; +/** + * Specify the name of a skin that should not be presented in the + * list of available skins. + * Use for blacklisting a skin which you do not want to remove + * from the .../skins/ directory + */ +$wgSkipSkin = ''; +$wgSkipSkins = array(); # More of the same + /** * Array of disabled article actions, e.g. view, edit, dublincore, delete, etc. */ $wgDisabledActions = array(); +/** + * Disable redirects to special pages and interwiki redirects, which use a 302 and have no "redirected from" link + */ +$wgDisableHardRedirects = false; + /** * Use http.dnsbl.sorbs.net to check for open proxies */ -$wgEnableSorbs = true; +$wgEnableSorbs = false; + +/** + * Use opm.blitzed.org to check for open proxies. + * Not yet actually used. + */ +$wgEnableOpm = false; + +/** + * Proxy whitelist, list of addresses that are assumed to be non-proxy despite what the other + * methods might say + */ +$wgProxyWhitelist = array(); + +/** + * Simple rate limiter options to brake edit floods. + * Maximum number actions allowed in the given number of seconds; + * after that the violating client receives HTTP 500 error pages + * until the period elapses. + * + * array( 4, 60 ) for a maximum of 4 hits in 60 seconds. + * + * This option set is experimental and likely to change. + * Requires memcached. + */ +$wgRateLimits = array( + 'edit' => array( + 'anon' => null, // for any and all anonymous edits (aggregate) + 'user' => null, // for each logged-in user + 'newbie' => null, // for each recent account; overrides 'user' + 'ip' => null, // for each anon and recent account + 'subnet' => null, // ... with final octet removed + ), + 'move' => array( + 'user' => null, + 'newbie' => null, + 'ip' => null, + 'subnet' => null, + ), + ); + +/** + * Set to a filename to log rate limiter hits. + */ +$wgRateLimitLog = null; + +/** + * On Special:Unusedimages, consider images "used", if they are put + * into a category. Default (false) is not to count those as used. + */ +$wgCountCategorizedImagesAsUsed = false; + +/** + * External stores allow including content + * from non database sources following URL links + * + * Short names of ExternalStore classes may be specified in an array here: + * $wgExternalStores = array("http","file","custom")... + * + * CAUTION: Access to database might lead to code execution + */ +$wgExternalStores = false; + +/** +* list of trusted media-types and mime types. +* Use the MEDIATYPE_xxx constants to represent media types. +* This list is used by Image::isSafeFile +* +* Types not listed here will have a warning about unsafe content +* displayed on the images description page. It would also be possible +* to use this for further restrictions, like disabling direct +* [[media:...]] links for non-trusted formats. +*/ +$wgTrustedMediaFormats= array( + MEDIATYPE_BITMAP, //all bitmap formats + MEDIATYPE_AUDIO, //all audio formats + MEDIATYPE_VIDEO, //all plain video formats + "image/svg", //svg (only needed if inline rendering of svg is not supported) + "application/pdf", //PDF files + #"application/x-shockwafe-flash", //flash/shockwave movie +); + +/** + * Allow special page inclusions such as {{Special:Allpages}} + */ +$wgAllowSpecialInclusion = true; + +/** + * Timeout for HTTP requests done via CURL + */ +$wgHTTPTimeout = 3; -} else { - die(); -} ?>