Implementing user levels management. This is only a very basic interface and several...
[lhc/web/wiklou.git] / includes / DefaultSettings.php
index 55d758e..06b7b3a 100644 (file)
@@ -42,14 +42,22 @@ $wgMetaNamespace    = FALSE;
  * @global string $wgServer
  */
 $wgServer = '';
+
+if( isset( $_SERVER['SERVER_NAME'] ) ) {
+       $wgServerName = $_SERVER['SERVER_NAME'];
+} elseif( isset( $_SERVER['HOSTNAME'] ) ) {
+       $wgServerName = $_SERVER['HOSTNAME'];
+} else {
+       # FIXME: Fall back on... something else?
+       $wgServerName = 'localhost';
+}
+
 # check if server use https:
 $wgProto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
 
-if ( @$wgCommandLineMode ) {
-       $wgServer = $wgProto.'://localhost';
-} else {
-       $wgServer           = $wgProto.'://' . $_SERVER['SERVER_NAME'];
-       if( $_SERVER['SERVER_PORT'] != 80 ) $wgServer .= ":" . $_SERVER['SERVER_PORT'];
+$wgServer = $wgProto.'://' . $wgServerName;
+if( isset( $_SERVER['SERVER_PORT'] ) && $_SERVER['SERVER_PORT'] != 80 ) {
+       $wgServer .= ":" . $_SERVER['SERVER_PORT'];
 }
 unset($wgProto);
 
@@ -103,12 +111,38 @@ $wgStyleSheetDirectory = &$wgStyleDirectory;
 $wgArticlePath      = "{$wgScript}?title=$1";
 $wgUploadPath       = "{$wgScriptPath}/upload";
 $wgUploadDirectory     = "{$IP}/upload";
+$wgHashedUploadDirectory       = true;
 $wgLogo                                = "{$wgUploadPath}/wiki.png";
 $wgMathPath         = "{$wgUploadPath}/math";
 $wgMathDirectory    = "{$wgUploadDirectory}/math";
 $wgTmpDirectory     = "{$wgUploadDirectory}/tmp";
+$wgUploadBaseUrl    = "";
 /**#@-*/
 
+# If you operate multiple wikis, you can define a shared upload
+# path here. Uploads to this wiki will NOT be put there - they
+# will be put into $wgUploadDirectory.
+#
+# If $wgUseSharedUploads is set, the wiki will look in the
+# shared repository if no file of the given name is found in
+# the local repository (for [[Image:..]], [[Media:..]] links).
+# Thumbnails will also be looked for and generated in this
+# directory.
+#
+$wgUseSharedUploads = false;
+# Leave this blank if it is the same server. NO FINAL SLASH -
+# it is concatenated with $wgSharedUploadPath.
+# Example: "http://commons.wikimedia.org"
+$wgSharedUploadBaseUrl = "";
+# Path on the web server where shared uploads can be found
+$wgSharedUploadPath = "/shared/images";
+# Path on the file system where shared uploads can be found
+$wgSharedUploadDirectory = "/var/www/wiki3/images";
+# Set this to false especially if you have a set of files that need to be
+# accessible by all wikis, and you do not want to use the hash (path/a/aa/)
+# directory layout.
+$wgHashedSharedUploadDirectory = true;
+
 
 # Email settings
 #
@@ -117,14 +151,15 @@ $wgTmpDirectory     = "{$wgUploadDirectory}/tmp";
  * Default to wikiadmin@SERVER_NAME
  * @global string $wgEmergencyContact
  */
-$wgEmergencyContact = 'wikiadmin@' . getenv( 'SERVER_NAME' );
+$wgEmergencyContact = 'wikiadmin@' . $wgServerName;
+
 /**
  * Password reminder email address
  * The address we should use as sender when a user is requesting his password
  * Default to apache@SERVER_NAME
  * @global string $wgPasswordSender
  */
-$wgPasswordSender      = 'Wikipedia Mail <apache@' . getenv( 'SERVER_NAME' ) . '>';
+$wgPasswordSender      = 'Wikipedia Mail <apache@' . $wgServerName . '>';
 
 
 /**
@@ -160,10 +195,22 @@ $wgDBuser           = 'wikiuser';
  * "mysql" for working code and "PostgreSQL" for development/broken code
  */
 $wgDBtype           = "mysql";
+/** Search type
+ * "MyISAM" for MySQL native full text search, "Tsearch2" for PostgreSQL
+ * based search engine
+ */
+$wgSearchType      = "MyISAM";
 /** Table name prefix */
 $wgDBprefix         = ''; 
+/** Database schema
+ * on some databases this allows separate 
+ * logical namespace for application data
+ */
+$wgDBschema        = 'mediawiki';
 /**#@-*/
 
+
+
 # Shared database for multiple wikis.
 # Presently used for storing a user table for single sign-on
 # The server for this database must be the same as for the main
@@ -230,13 +277,13 @@ $wgLinkCacheMemcached = false; # Not fully tested
 
 /**
  * Turck MMCache shared memory
- * You can use this for persistent caching where your wiki runs on a small
- * number of servers. Mutually exclusive with memcached. MMCache must be
- * installed.
+ * 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, memcached is used if both are specified.
  *
  * @global bool $wgUseTurckShm Enable or disabled Turck MMCache
  */
-$wgUseTurckShm      = false;
+$wgUseTurckShm      = function_exists( 'mmcache_get' ) && php_sapi_name() == 'apache';
 
 
 # Language settings
@@ -248,15 +295,6 @@ $wgUseTurckShm      = false;
  */
 $wgLanguageCode     = 'en';
 
-/**
- * Languages which the user may select to display the user interface
- * in instead of the default language. This option is currently
- * experimental and WILL FAIL FOR MANY COMMON TASKS AND PERHAPS
- * CORRUPT YOUR DATABASE WITH BOGUS DATA.
- * Set to eg array( 'en', 'fr', 'zh' ) etc
- */
-$wgUserLanguages = array();
-
 /**
  * Filename of a language file generated by dumpMessages.php
  * @global string|false $wgLanguageFile (default:false)
@@ -271,6 +309,17 @@ $wgInputEncoding   = 'ISO-8859-1'; # LanguageUtf8.php normally overrides this
 $wgOutputEncoding      = 'ISO-8859-1'; # unless you set the next option to true:
 $wgUseLatin1           = false; # Enable ISO-8859-1 compatibility mode
 $wgEditEncoding                = '';
+
+# Set this to eg 'ISO-8859-1' to perform character set
+# conversion when loading old revisions not marked with
+# "utf-8" flag. Use this when converting wiki to UTF-8
+# without the burdensome mass conversion of old text data.
+#
+# NOTE! This DOES NOT touch any fields other than old_text.
+# Titles, comments, user names, etc still must be converted
+# en masse in the database before continuing as a UTF-8 wiki.
+$wgLegacyEncoding   = false;
+
 $wgMimeType                    = 'text/html';
 $wgDocType                     = '-//W3C//DTD XHTML 1.0 Transitional//EN';
 $wgDTD                         = 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd';
@@ -287,7 +336,13 @@ $wgTranslateNumerals = true; # For Hindi and Arabic use local numerals instead
 # Interface messages will be get 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
+$wgDisableLangConversion = true;
 
 # Miscellaneous configuration settings
 #
@@ -302,6 +357,7 @@ $wgExtraSubtitle    = '';
 $wgSiteSupportPage     = ''; # A page where you users can receive donations
 
 $wgReadOnlyFile         = "{$wgUploadDirectory}/lock_yBgMBwiR";
+$wgUseData = false ;
 
 # The debug log file should be not be publicly accessible if it is
 # used, as it may contain private data.
@@ -465,7 +521,6 @@ $wgDebugSquid = false; # Lots of debugging output from SquidUpdate.php
 
 $wgDisableCounters = false;
 $wgDisableTextSearch = false;
-$wgDisableFuzzySearch = false;
 $wgDisableSearchUpdate = false; # If you've disabled search semi-permanently, this also disables updates to the table. If you ever re-enable, be sure to rebuild the search table.
 $wgDisableUploads = true; # Uploads have to be specially set up to be secure
 $wgRemoteUploads = false; # 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 uploads do work.
@@ -527,10 +582,6 @@ $wgSiteNotice = "";
 # 
 $wgUseImageResize              = false;
 
-## Set maximum width of images on image description pages.
-## Images bigger than this will be rendered down.
-$wgMaxImageWidth = 800;
-
 ## Resizing can be done using PHP's internal image libraries
 ## or using ImageMagick. The later supports more file formats
 ## than PHP, which only supports PNG, GIF, JPG, XBM and WBMP.
@@ -541,6 +592,20 @@ $wgMaxImageWidth = 800;
 $wgUseImageMagick              = false;
 $wgImageMagickConvertCommand    = '/usr/bin/convert';
 
+# Scalable Vector Graphics (SVG) may be uploaded as images.
+# Since SVG support is not yet standard in browsers, it is
+# necessary to rasterize SVGs to PNG as a fallback format.
+#
+# An external program is required to perform this conversion:
+$wgSVGConverters = array(
+       'ImageMagick' => '$path/convert -background white -geometry $width $input $output',
+       'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
+       'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
+       'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
+       );
+$wgSVGConverter = 'ImageMagick'; # Pick one of the above
+$wgSVGConverterPath = ''; # If not in the executable PATH, specify
+
 # PHPTal is a library for page templates. MediaWiki includes
 # a recent PHPTal distribution. It is required to use the
 # Monobook (default) skin.
@@ -617,9 +682,9 @@ $wgGoToEdit = false;
 $wgUserHtml = true;
 
 # Allow raw, unchecked HTML in <html>...</html> sections.
-# THIS IS VERY DANGEROUS on a publically editable site.
-# Don't enable it unless you've restricted editing to trusted
-# users only.
+# 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.
 $wgRawHtml = false;
 
 # $wgUseTidy: use tidy to make sure HTML output is sane.
@@ -694,6 +759,62 @@ $wgExtraNamespaces = NULL;
 # 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 list of
+# settings the user can choose from:
+$wgImageLimits = array (
+       array(320,240),
+       array(640,480),
+       array(800,600),
+       array(1024,768),
+       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' ),
+);
+
+# On category pages, show thumbnail gallery for images belonging to that category
+# instead of listing them as articles.
+$wgCategoryMagicGallery = true;
+
+# Browser Blacklist for unicode non compliant browsers
+# 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
+       );
+
+# Fake out the timezone that the server thinks it's in. This will be used
+# for date display and not for what's stored in the DB.
+# Leave to null to retain your server's OS-based timezone value
+# This is the same as the timezone
+# $wgLocaltimezone = 'GMT';
+# $wgLocaltimezone = 'PST8PDT';
+# $wgLocaltimezone = 'Europe/Sweden';
+# $wgLocaltimezone = 'CET';
+
+# 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;
+
+$wgWhitelistRead = array ( ':Accueil', ':Main_Page');
+
 } else {
        die();
 }