<?php

# task notes in a/web/pollwiki.task
# config
#   - http://www.mediawiki.org/wiki/Manual:Configuration_settings
#   - for all settings and defaults: includes/DefaultSettings.php
# patches, marked MCA in code:
#   - includes/MagicWord.php
#   - resources/jquery/jquery.client.js
#   - per extensions/MailishUsername: includes/specials/Special:UserLogin.php
#   - extension patches (bottom)

    require_once "$IP/LocalSettingsPrivate.php";


    $wgArticlePath = "/w/$1";  # virtual path for pretty URLs
      $wgUsePathInfo = true; # enable use of pretty URLs
        # defaults to true, but via an expensive calculation
        # http://www.mediawiki.org/wiki/Manual:$wgUsePathInfo
    $wgCookieDomain = '.reluk.ca';
      # only set on obsidian.  Exposes authentication state across all local hosts for
      # login persistence across host aliases reluk.ca, obsidian.reluk.ca, etc.
    $wgCookieHttpOnly = false; # false required for votorola.a.web.wic.authen.WikiAuthenticator
    $wgCookiePrefix = 'pollwiki';
      # set to 'pollwiki' for obsidian, 'hostwiki' for others to prevent them colliding
      # with obsidian's broad $wgCookieDomain
  # $wgDefaultSkin = 'monobook'; # default value is vector in 1.17+, monobook previously
    $wgDiff3 = '/usr/bin/diff3';
  # $wgEmailAuthentication = true; # default is true
    $wgEnableEmail = true;
    $wgEnableUserEmail = true; # also a user preference option
    $wgEnotifUserTalk = true; # also a user preference option
    $wgEnotifWatchlist = true; # also a user preference option (Thomas requested, email 2010.7.23)
    $wgExpensiveParserFunctionLimit = 200; # Stuff:Votorola/lo/f/W subpages use 123 (2012.4)
    $wgPasswordSender = 'mike@reluk.ca';
      $wgEmergencyContact = $wgPasswordSender; # obsolete but not deprecated, http://www.mediawiki.org/wiki/Manual:$wgEmergencyContact
    $wgPasswordAttemptThrottle = false; # temporary till s/wic/diff: vobot login throttling
    $wgRightsText = 'public domain'; # see also $wgRightsIcon
    $wgRightsPage = 'Wiki:Copyrights'; # spec either this, or $wgRightsUrl
  # $wgRightsUrl = 'http://en.wikipedia.org/wiki/Public_domain';
    $wgScriptExtension  = '.php'; # to call api.php (instead of api.php5) set this to 'php', or access is forbidden by error ("API must be accessed through the primary script entry point")
    $wgScriptPath = '/mediawiki'; # path to the actual files
    $wgServer = 'http://reluk.ca';
    $wgSitename = 'Wiki'; # name of namespace 4 # defaults to 'MediaWiki', so merging with that namespace # 'Project' is the canonical name, and permanent alias


   # Database
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    $wgDBtype           = 'mysql';
    $wgDBserver         = 'localhost';
    $wgDBname           = 'wikidb';
    $wgDBuser           = 'wikiuser';


   # Debug
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  # $wgShowExceptionDetails = true;


   # Images
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    $wgEnableUploads = true; # if true, the 'images' directory must be writable

  # $wgAllowExternalImagesFrom = array( 'http://127.0.0.1/', 'http://reluk.ca' );
  ## later, if required by area admins
    $wgAllowExternalImages = true; # from all sources

      # External images can only be inserted "by sticking the full URL into the wiki text
      # (without any other surrounding markup)".  See also:
      # http://www.mediawiki.org/wiki/Manual:$wgAllowExternalImages


   # Localization
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    $wgLanguageCode = 'en'; # default language # only 'en' and 'en-gb' are supported, for English locales

      # Any change to a built-in MediaWiki:MESSAGE must be duplicated
      # to the other English locale: MediaWiki:MESSAGE/en-gb.  There
      # is no automatic fallback to the default $wgLanguageCode.
      # Exceptions are certain unlocalized messages, such as
      # MediaWiki:Sidebar.  It does not matter what $wgLanguageCode
      # you set initially, during install.  This is apparently normal
      # behaviour.
      # http://en.wikipedia.org/w/index.php?title=Wikipedia:Village_pump_(technical)/Archive_66&oldid=321432823#Revision_History_Search.3F

      # Yet 'en-gb' on MediaWiki's own site *does* appear to fall back
      # to 'en'.

    $wgShellLocale = 'en_US.utf8';
    $wgLocalInterwiki = $wgSitename;
    $wgLogo = 'http://reluk.ca/project/votorola/a/web/context/web/WC_WGLogo/image.png';
    $wgFavicon = 'http://reluk.ca/system/host/u/home/v/votorola/web/wiki/icon-chaos-favicon-16.png';
    $wgAllowUserCss = true;
    $wgAllowUserJs = true;

  # $wgLocaltimezone = 'EST+5EDT,M3.2.0/2,M11.1.0/2';
  #      # before 2007: EST+5EDT,M4.1.0/2,M10.5.0/2
  ## 1.16.1/PHP 5.3.5 says: Timezone ID 'EST+5EDT,M3.2.0/2,M11.1.0/2' is invalid
  # $wgLocaltimezone = 'America/Toronto';
  ## but that's already set in /etc/../php.ini
  # $oldtz = getenv('TZ');
  # putenv("TZ=$wgLocaltimezone");
  # # Versions before 1.7.0 used $wgLocalTZoffset as hours.
  # # After 1.7.0 offset as minutes
  # $wgLocalTZoffset = date('Z') / 60;
  # putenv("TZ=$oldtz");
  ## not sure what intent of all that is, or whether it'll still work with 'America/Toronto' ?

    $wgGroupPermissions['translator']['editinterface'] = true;
    # also want 'refresh' tab for cache purge, but that requires permission 'delete' http://smwforum.ontoprise.com/smwboard/viewtopic.php?f=23&t=275


   # Namespacing.
   # /var/www/localhost/htdocs/mediawiki/includes/Namespace.php
   # http://www.mediawiki.org/wiki/Manual:Using_custom_namespaces
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    $wgNamespacesWithSubpages[NS_MAIN] = true; # true for all normal content pages, to be consistent
  # $wgNamespacesWithSubpages[NS_FILE] = true;
  ## files cannot have slashes, else "The target file name is invalid"
    $wgNamespacesWithSubpages[NS_HELP] = true;
    $wgNamespacesWithSubpages[NS_PROJECT] = true;
    $wgNamespacesWithSubpages[NS_TEMPLATE] = true;

    define( 'NS_STUFF', 560 ); $wgExtraNamespaces[NS_STUFF] = "Stuff";
    define( 'NS_STUFF_TALK', 561 ); $wgExtraNamespaces[NS_STUFF_TALK] = "Stuff_talk";
    $wgNamespacesWithSubpages[NS_STUFF] = true;
    $wgNamespacesWithSubpages[NS_STUFF_TALK] = true; # as for all talk namespaces"


   # Spam protections.
   #
   # - http://www.mediawiki.org/wiki/Manual:User_rights
   # - $wgGroupPermissions
   #    - http://www.mediawiki.org/wiki/Manual:$wgGroupPermissions
   #    - defaults defined in /var/www/localhost/htdocs/mediawiki/includes/DefaultSettings.php
   # - runtime rights: http://havoc.reluk.ca/w/Special:ListGroupRights
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    $wgNoFollowLinks = false; # don't add rel='nofollow' to links, we intend to have no spam
      # http://www.mediawiki.org/wiki/Manual:$wgNoFollowLinks
      # http://www.mediawiki.org/wiki/Manual:$wgNoFollowNsExceptions
  ##### otherwise uncomment these exceptions:
  # $wgNoFollowNsExceptions = array(
  #   NS_STUFF,
  #
  #  # includes/Defines.php, $wgCanonicalNamespaceNames
  #  # - - -
  #   NS_CATEGORY,
  #   NS_HELP,
  #   NS_IMAGE,
  #   NS_MAIN,
  #   NS_PROJECT,
  #   NS_TEMPLATE,
  #
  #  # extensions/SemanticMediaWiki/includes/SMW_Setup.php, smwfInitNamespaces()
  #  # - - -
  #   SMW_NS_PROPERTY,
  # # SMW_NS_TYPE,
  # ## To be abolished in 1.6.0. http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/SemanticMediaWiki/RELEASE-NOTES?view=markup&pathrev=88567
  #   SMW_NS_CONCEPT,
  # );

  ## (A.1) captcha: uncomment ConfirmEdit extension at bottom
      # reasons go here on obsidian:

  ## (A.3) captcha: set ConfirmEdit $wgCaptchaTriggers['create'] = true
      # reasons go here on obsidian:

  ## (A.4) captcha: set ConfirmEdit $wgCaptchaTriggers['edit'] = true
      # reasons go here on obsidian:

  ## (A.5) close API to anonymous, unregistered users
    $wgGroupPermissions['*']['writeapi'] = false;
      # reasons go here on obsidian:

  ## (A.6) no page creation by anonymous, unregistered users
    $wgGroupPermissions['*']['createpage'] = false;
    $wgGroupPermissions['*']['createtalk'] = false;
      # reasons go here on obsidian:

  ## (A.7) close API to ordinary users, leave open for registered bots
    $wgGroupPermissions['user']['writeapi'] = false;
      # reasons go here on obsidian:

  ## (A.8) no editing by anonymous, unregistered users
    $wgGroupPermissions['*']['edit'] = false;
      # reasons go here on obsidian:

  ## (A.9) no editing by unconfirmed email addresses
    $wgEmailConfirmToEdit = true;
      # reasons go here on obsidian:

  ## (B.1) SpamBlacklist: uncomment extension at bottom
      # reasons go here on obsidian:

  ## (B.2) no registration of new users
    $wgGroupPermissions['*']['createaccount'] = false;
      # reasons go here on obsidian:

  ## (B.3) no editing by ordinary users
    $wgGroupPermissions['*']['createaccount'] = false;
    $wgGroupPermissions['user']['edit'] = false;
    $wgGroupPermissions['bot']['edit'] = true;
    $wgGroupPermissions['sysop']['edit'] = true;
      # reasons go here on obsidian: wiki no longer in active use
  ######################################################################## ^^^ CURRENT ^^^

  ## (C) no access by public, per /etc/apache2/modules.d/90_mediawiki.conf
      # reasons go here on obsidian:


   # Speed optimizations
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   # http://www.mediawiki.org/wiki/Manual:Performance_tuning
   # http://www.mediawiki.org/wiki/User:Aaron_Schulz/How_to_make_MediaWiki_fast

    $wgDisableCounters = true;
  # $wgMiserMode = true; # requires cron jobs
    $wgShowIPinHeader = false;

  # $wgCacheEpoch = max( $wgCacheEpoch, gmdate( 'YmdHis', @filemtime( __FILE__ ))); # clear cached pages when this config file changed
  ## not needed as of 1.17, $wgInvalidateCacheOnLocalSettingsChange (default true) does this
  # $wgInvalidateCacheOnLocalSettingsChange = false; # save LocalSettings modtime check

  # $wgUseGzip = true; # garbled binary in browser
  # $wgCompressRevisions = true; # Died half way thru attempt to save initial edit with (PHP Warning: gzinflate() [<a href='function.gzinflate'>function.gzinflate</a>]: data error in /var/www/localhost/htdocs/mediawiki/includes/Revision.php on line 65). Then could no longer edit, got error message.  Had to use maintenace/nukePage.php.
  ## hard to back out of, test carefully on a single unimportant page before exposing generally

   # cache
   # ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `
   # - http://www.mediawiki.org/wiki/Manual:Cache
   # - http://meta.wikimedia.org/wiki/MediaWiki_FAQ see 'purge'
   #   for programmatic clearing of cache
   # - http://www.mediawiki.org/wiki/Extension:Semantic_Calendar#The_caching_issue
   # - http://www.mediawiki.org/wiki/Extension:MagicNoCache
   #
    $wgEnableSidebarCache = true;
  # $wgLocalMessageCache = "$IP/cache/message";
  # $wgRevisionCacheExpiry = 3*24*3600; # default 0 = disabled

    $wgMemCachedServers = array();

  # $wgMainCacheType = CACHE_ACCEL; # general objects, default CACHE_NONE

  # $wgMessageCacheType = CACHE_NONE; # messages, default CACHE_ANYTHING
  # $wgMessageCacheType = CACHE_ACCEL;

  # $wgParserCacheType = CACHE_ACCEL; # parser objects, default CACHE_ANYTHING
  ### workaround for https://bugzilla.wikimedia.org/show_bug.cgi?id=38809 :
  # $wgParserCacheType = CACHE_NONE;

  # $wgParserCacheExpireTime = 1*3600; # default 24 hours (24*3600)
  ### or disable it, so semantic queries {{#ask/show}} always reflect latest property changes:
  # $wgParserCacheType = CACHE_NONE;
        # - http://meta.wikimedia.org/wiki/Help:Preferences#Misc_settings
        #   'Disable page caching' is not working for semantic properties
        #   (parser cache), at least not on referata.com

   # cache, file
   # ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `
  # $wgUseFileCache = true;
  # $wgFileCacheDirectory = "$IP/cache/file";


   # Titling
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    $wgRestrictDisplayTitle = false;
      # Allow any title with {{DISPLAYTITLE:NEW TITLE}}, even if it does not map to the
      # URL-based title.



##### E x t e n s i o n s ################################################################

   # If there is no proper download link for an extension, then look here:
   # http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/FOO/RELEASE-NOTES
   # Then set 'pathrev' below and download the files individually:
   # http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/FOO/?pathrev=REV


   # http://www.mediawiki.org/wiki/Extension:BoilerplateSelection
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  # require_once "$IP/extensions/Boilerplateselection.php";
  #   # Patched where marked MCA.  This old extension clobbers the 'preload' parameter.
  #   # http://www.mediawiki.org/wiki/Manual:Creating_pages_with_preloaded_text
  #   #
  #   # At some point we'll have to either:
  #   # - fix it
  #   # - replace it with a better preload extension,
  #   #     | http://www.mediawiki.org/wiki/Extension:BoilerRoom
  #   #     | http://www.mediawiki.org/wiki/Extension:Preloader
  #   # - replace it with MyDraft
  #   #     - http://reluk.ca/project/votorola/_/javadoc/votorola/a/position/WP_MyDraft.html
  #   #     - it can test for the existence of the draft and, if the user chooses,
  #   #       generate the appropriate 'preload' parameter
  #   #     - drawback: it might be bypassed, as it isn't a catch-all solution
  #   #       like the built-in preloaders
  #
  # global $wgBoilerPlateAry;
  #   # Matches against page title without namespace, per {{PAGENAME}}.  So it is
  #   # currently patched, restricting it to the User namespace.
  #
  # $wgBoilerPlateAry = array(
  # # '!^[^/]+[ _\-][^/.]+[A-Z][^/.]*/[^a-z].*/[A-Za-z_][A-Za-z0-9_.\-]*$!' => 'New_position_preload',
  # ## wrong                                  ^^^^^^^^^ this can be numeric, or any legal character (only first character is restricted)
  #   '!^[^/]+[ _\-][^/.]+[A-Z][^/.]*/[^a-z].*/[A-Za-z0-9_.\-]+$!' => 'New_position_preload',
  #   #  Mike    -  Zelea    C  om   / Tor/p  / grfin
  #   #           USERNAME           / AREA * / LAST OF POLL NAME
  #   # This will also work (as is) a single-area pollwiki, provided all poll pages are
  #   # subpages.  Otherwise, it may be modified.
  #
  #   '!^[^/]+[ _\-][^/.]+[A-Z][^/.]*$!' => 'New_user_preload' );
  #   #  Mike    -  Zelea    C  om
  #
  #   # An alternative to this extension might be to test if the position page exists and
  #   # then, if not, link to it using the standard MediaWiki 'preload' parameter.  But
  #   # this would require that the page existence tests of the ParserFunctions extension
  #   # work on Special:MyPage subpages, which they do not.
  #
  ## too troublesome, it preloads during edit "Show changes" (19.2).  archived in ._/


   # http://www.mediawiki.org/wiki/Extension:Cite/Cite.php  v.ba162a9
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    require_once "$IP/extensions/Cite/Cite.php";
      # extensions/Cite/Cite_body.php patched where marked MCA
      #
      # <ref> tags cannot be placed in parser functions ('if' etc), nor can parser
      # functions or template parameters be placed in <ref> tags (~2009 version).


   # http://www.mediawiki.org/wiki/Extension:ConfirmEdit  (bundled w/ 1.18+)
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    require_once "$IP/extensions/ConfirmEdit/ConfirmEdit.php";

    # defined in ConfirmEdit.php:
    $wgGroupPermissions['*'            ]['skipcaptcha'] = false; # the no-group
    $wgGroupPermissions['user'         ]['skipcaptcha'] = true;
    $wgGroupPermissions['autoconfirmed']['skipcaptcha'] = false; # that would be everyone, new users are currently autoconfirmed immediately
    $wgGroupPermissions['bot'          ]['skipcaptcha'] = true; # registered bots
    $wgGroupPermissions['sysop'        ]['skipcaptcha'] = true;
    $wgGroupPermissions['bureaucrat'   ]['skipcaptcha'] = true;

    $wgCaptchaTriggers['edit'] = true; # on edit
    $wgCaptchaTriggers['create'] = true; # on page creation
    $wgCaptchaTriggers['addurl'] = true;  # on edits that add an external URL
    $wgCaptchaTriggers['createaccount'] = true; # on Special:Userlogin&type=signup
    $wgCaptchaTriggers['badlogin'] = true; # on Special:Userlogin after failure

    require_once "$IP/extensions/ConfirmEdit/QuestyCaptcha.php";
    $wgCaptchaClass = 'QuestyCaptcha';


   # http://www.mediawiki.org/wiki/Extension:CSS  v. 4a8e9a5
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    require_once "$IP/extensions/CSS/CSS.php";


   # http://www.mediawiki.org/wiki/Extension:Gadgets  (bundled w/ ?1.18+)
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    require_once "$IP/extensions/Gadgets/Gadgets.php";


   # http://www.mediawiki.org/wiki/Extension:ImageMap  v.53c3289
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    require_once "$IP/extensions/ImageMap/ImageMap.php";


   # http://www.mediawiki.org/wiki/Extension:MagicNoCache v.1.2.1
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    require_once "$IP/extensions/MagicNoCache/MagicNoCache.php";


   # http://reluk.ca/project/MailishUsername/
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    require_once "$IP/extensions/MailishUsername/Extension.php";


   # http://www.mediawiki.org/wiki/Extension:ParserFunctions  (bundled w/ 1.18+)
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    require_once "$IP/extensions/ParserFunctions/ParserFunctions.php";
      # PHP must be compiled with 'ctype' else functions 'expr' and 'ifexpr' may fail with
      # "Call to undefined function ctype_alpha()".


   # http://www.mediawiki.org/wiki/Extension:RegexFunctions  v.9e2b7ee
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    require_once "$IP/extensions/RegexFunctions/RegexFunctions.php";
    $wgRegexFunctionsPerPage = 50; # was getting failures at default (10)


   # http://www.mediawiki.org/wiki/Extension:Renameuser v.b7b5c2a
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    require_once "$IP/extensions/Renameuser/SpecialRenameuser.php";


   # http://www.mediawiki.org/wiki/Extension:Replace_Text  v.g64f54a
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    require_once "$IP/extensions/ReplaceText/ReplaceText.php";
    $wgGroupPermissions['sysop']['replacetext'] = true;


   # https://www.mediawiki.org/wiki/Extension:Scribunto  v.b5015a2
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   # WikiMedia has taken this path for their string functions, so I follow them.
   # https://bugzilla.wikimedia.org/show_bug.cgi?id=6455
   # https://bugzilla.wikimedia.org/show_bug.cgi?id=26092
   #
    require_once "$IP/extensions/Scribunto/Scribunto.php";
    $wgScribuntoDefaultEngine = 'luastandalone'; # OPT speed by using sandbox instead
  # $wgScribuntoEngineConf['luastandalone']['errorFile'] = '/var/log/MediaWiki-Scribunto.txt';
  ### too noisy, at least in script debug console; uncomment when troubleshooting installation
  # $wgScribuntoEngineConf['luastandalone']['luaPath'] = "$IP/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua";
  ### that seems to be the default


   # http://semantic-mediawiki.org/  v.1.8.0.5
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

       # http://www.mediawiki.org/wiki/Extension:Validator  (bundled with Semantic MediaWiki)
       # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        require_once "$IP/extensions/Validator/Validator.php";


    include_once "$IP/extensions/SemanticMediaWiki/SemanticMediaWiki.php";
      # extensions/SemanticMediaWiki/includes/storage/SQLStore/SMW_SQLStore3_Writers.php
      # patched where marked MCA
    enableSemantics( 'reluk.ca' );
  # $smwgPDefaultType = '_txt'; # instead of factory default '_wpg', meaning 'page'
  ## wanted ad hoc (pageless) properties to appear as text, but queries fail silently
  # $smwgQEnabled = false; # the default value is true
      # temporarily set to false when an SMW bug prevents a maintenance script from running
      # http://wikimedia.7.x6.nabble.com/Embedding-an-ask-query-td563478.html
    $smwgQMaxSize = 14; # 12 is default | 14 for Stuff:Designs for broad-based decision guidance
  # $smwgShowFactbox = SMW_FACTBOX_NONEMPTY;
  ### unreliable owing to bug: https://bugzilla.wikimedia.org/show_bug.cgi?id=38809
  ### and this is nuisance: /home/vdev/votorola/web/wiki/._/factboxPopper/pollwiki.js
    $smwgShowFactboxEdit = SMW_FACTBOX_NONEMPTY;
    $smwStrictComparators = true;
    $smwgNamespacesWithSemanticLinks = array
    (
        NS_MAIN => true,
        NS_TALK => false,
        NS_USER => true,
        NS_USER_TALK => false,
        NS_PROJECT => true,
        NS_PROJECT_TALK => false,
        NS_IMAGE => true,
        NS_IMAGE_TALK => false,
        NS_MEDIAWIKI => false,
        NS_MEDIAWIKI_TALK => false,
        NS_TEMPLATE => false,
        NS_TEMPLATE_TALK => false,
        NS_HELP => true,
        NS_HELP_TALK => false,
        NS_CATEGORY => true,
        NS_CATEGORY_TALK => false,
        SMW_NS_PROPERTY  => true,
        SMW_NS_PROPERTY_TALK  => false,
        SMW_NS_TYPE => true,
        SMW_NS_TYPE_TALK => false,
        SMW_NS_CONCEPT => true,
        SMW_NS_CONCEPT_TALK => false,

        NS_STUFF => true,
        NS_STUFF_TALK => false,
    );


   # http://www.mediawiki.org/wiki/Extension:SimpleAntiSpam  (removed)
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  # require_once "$IP/extensions/SimpleAntiSpam/SimpleAntiSpam.php";


   # http://www.mediawiki.org/wiki/Extension:SpamBlacklist  (removed)
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   # See "spam protections" above. List is MediaWiki:Spam-blacklist;
   # may use blanket '.' rule (top) to disallow all external URLs period.
  # require_once "$IP/extensions/SpamBlacklist/SpamBlacklist.php";
  # $wgSpamBlacklistFiles = array
  # (
  #  # 'http://havoc.reluk.ca/w/MediaWiki:Spam-blacklist',      # local (implicit)
  #    'http://en.wikipedia.org/wiki/MediaWiki:Spam-blacklist',  # well maintained list
  #    'http://meta.wikimedia.org/wiki/Spam_blacklist',          # default list
  #  # 'http://metagovernment.org/wiki/MediaWiki:Spam-blacklist' # neighbouring wiki
  #  ### has temporarily disallowed all external URLs
  # );


   # http://www.mediawiki.org/wiki/Extension:TitleBlacklist  (removed)
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  # require_once "$IP/extensions/TitleBlacklist/TitleBlacklist.php";
  # $wgTitleBlacklistSources = array
  # (
  #     array
  #     (
  #         'type' => TBLSRC_LOCALPAGE,
  #         'src'  => 'MediaWiki:Titleblacklist'
  #     ),
  # );
  ## was testing for Metagov


   # http://www.mediawiki.org/wiki/Extension:User_Merge_and_Delete  v.3db22fd
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    require_once "$IP/extensions/UserMerge/UserMerge.php";
    $wgGroupPermissions['bureaucrat']['usermerge'] = true;


   # http://www.mediawiki.org/wiki/Extension:VariablesExtension  v.8a5e73f
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    require_once "$IP/extensions/Variables/Variables.php";


##########################################################################################


    require_once "$IP/LocalSettingsPrivate2.php";