aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrion Vibber <brion@users.mediawiki.org>2004-10-24 22:20:52 +0000
committerBrion Vibber <brion@users.mediawiki.org>2004-10-24 22:20:52 +0000
commit7c08615a60ad907309d9e58635c203d239e5a970 (patch)
tree1ad82af3a38b0285c1ab6b9b17b1d6ab1c8defa8
parenta263b7c9f05cbee2e8e53df017eafe04a073314b (diff)
downloadmediawikicore-7c08615a60ad907309d9e58635c203d239e5a970.tar.gz
mediawikicore-7c08615a60ad907309d9e58635c203d239e5a970.zip
Install fixes for group table
Notes
Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/6072
-rw-r--r--config/index.php1
-rw-r--r--maintenance/archives/patch-userlevels.sql1
-rw-r--r--maintenance/tables.sql1
-rw-r--r--maintenance/updaters.inc20
4 files changed, 23 insertions, 0 deletions
diff --git a/config/index.php b/config/index.php
index c1b217c67108..63ba307ede0b 100644
--- a/config/index.php
+++ b/config/index.php
@@ -492,6 +492,7 @@ if( $conf->posted && ( 0 == count( $errs ) ) ) {
print "<li>Creating tables...";
dbsource( "../maintenance/tables.sql", $wgDatabase );
dbsource( "../maintenance/interwiki.sql", $wgDatabase );
+ dbsource( "../maintenance/archives/patch-userlevels-defaultgroups.sql", $wgDatabase );
print " done.</li>\n";
print "<li>Initializing data...";
diff --git a/maintenance/archives/patch-userlevels.sql b/maintenance/archives/patch-userlevels.sql
index af83fabb2f6b..ccaa2665e105 100644
--- a/maintenance/archives/patch-userlevels.sql
+++ b/maintenance/archives/patch-userlevels.sql
@@ -8,6 +8,7 @@ CREATE TABLE `group` (
group_id int(5) unsigned NOT NULL auto_increment,
group_name varchar(50) NOT NULL default '',
group_description varchar(255) NOT NULL default '',
+ group_rights tinyblob,
PRIMARY KEY (group_id)
);
diff --git a/maintenance/tables.sql b/maintenance/tables.sql
index 521f1700729a..db2c0704ce9f 100644
--- a/maintenance/tables.sql
+++ b/maintenance/tables.sql
@@ -347,6 +347,7 @@ CREATE TABLE `group` (
group_id int(5) unsigned NOT NULL auto_increment,
group_name varchar(50) NOT NULL default '',
group_description varchar(255) NOT NULL default '',
+ group_rights tinyblob,
PRIMARY KEY (group_id)
);
diff --git a/maintenance/updaters.inc b/maintenance/updaters.inc
index 5a8632ecabad..8fb599b215ea 100644
--- a/maintenance/updaters.inc
+++ b/maintenance/updaters.inc
@@ -19,6 +19,7 @@ $wgNewTables = array(
array( 'categorylinks', 'patch-categorylinks.sql' ),
array( 'logging', 'patch-logging.sql' ),
array( 'user_rights', 'patch-user_rights.sql' ),
+ array( 'user_groups', 'patch-userlevels.sql' ),
);
$wgNewFields = array(
@@ -142,6 +143,22 @@ function do_image_name_unique_update() {
}
}
+# Assumes that the group table has been added.
+function do_group_update() {
+ global $wgDatabase;
+ $res = $wgDatabase->safeQuery( 'SELECT COUNT(*) AS c FROM !',
+ $wgDatabase->tableName( 'group' ) );
+ $row = $wgDatabase->fetchObject( $res );
+ $wgDatabase->freeResult( $res );
+ if( $row->c == 0 ) {
+ echo "Adding default group definitions... ";
+ dbsource( "maintenance/archives/patch-userlevels-defaultgroups.sql", $wgDatabase );
+ echo "ok\n";
+ } else {
+ echo "...group definitions already in place.\n";
+ }
+}
+
function do_all_updates() {
global $wgNewTables, $wgNewFields;
@@ -156,6 +173,9 @@ function do_all_updates() {
add_table( $fieldRecord[0], $fieldRecord[1], $fieldRecord[2] );
flush();
}
+
+ # Add default group data
+ do_group_update(); flush();
# Do schema updates which require special handling
do_interwiki_update(); flush();