]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/mediawiki/templates/default/LocalSettings.php.erb
Added application/vnd.openstreetmap.data+xml type for uploads
[chef.git] / cookbooks / mediawiki / templates / default / LocalSettings.php.erb
index d4c8e30504b7c7f48f3e9754affe4991a57f34ab..dc14397503a09a4d0b28d19097808fdc8c1fc1b3 100644 (file)
@@ -12,26 +12,23 @@ if ( !defined( 'MEDIAWIKI' ) ) {
 $wgSitename      = '<%= @mediawiki[:sitename] %>';
 $wgMetaNamespace = '<%= @mediawiki[:metanamespace] %>';
 
-
 ## The URL base path to the directory containing the wiki;
 ## defaults for all runtime URL paths are based off of this.
 ## For more information on customizing the URLs
 ## (like /w/index.php/Page_title to /wiki/Page_title) please see:
-## http://www.mediawiki.org/wiki/Manual:Short_URL
+## https://www.mediawiki.org/wiki/Manual:Short_URL
 $wgScriptPath       = "/w";
 $wgArticlePath      = '/wiki/$1';
 $wgUsePathInfo      = true;
 $wgScriptExtension  = ".php";
 
 ## The protocol and server name to use in fully-qualified URLs
-$wgServer           = "//<%= @mediawiki[:site] %>";
-$wgInternalServer   = 'http://<%= @mediawiki[:site] %>';
+$wgServer           = "//<%= @name %>";
+$wgInternalServer   = 'https://<%= @name %>';
 
-<% if @mediawiki[:enable_ssl] -%>
 $wgSecureLogin = true;
-$wgDefaultUserOptions['prefershttps'] = 0;
-<% end -%>
-$wgCookieSecure = false;
+$wgDefaultUserOptions['prefershttps'] = 1;
+$wgCookieSecure = true;
 
 ## The relative URL path to the skins directory
 $wgStylePath        = "$wgScriptPath/skins";
@@ -94,13 +91,26 @@ $wgFileExtensions[] = 'doc';
 $wgFileExtensions[] = 'pdf';
 $wgFileExtensions[] = 'odt';
 $wgFileExtensions[] = 'odp';
+$wgFileExtensions[] = 'ods';
 $wgFileExtensions[] = 'svg';
+$wgFileExtensions[] = 'osm';
+<% @mediawiki[:extra_file_extensions].each do |mw_extra_file_extension| -%>
+       $wgFileExtensions[] = '<%= mw_extra_file_extension %>';
+<% end -%>
+
+# Add OSM XML file format per http://www.iana.org/assignments/media-types/media-types.xhtml
+# Shout out to Paul Norman for reserving this.
+# Helps MimeMagic determine XML-based formats and chooses the correct MimeType
+# for .osm files.
+$wgXMLMimeTypes[] = array('osm' => 'application/vnd.openstreetmap.data+xml');
+
+$wgTrustedMediaFormats[] = 'application/vnd.openstreetmap.data+xml';
 
 $wgSVGConverters = array( 'rsvg' => '/usr/bin/rsvg-convert -w $width -h $height -o $output $input');
 $wgSVGConverter = 'rsvg';
 $wgSVGMaxSize = 2000;
 
-# InstantCommons allows wiki to use images from http://commons.wikimedia.org
+# InstantCommons allows wiki to use images from https://commons.wikimedia.org
 <% if @mediawiki[:commons] -%>
 $wgUseInstantCommons  = true;
 <% else -%>
@@ -126,7 +136,7 @@ $wgShellLocale = "en_US.utf8";
 # Site language code, should be one of the list in ./languages/Names.php
 $wgLanguageCode = "en";
 
-$wgSecretKey = "<%= @node[:mediawiki][:sites][@name][:wgSecretKey] %>";
+$wgSecretKey = '<%= @node[:mediawiki][:sites][@name][:wgSecretKey] %>';
 
 # Site upgrade key. Must be set to a string (default provided) to turn on the
 # web installer while LocalSettings.php is in place
@@ -139,8 +149,8 @@ $wgDefaultSkin = "<%= @mediawiki[:skin] %>";
 ## 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.
-$wgRightsPage = "OpenStreetMap_License"; # Set to the title of a wiki page that describes your license/copyright
-$wgRightsUrl  = "http://creativecommons.org/licenses/by-sa/2.0/";
+$wgRightsPage = "Wiki_content_license"; # Set to the title of a wiki page that describes your license/copyright
+$wgRightsUrl  = "https://creativecommons.org/licenses/by-sa/2.0/";
 $wgRightsText = "Creative Commons Attribution-ShareAlike 2.0 license";
 $wgRightsIcon = "/cc-wiki.png";
 
@@ -161,6 +171,16 @@ $wgResourceLoaderMaxQueryLength = -1;
 #Only Allow Signed-in users to edit
 $wgGroupPermissions['*']['edit'] = false;
 
+#Only allow autoconfirmed for a few actions
+$wgGroupPermissions['user']['move'] = false;
+$wgGroupPermissions['user']['movefile'] = false;
+$wgGroupPermissions['user']['move-categorypages'] = false;
+$wgGroupPermissions['user']['upload'] = false;
+$wgGroupPermissions['autoconfirmed']['move'] = true;
+$wgGroupPermissions['autoconfirmed']['movefile'] = true;
+$wgGroupPermissions['autoconfirmed']['move-categorypages'] = true;
+$wgGroupPermissions['autoconfirmed']['upload'] = true;
+
 #Allow bureaucrat group access to oversight options
 $wgGroupPermissions['bureaucrat']['hideuser'] = true;
 $wgGroupPermissions['bureaucrat']['deletelogentry'] = true;
@@ -168,12 +188,45 @@ $wgGroupPermissions['bureaucrat']['deleterevision'] = true;
 $wgGroupPermissions['bureaucrat']['suppressrevision'] = true;
 $wgGroupPermissions['bureaucrat']['suppressionlog'] = true;
 
+<% if @mediawiki[:private_accounts] -%>
+#Prevent new user registrations except by existing users
+$wgGroupPermissions['*']['createaccount'] = false;
+$wgGroupPermissions['user']['createaccount'] = true;
+<% end -%>
+<% if @mediawiki[:private] -%>
+
+#Disable reading by anonymous users
+$wgGroupPermissions['*']['read'] = false;
+
+#Allow anonymous users to access the login page
+$wgWhitelistRead = array ("Special:Userlogin");
+
+#Prevent new user registrations except by sysops
+$wgGroupPermissions['*']['createaccount'] = false;
+
+#Restrict access to the upload directory
+$wgUploadPath = "$wgScriptPath/img_auth.php";
+<% end -%>
+
 #Allow Subpages on Main Namespace
 $wgNamespacesWithSubpages[NS_MAIN] = true;
 
 #DNS Blacklists to use
 $wgEnableDnsBlacklist = true;
-$wgDnsBlacklistUrls = array( 'proxies.dnsbl.sorbs.net.', 'opm.tornevall.org.', 'xbl.spamhaus.org.' );
+$wgDnsBlacklistUrls = array( 'proxies.dnsbl.sorbs.net.', 'opm.tornevall.org.', 'xbl.spamhaus.org.', 'dnsbl-3.uceprotect.net.' );
+
+#Require validated email to edit
+$wgEmailConfirmToEdit = true;
+
+# Extend autoblock period
+$wgAutoblockExpiry = 7776000; // 90 days
+
+# Spam filter regex
+$wgSpamRegex = '/\b(gmail|dell|asus|eps(o|0)n|br(o|0)ther|can(o|0)n|hp|k(o|0)dak|lexmark|mcafee|bitdefender|n(o|0)rt(o|0)n( 360)?|avira|kaspersky|avg|avast|micr(o|0)s(o|0)ft|(o|0)utl(o|0)(o|0)k|printer|netgear( r(o|0)uter)?|quickb(o|0)(o|0)ks( payr(o|0)ll)?)( antivirus)?( helpline| cust(o|0)mer|( technical| tech)| cust(o|0)mer service)? (supp(o|0)rt number|ph(o|0)ne number|supp(o|0)rt ph(o|0)ne number|care number|helpdesk number)\b/i';
+
+#Autopromote users to autoconfirmed
+$wgAutoConfirmAge = 345600; // 4 days
+$wgAutoConfirmCount = 10;
 
 #Disable Hit Counter for Performance
 $wgDisableCounters = TRUE;
@@ -267,11 +320,13 @@ $wgNamespacesToBeSearchedDefault[NS_LANG_NL] = TRUE;
 $wgNamespacesToBeSearchedDefault[NS_LANG_RU] = TRUE;
 $wgNamespacesToBeSearchedDefault[NS_LANG_JA] = TRUE;
 
+<% if @mediawiki[:site_notice] -%>
+$wgSiteNotice = "<%= @mediawiki[:site_notice] %>";
+<% end -%>
 <% if @mediawiki[:site_readonly] -%>
 $wgReadOnly = "<%= @mediawiki[:site_readonly] %>";
 <% end -%>
 
-<% Dir.glob("#{@mediawiki[:directory]}/LocalSettings.d/*.php") do |file| -%>
+<% Dir.glob("#{@directory}/LocalSettings.d/*.php") do |file| -%>
 <%= "require_once('#{file}');" %>
 <% end -%>
-