From 7c08615a60ad907309d9e58635c203d239e5a970 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Sun, 24 Oct 2004 22:20:52 +0000 Subject: [PATCH] Install fixes for group table --- config/index.php | 1 + maintenance/archives/patch-userlevels.sql | 1 + maintenance/tables.sql | 1 + maintenance/updaters.inc | 20 ++++++++++++++++++++ 4 files changed, 23 insertions(+) diff --git a/config/index.php b/config/index.php index c1b217c671..63ba307ede 100644 --- a/config/index.php +++ b/config/index.php @@ -492,6 +492,7 @@ if( $conf->posted && ( 0 == count( $errs ) ) ) { print "
  • Creating tables..."; dbsource( "../maintenance/tables.sql", $wgDatabase ); dbsource( "../maintenance/interwiki.sql", $wgDatabase ); + dbsource( "../maintenance/archives/patch-userlevels-defaultgroups.sql", $wgDatabase ); print " done.
  • \n"; print "
  • Initializing data..."; diff --git a/maintenance/archives/patch-userlevels.sql b/maintenance/archives/patch-userlevels.sql index af83fabb2f..ccaa2665e1 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 521f170072..db2c0704ce 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 5a8632ecab..8fb599b215 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(); -- 2.20.1