]> git.openstreetmap.org Git - chef.git/commitdiff
Merge remote-tracking branch 'tigerfell/pr257'
authorGrant Slater <git@firefishy.com>
Tue, 2 Aug 2022 20:42:54 +0000 (23:42 +0300)
committerGrant Slater <git@firefishy.com>
Tue, 2 Aug 2022 20:42:54 +0000 (23:42 +0300)
1  2 
cookbooks/mediawiki/templates/default/LocalSettings.php.erb
cookbooks/wiki/recipes/default.rb

index a25c6037792ad639357a626b84c63ad0e0009763,035ae0acc3e70311392f01f4f32b1341aa3045af..dff320d56a2407f49ff3083bacaf2ec3f02b0267
@@@ -89,13 -89,13 +89,13 @@@ $wgMaxShellTime = 360
  $wgMaxShellWallClockTime = 360;
  
  # Allow some more upload extensions
 -$wgFileExtensions[] = 'doc';
  $wgFileExtensions[] = 'pdf';
  $wgFileExtensions[] = 'odt';
  $wgFileExtensions[] = 'odp';
  $wgFileExtensions[] = 'ods';
  $wgFileExtensions[] = 'svg';
  $wgFileExtensions[] = 'osm';
 +$wgFileExtensions[] = 'odg';
  <% @mediawiki[:extra_file_extensions].each do |mw_extra_file_extension| -%>
        $wgFileExtensions[] = '<%= mw_extra_file_extension %>';
  <% end -%>
@@@ -112,20 -112,11 +112,20 @@@ $wgSVGConverters = array( 'rsvg' => '/u
  $wgSVGConverter = 'rsvg';
  $wgSVGMaxSize = 2000;
  
 -# InstantCommons allows wiki to use images from https://commons.wikimedia.org
  <% if @mediawiki[:commons] -%>
 -$wgUseInstantCommons  = true;
 -<% else -%>
 -$wgUseInstantCommons  = false;
 +# Enable use of images from https://commons.wikimedia.org
 +$wgForeignFileRepos[] = [
 +  'class' => ForeignAPIRepo::class,
 +  'name' => 'wikimediacommons',
 +  'apibase' => 'https://commons.wikimedia.org/w/api.php',
 +  'url' => 'https://upload.wikimedia.org/wikipedia/commons',
 +  'thumbUrl' => 'https://upload.wikimedia.org/wikipedia/commons/thumb',
 +  'hashLevels' => 2,
 +  'transformVia404' => true,
 +  'fetchDescription' => true,
 +  'descriptionCacheExpiry' => 604800,
 +  'apiThumbCacheExpiry' => 604800,
 +];
  <% end -%>
  
  ## If you use ImageMagick (or any other shell command) on a
@@@ -186,6 -177,16 +186,6 @@@ $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;
@@@ -214,8 -215,8 +214,8 @@@ $wgGroupPermissions['sysop']['gadgets-d
  $wgGroupPermissions['*']['createaccount'] = false;
  $wgGroupPermissions['user']['createaccount'] = true;
  <% end -%>
 -<% if @mediawiki[:private_site] -%>
  
 +<% if @mediawiki[:private_site] -%>
  # Disable reading by anonymous users
  $wgGroupPermissions['*']['read'] = false;
  
@@@ -242,6 -243,13 +242,6 @@@ $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;
  # Disable IP in Header to avoid cache issue
@@@ -258,87 -266,10 +258,10 @@@ $wgAllowExternalImagesFrom = array( 'ht
  
  $wgNoFollowDomainExceptions = array( 'www.openstreetmap.org', 'josm.openstreetmap.de', 'taginfo.openstreetmap.org', 'blog.openstreetmap.org', 'wiki.osmfoundation.org' );
  
- # FIXME - move to specific
- # defines which links of the sidebar are translatable
- $wgForceUIMsgAsContentMsg = array( 'mainpage-url', 'mapfeatures-url', 'contributors-url', 'helppage', 'blogs-url', 'shop-url', 'sitesupport-url' );
  # FIXME - move to specific
  $wgAllowUserJs = TRUE;
  $wgAllowUserCss = TRUE;
  
- # FIXME - move to specific
- # DE
- define('NS_LANG_DE', 200);
- $wgExtraNamespaces[NS_LANG_DE] = 'DE';
- $wgNamespacesWithSubpages[NS_LANG_DE] = TRUE;
- $wgContentNamespaces[] = NS_LANG_DE;
- define('NS_LANG_DE_TALK', 201);
- $wgExtraNamespaces[NS_LANG_DE_TALK] = 'DE_talk';
- $wgNamespacesWithSubpages[NS_LANG_DE_TALK] = TRUE;
- # FR
- define('NS_LANG_FR', 202);
- $wgExtraNamespaces[NS_LANG_FR] = 'FR';
- $wgNamespacesWithSubpages[NS_LANG_FR] = TRUE;
- $wgContentNamespaces[] = NS_LANG_FR;
- define('NS_LANG_FR_TALK', 203);
- $wgExtraNamespaces[NS_LANG_FR_TALK] = 'FR_talk';
- $wgNamespacesWithSubpages[NS_LANG_FR_TALK] = TRUE;
- # ES
- define('NS_LANG_ES', 204);
- $wgExtraNamespaces[NS_LANG_ES] = 'ES';
- $wgNamespacesWithSubpages[NS_LANG_ES] = TRUE;
- $wgContentNamespaces[] = NS_LANG_ES;
- define('NS_LANG_ES_TALK', 205);
- $wgExtraNamespaces[NS_LANG_ES_TALK] = 'ES_talk';
- $wgNamespacesWithSubpages[NS_LANG_ES_TALK] = TRUE;
- # IT
- define('NS_LANG_IT', 206);
- $wgExtraNamespaces[NS_LANG_IT] = 'IT';
- $wgNamespacesWithSubpages[NS_LANG_IT] = TRUE;
- $wgContentNamespaces[] = NS_LANG_IT;
- define('NS_LANG_IT_TALK', 207);
- $wgExtraNamespaces[NS_LANG_IT_TALK] = 'IT_talk';
- $wgNamespacesWithSubpages[NS_LANG_IT_TALK] = TRUE;
- # NL
- define('NS_LANG_NL', 208);
- $wgExtraNamespaces[NS_LANG_NL] = 'NL';
- $wgNamespacesWithSubpages[NS_LANG_NL] = TRUE;
- $wgContentNamespaces[] = NS_LANG_NL;
- define('NS_LANG_NL_TALK', 209);
- $wgExtraNamespaces[NS_LANG_NL_TALK] = 'NL_talk';
- $wgNamespacesWithSubpages[NS_LANG_NL_TALK] = TRUE;
- # RU
- define('NS_LANG_RU', 210);
- $wgExtraNamespaces[NS_LANG_RU] = 'RU';
- $wgNamespacesWithSubpages[NS_LANG_RU] = TRUE;
- $wgContentNamespaces[] = NS_LANG_RU;
- define('NS_LANG_RU_TALK', 211);
- $wgExtraNamespaces[NS_LANG_RU_TALK] = 'RU_talk';
- $wgNamespacesWithSubpages[NS_LANG_RU_TALK] = TRUE;
- # JA
- define('NS_LANG_JA', 212);
- $wgExtraNamespaces[NS_LANG_JA] = 'JA';
- $wgNamespacesWithSubpages[NS_LANG_JA] = TRUE;
- $wgContentNamespaces[] = NS_LANG_JA;
- define('NS_LANG_JA_TALK', 213);
- $wgExtraNamespaces[NS_LANG_JA_TALK] = 'JA_talk';
- $wgNamespacesWithSubpages[NS_LANG_JA_TALK] = TRUE;
- $wgNamespacesToBeSearchedDefault[NS_LANG_DE] = TRUE;
- $wgNamespacesToBeSearchedDefault[NS_LANG_FR] = TRUE;
- $wgNamespacesToBeSearchedDefault[NS_LANG_ES] = TRUE;
- $wgNamespacesToBeSearchedDefault[NS_LANG_IT] = TRUE;
- $wgNamespacesToBeSearchedDefault[NS_LANG_NL] = TRUE;
- $wgNamespacesToBeSearchedDefault[NS_LANG_RU] = TRUE;
- $wgNamespacesToBeSearchedDefault[NS_LANG_JA] = TRUE;
  # Raise expensive lua (and other function) call limits to match WP
  # Docs:  https://www.mediawiki.org/wiki/Manual:$wgExpensiveParserFunctionLimit
  # Wikipedia's Config:  https://noc.wikimedia.org/conf/highlight.php?file=CommonSettings.php
@@@ -352,41 -283,6 +275,41 @@@ $wgSiteNotice = "<%= @mediawiki[:site_n
  $wgReadOnly = "<%= @mediawiki[:site_readonly] %>";
  <% end -%>
  
 +# load extensions
  <% Dir.glob("#{@directory}/LocalSettings.d/*.php") do |file| -%>
  <%= "require_once('#{file}');" %>
  <% end -%>
 +
 +<% if not(@mediawiki[:private_accounts]) and not(@mediawiki[:private_site]) -%>
 +# require user confirmation for certain 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;
 +# Autopromote users to autoconfirmed
 +$wgAutoConfirmAge = 345600; // 4 days
 +$wgAutoConfirmCount = 10;
 +
 +# user group "confirmed" with identical rights as "autoconfirmed", but assigned manually by sysops
 +$wgGroupPermissions['confirmed'] = $wgGroupPermissions['autoconfirmed'];
 +$wgAddGroups['sysop'][] = 'confirmed';
 +$wgRemoveGroups['sysop'][] = 'confirmed';
 +<% end -%>
 +
 +<% if @mediawiki[:private_accounts] or @mediawiki[:private_site] -%>
 +# disable automatic confirmation of users, grant all "autoconfirmed" rights to all users
 +$wgAutoConfirmAge = 0;
 +$wgAutoConfirmCount = 0;
 +$wgGroupPermissions['user'] = array_merge( $wgGroupPermissions['user'], $wgGroupPermissions['autoconfirmed'] );
 +
 +unset( $wgGroupPermissions['autoconfirmed'] );
 +unset( $wgRevokePermissions['autoconfirmed'] );
 +unset( $wgAddGroups['autoconfirmed'] );
 +unset( $wgRemoveGroups['autoconfirmed'] );
 +unset( $wgGroupsAddToSelf['autoconfirmed'] );
 +unset( $wgGroupsRemoveFromSelf['autoconfirmed'] );
 +<% end -%>
index ef0d16b8b67d79330da40cea7e23d919595ca55b,04b7c74c6307ffc2fbd4f52b1291e2e8eaf0c28d..b99e9c3b5dc104d52fccafd550e7d7b108c11540
@@@ -53,13 -53,20 +53,20 @@@ mediawiki_site "wiki.openstreetmap.org
  
    metanamespace "Wiki"
  
 -  recaptcha_public_key "6LdFIQATAAAAAMwtHeI8KDgPqvRbXeNYSq1gujKz"
 -  recaptcha_private_key passwords["recaptcha"]
 +  hcaptcha_public_key "b67a410b-955e-4049-b432-f9c00e0202c0"
 +  hcaptcha_private_key passwords["hcaptcha"]
  
    # site_notice "MAINTENANCE: WIKI READ-ONLY UNTIL Monday 16 May 2016 - 11:00am UTC/GMT."
    # site_readonly "MAINTENANCE: WIKI READ-ONLY UNTIL Monday 16 May 2016 - 11:00am UTC/GMT."
  end
  
+ template "/srv/wiki.openstreetmap.org/00_before_extensions.php" do
+   source "before_extensions.php.erb"
+   owner node[:mediawiki][:user]
+   group node[:mediawiki][:group]
+   mode "600"
+ end
  mediawiki_extension "CodeEditor" do
    site "wiki.openstreetmap.org"
  end
@@@ -134,6 -141,13 +141,13 @@@ directory "/srv/wiki.openstreetmap.org/
    mode "0775"
  end
  
+ template "/srv/wiki.openstreetmap.org/99_after_extensions.php" do
+   source "after_extensions.php.erb"
+   owner node[:mediawiki][:user]
+   group node[:mediawiki][:group]
+   mode "600"
+ end
  cron_d "wiki-dump" do
    minute "0"
    hour "2"