<?php
error_reporting(E_ALL); // Debug

# This file was automatically generated by the MediaWiki installer.
# If you make manual changes, please keep track in case you need to
# recreate them later.
#
# See includes/DefaultSettings.php for all configurable settings
# and their default values, but don't forget to make changes in _this_
# file, not there.
#
# Further documentation for configuration settings may be found at:
# http://www.mediawiki.org/wiki/Manual:Configuration_settings

define("MW_INSTALL_PATH", "/application/w");

# If you customize your file layout, set $IP to the directory that contains
# the other MediaWiki files. It will be used as a base to locate files.
if( defined( 'MW_INSTALL_PATH' ) ) {
	$IP = MW_INSTALL_PATH;
} else {
	$IP = dirname( $_SERVER['SCRIPT_FILENAME'] );
}

$path = array( $IP, "$IP/includes", "$IP/languages" );
set_include_path( implode( PATH_SEPARATOR, $path ) . PATH_SEPARATOR . get_include_path() );

require_once( "$IP/includes/DefaultSettings.php" );

$wgDebugLogFile = "/tmp/mwdebug.log";

if ( $wgCommandLineMode ) {
	if ( isset( $_SERVER ) && array_key_exists( 'REQUEST_METHOD', $_SERVER ) ) {
		die( "This script must be run from the command line\n" );
	}
}
## Uncomment this to disable output compression
# $wgDisableOutputCompression = true;

$wgSitename         = "Glitch City Laboratories";

$wikiURLParsed = parse_url(getenv('GCL_WIKI_URL') ?: "http://glitchcity.info/wiki");
$wgServer = "//" . $wikiURLParsed['host'];
if (isset($wikiURLParsed['port']))
{
    $wgServer .= ":" . $wikiURLParsed['port'];
}

## 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 please see:
## http://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath       = "/w";
$wgArticlePath      = "/wiki/$1";
$wgScriptExtension  = ".php";

## The relative URL path to the skins directory
$wgStylePath        = "$wgScriptPath/skins";

## The relative URL path to the logo.  Make sure you change this from the default,
## or else you'll overwrite your logo when you upgrade!
$wgLogo             = "$wgStylePath/common/images/wiki.png";

## UPO means: this is also a user preference option

$wgEnableEmail      = true;
$wgEnableUserEmail  = true; # UPO

$wgEmergencyContact = "webmaster@localhost";
$wgPasswordSender = "webmaster@localhost";

$wgEnotifUserTalk = true; # UPO
$wgEnotifWatchlist = true; # UPO
$wgEmailAuthentication = true;

## Database settings
$wgDBtype           = getenv('GCL_DB_TYPE') ?: "mysql";
$wgDBserver         = getenv('GCL_DB_HOST') ?: "localhost";
$wgDBname           = getenv('GCL_DB_NAME') ?: "glitchcity";
$wgDBuser           = getenv('GCL_DB_USER') ?: "glitchcity";
$wgDBpassword       = getenv('GCL_DB_PASSWORD');

# MySQL specific settings
$wgDBprefix         = getenv('GCL_DB_MW_PREFIX') ?: "mw_";

# MySQL table options to use during installation or update
$wgDBTableOptions   = "ENGINE=InnoDB, DEFAULT CHARSET=binary";

# Experimental charset support for MySQL 4.1/5.0.
$wgDBmysql5 = true;

## Shared memory settings
$wgMainCacheType = CACHE_MEMCACHED;
$wgMemCachedServers = array (
  0 => (getenv('GCL_MEMCACHED_HOST') ?: "localhost") . ':11211',
);

## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads       = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";

## If you use ImageMagick (or any other shell command) on a
## Linux server, this will need to be set to the name of an
## available UTF-8 locale
$wgShellLocale = "en_US.utf8";

## If you want to use image uploads under safe mode,
## create the directories images/archive, images/thumb and
## images/temp, and make them all writable. Then uncomment
## this, if it's not already uncommented:
# $wgHashedUploadDirectory = false;

## If you have the appropriate support software installed
## you can enable inline LaTeX equations:
$wgUseTeX           = false;

## Set $wgCacheDirectory to a writable directory on the web server
## to make your wiki go slightly faster. The directory should not
## be publically accessible from the web.
#$wgCacheDirectory = "$IP/cache";

$wgLocalInterwiki   = strtolower( $wgSitename );

$wgLanguageCode = "en";

$wgSecretKey = "15ca1701d1df9129320c037cc200e3fa8652ab4b255403eb276742d8b6a47398";

## Default skin: you can change the default skin. Use the internal symbolic
## names, ie 'vector', 'monobook':
$wgDefaultSkin = 'gcl3';

## 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.
# $wgEnableCreativeCommonsRdf = true;
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
$wgRightsUrl = "";
$wgRightsText = "";
$wgRightsIcon = "";
# $wgRightsCode = ""; # Not yet used

$wgDiff3 = "/usr/bin/diff3";

# When you make changes to this configuration file, this will make
# sure that cached pages are cleared.
$wgCacheEpoch = max( $wgCacheEpoch, gmdate( 'YmdHis', @filemtime( __FILE__ ) ) );

include_once('extensions/FlaggedRevs/FlaggedRevs.php');

$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['QC'] = array_merge($wgGroupPermissions['editor'],$wgGroupPermissions['reviewer']);
$wgGroupPermissions['sysop'] = array_merge($wgGroupPermissions['sysop'],$wgGroupPermissions['QC']);
$wgGroupPermissions['QC']['feedback'] = true;
$wgGroupPermissions['sysop']['feedback'] = true;
unset($wgGroupPermissions['reviewer']);
unset($wgGroupPermissions['editor']);

// FR settings
$wgFlaggedRevTabs = true;
$wgFlaggedRevsAutoReview = true;
$wgFlaggedRevsVisible = array('*');
$wgAddGroups['sysop'] = array( 'QC' );
$wgRemoveGroups['sysop'] = array( 'QC' );
$wgFlaggedRevsOverride = true;
$wgFlaggedRevsExceptions = array( 'sysop', 'QC' );
$wgFlaggedRevsAutoReviewNew = true;
$wgUseStableTemplates = true;

require_once("$IP/extensions/BBCodeSyntax/BBCodeSyntax.php");

// 5 August 2016: This extension is causing issues with certain characters in
// page titles e.g. accents. See https://www.mediawiki.org/wiki/Topic:T6thcdtfz8k4f1mw
//require_once( "{$IP}/extensions/Contributors/Contributors.php" );

// disable creating account from the wiki
$wgGroupPermissions['*']['createaccount'] = false;

require_once('extensions/Interwiki/Interwiki.php');
$wgGroupPermissions['*']['interwiki'] = false;
$wgGroupPermissions['sysop']['interwiki'] = true;

$wgDBsqluser = "root";
$wgDBsqlpassword = "";
//$wgGroupPermissions['oversight']['asksql'] = true;
//require_once('extensions/Asksql/Asksql.php');

$wgGroupPermissions['oversight']['oversight'] = true;
$wgGroupPermissions['oversight']['hiderevision'] = true;
$wgGroupPermissions['oversight']['unhiderevision'] = true;

$wgAddGroups['bureaucrat'] = array( 'bureaucrat', 'sysop', 'QC' );
$wgRemoveGroups['bureaucrat'] = array( 'bureaucrat', 'sysop', 'QC' );
$wgAddGroups['oversight'] = array( 'oversight', 'bureaucrat', 'sysop', 'QC' );
$wgRemoveGroups['oversight'] = array( 'oversight', 'bureaucrat', 'sysop', 'QC' );

wfLoadExtension("CheckUser");
$wgGroupPermissions['sysop']['checkuser'] = true;
$wgGroupPermissions['sysop']['checkuser-log'] = true;

wfLoadExtension("Renameuser");
wfLoadExtension("GCLParserFunctions");
wfLoadExtension("Nuke");

$wgShowExceptionDetails = true;

$wgUseFileCache = false;

$wgShowIPinHeader = false;

$wgExternalLinkTarget = '_blank';

$wgUpgradeKey = 'ce338679bb42ab00';

wfLoadSkin("Vector");
wfLoadSkin("MonoBook");
wfLoadSkin("GCL3");

$wgCachePages = false;

wfLoadExtension("Auth_remoteuser");
$wgGroupPermissions['*']['autocreateaccount'] = true;

# Disable MediaWiki's PHP session handling since it conflicts with SMF's
$wgPHPSessionHandling = "disable";

# This requires the link to SMF API.
$wgSMFPathAPI= "/application/forums/smf_api.php";  # The smf_api.php file can be download from SMF website and must be placed in rootdir of your forum)
$wgSMFPathSSI= "/application/forums/SSI.php";      # The SSI.php file (watch capitals!) (normally in your rootdir of your forum)
$wgSMFPath = "/application/forums";
$wgSMFURL = getenv("GCL_FORUMS_URL") ?: "https://forums.glitchcity.info";

require_once("{$IP}/extensions/Auth_SMF.php");
//$wgAuthRemoteuserUserName = "Abwayax";
