# Create a site configuration object. Not used for much in a default install
if ( !defined( 'MW_PHP4' ) ) {
- require_once( "$IP/includes/SiteConfiguration.php" );
+ if ( !defined( 'MW_COMPILED' ) ) {
+ require_once( "$IP/includes/SiteConfiguration.php" );
+ }
$wgConf = new SiteConfiguration;
}
/** @endcond */
$wgServer = '';
/** @cond file_level_code */
-if( isset( $_SERVER['SERVER_NAME'] ) ) {
+if( isset( $_SERVER['SERVER_NAME'] )
+ # additionially, for requests made directly to an IPv6 address we have
+ # to make sure the server enclose it in either [] or nothing at all
+ && (strpos($_SERVER['SERVER_NAME'], '[')
+ xor strpos( $_SERVER['SERVER_NAME'], ']'))
+ ) {
$serverName = $_SERVER['SERVER_NAME'];
} elseif( isset( $_SERVER['HOSTNAME'] ) ) {
$serverName = $_SERVER['HOSTNAME'];
* necessary to rasterize SVGs to PNG as a fallback format.
*
* An external program is required to perform this conversion.
+ * If set to an array, the first item is a PHP callable and any further items
+ * are passed as parameters after $srcPath, $dstPath, $width, $height
*/
$wgSVGConverters = array(
'ImageMagick' => '$path/convert -background white -thumbnail $widthx$height\! $input PNG:$output',
'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
'rsvg' => '$path/rsvg -w$width -h$height $input $output',
'imgserv' => '$path/imgserv-wrapper -i svg -o png -w$width $input $output',
+ 'ImagickExt' => array( 'SvgHandler::rasterizeImagickExt' ),
);
/** Pick a converter defined in $wgSVGConverters */
$wgSVGConverter = 'ImageMagick';
'imagesPerRow' => 0, // Default number of images per-row in the gallery. 0 -> Adapt to screensize
'imageWidth' => 120, // Width of the cells containing images in galleries (in "px")
'imageHeight' => 120, // Height of the cells containing images in galleries (in "px")
- 'captionLength' => 20, // Length of caption to truncate (in characters)
+ 'captionLength' => 25, // Length of caption to truncate (in characters)
'showBytes' => true, // Show the filesize in bytes in categories
);
/** The default Content-Type header. */
$wgMimeType = 'text/html';
-/** The content type used in script tags. */
+/**
+ * The content type used in script tags. This is mostly going to be ignored if
+ * $wgHtml5 is true, at least for actual HTML output, since HTML5 doesn't
+ * require a MIME type for JavaScript or CSS (those are the default script and
+ * style languages).
+ */
$wgJsMimeType = 'text/javascript';
-/** The HTML document type. */
+/**
+ * The HTML document type. Ignored if $wgHtml5 is true, since <!DOCTYPE html>
+ * doesn't actually have a doctype part to put this variable's contents in.
+ */
$wgDocType = '-//W3C//DTD XHTML 1.0 Transitional//EN';
-/** The URL of the document type declaration. */
+/**
+ * The URL of the document type declaration. Ignored if $wgHtml5 is true,
+ * since HTML5 has no DTD, and <!DOCTYPE html> doesn't actually have a DTD part
+ * to put this variable's contents in.
+ */
$wgDTD = 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd';
-/** The default xmlns attribute. */
+/**
+ * The default xmlns attribute. Ignored if $wgHtml5 is true (or it's supposed
+ * to be), since we don't currently support XHTML5, and in HTML5 (i.e., served
+ * as text/html) the attribute has no effect, so why bother?
+ */
$wgXhtmlDefaultNamespace = 'http://www.w3.org/1999/xhtml';
/**
* Should we output an HTML5 doctype? If false, use XHTML 1.0 Transitional
* instead, and disable HTML5 features. This may eventually be removed and set
- * to always true.
+ * to always true. If it's true, a number of other settings will be irrelevant
+ * and have no effect.
*/
$wgHtml5 = true;
/**
* Defines the value of the version attribute in the <html> tag, if any.
- * Will be initialized later if not set explicitly.
+ * This is ignored if $wgHtml5 is false. If $wgAllowRdfaAttributes and
+ * $wgHtml5 are both true, and this evaluates to boolean false (like if it's
+ * left at the default null value), it will be auto-initialized to the correct
+ * value for RDFa+HTML5. As such, you should have no reason to ever actually
+ * set this to anything.
*/
$wgHtml5Version = null;
* $wgXhtmlNamespaces['svg'] = 'http://www.w3.org/2000/svg';
* Normally we wouldn't have to define this in the root <html>
* element, but IE needs it there in some circumstances.
+ *
+ * This is ignored if $wgHtml5 is true, for the same reason as
+ * $wgXhtmlDefaultNamespace.
*/
$wgXhtmlNamespaces = array();
$wgResourceLoaderUseESI = false;
/**
- * Enable removal of some of the vertical whitespace (like \r and \n) from
- * JavaScript code when minifying.
+ * Put each statement on its own line when minifying JavaScript. This makes
+ * debugging in non-debug mode a bit easier.
+ */
+$wgResourceLoaderMinifierStatementsOnOwnLine = false;
+
+/**
+ * Maximum line length when minifying JavaScript. This is not a hard maximum:
+ * the minifier will try not to produce lines longer than this, but may be
+ * forced to do so in certain cases.
*/
-$wgResourceLoaderMinifyJSVerticalSpace = false;
+$wgResourceLoaderMinifierMaxLineLength = 1000;
/**
* Whether to include the mediawiki.legacy JS library (old wikibits.js), and its
$wgGroupPermissions['sysop']['protect'] = true;
$wgGroupPermissions['sysop']['proxyunbannable'] = true;
$wgGroupPermissions['sysop']['rollback'] = true;
-$wgGroupPermissions['sysop']['trackback'] = true;
$wgGroupPermissions['sysop']['upload'] = true;
$wgGroupPermissions['sysop']['reupload'] = true;
$wgGroupPermissions['sysop']['reupload-shared'] = true;
$wgGroupPermissions['sysop']['unblockself'] = true;
$wgGroupPermissions['sysop']['suppressredirect'] = true;
#$wgGroupPermissions['sysop']['mergehistory'] = true;
+#$wgGroupPermissions['sysop']['trackback'] = true;
// Permission to change users' group assignments
$wgGroupPermissions['bureaucrat']['userrights'] = true;
* Set authentication cookies to HttpOnly to prevent access by JavaScript,
* in browsers that support this feature. This can mitigates some classes of
* XSS attack.
- *
- * Only supported on PHP 5.2 or higher.
*/
-$wgCookieHttpOnly = version_compare("5.2", PHP_VERSION, "<");
+$wgCookieHttpOnly = true;
/**
* If the requesting browser matches a regex in this blacklist, we won't
/**
* Support blog-style "trackbacks" for articles. See
* http://www.sixapart.com/pronet/docs/trackback_spec for details.
+ *
+ * If enabling this, you also need to grant the 'trackback' right to a group
*/
$wgUseTrackbacks = false;
/**
* Regexp to match word boundaries, defaults for non-CJK languages
* should be empty for CJK since the words are not separate
- *
- * @todo FIXME: checks for lower than required PHP version (5.1.x).
*/
-$wgSearchHighlightBoundaries = version_compare("5.1", PHP_VERSION, "<")? '[\p{Z}\p{P}\p{C}]'
- : '[ ,.;:!?~!@#$%\^&*\(\)+=\-\\|\[\]"\'<>\n\r\/{}]'; // PHP 5.0 workaround
+$wgSearchHighlightBoundaries = '[\p{Z}\p{P}\p{C}]';
/**
* Set to true to have the search engine count total
/**
* Authentication plugin.
+ * @var AuthPlugin
*/
$wgAuth = null;
'uploadFromUrl' => 'UploadFromUrlJob',
);
+/**
+ * Extensions of "thumbnails" that are very expensive to regenerate and should be
+ * excluded from normal action=purge thumbnail removal.
+ */
+$wgExcludeFromThumbnailPurge = array();
+
+/**
+
+ * Jobs that must be explicitly requested, i.e. aren't run by job runners unless special flags are set.
+ *
+ * These can be:
+ * - Very long-running jobs.
+ * - Jobs that you would never want to run as part of a page rendering request.
+ * - Jobs that you want to run on specialized machines ( like transcoding, or a particular
+ * machine on your cluster has 'outside' web access you could restrict uploadFromUrl )
+ */
+$wgJobTypesExcludedFromDefaultQueue = array();
+
/**
* Additional functions to be performed with updateSpecialPages.
* Expensive Querypages are already updated.
*/
$wgNewUserLog = true;
-/**
- * Log the automatic creations of new users accounts?
- */
-$wgLogAutocreatedAccounts = false;
-
/** @} */ # end logging }
/*************************************************************************//**
'Listusers' => 'users',
'Activeusers' => 'users',
'Listgrouprights' => 'users',
- 'Ipblocklist' => 'users',
+ 'BlockList' => 'users',
'Contributions' => 'users',
'Emailuser' => 'users',
'Listadmins' => 'users',
'Listbots' => 'users',
'Userrights' => 'users',
- 'Blockip' => 'users',
+ 'Block' => 'users',
+ 'Unblock' => 'users',
'Preferences' => 'users',
'Resetpass' => 'users',
'DeletedContributions' => 'users',
/**
* Disable redirects to special pages and interwiki redirects, which use a 302
- * and have no "redirected from" link.
+ * and have no "redirected from" link. Note this is only for articles with #Redirect
+ * in them. URL's containing a local interwiki prefix (or a non-canonical special
+ * page name) are still hard redirected regardless of this setting.
*/
$wgDisableHardRedirects = false;