aboutsummaryrefslogtreecommitdiffstats
path: root/modules/mediawiki/files/init_wiki.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules/mediawiki/files/init_wiki.php')
-rw-r--r--modules/mediawiki/files/init_wiki.php31
1 files changed, 31 insertions, 0 deletions
diff --git a/modules/mediawiki/files/init_wiki.php b/modules/mediawiki/files/init_wiki.php
new file mode 100644
index 00000000..da1d46f5
--- /dev/null
+++ b/modules/mediawiki/files/init_wiki.php
@@ -0,0 +1,31 @@
+<?
+$wiki_root = $argv[1];
+$mw_root = '/usr/share/mediawiki';
+
+if (!is_dir("$wiki_root/config")) {
+ exit(1);
+}
+
+// DefaultSettings.php complain if not defined
+define('MEDIAWIKI',1);
+
+require_once("$mw_root/includes/Defines.php");
+require_once("$mw_root/includes/AutoLoader.php");
+require_once("$mw_root/includes/GlobalFunctions.php");
+include("$wiki_root/LocalSettings.php");
+
+$dbclass = 'Database'.ucfirst($wgDBtype);
+$wgDatabase = new $dbclass($wgDBserver,
+ $wgDBuser,
+ $wgDBpassword, $wgDBname, 1);
+
+$wgDatabase->initial_setup($wgDBpassword, $wgDBname);
+$wgDatabase->setup_database();
+
+$dir = "$wiki_root/config";
+foreach (scandir($dir) as $item) {
+ if (!is_dir($item) || is_link($item))
+ unlink($item);
+}
+rmdir("$dir");
+?>