Install fixes for group table
authorBrion Vibber <brion@users.mediawiki.org>
Sun, 24 Oct 2004 22:20:52 +0000 (22:20 +0000)
committerBrion Vibber <brion@users.mediawiki.org>
Sun, 24 Oct 2004 22:20:52 +0000 (22:20 +0000)
config/index.php
maintenance/archives/patch-userlevels.sql
maintenance/tables.sql
maintenance/updaters.inc

index c1b217c..63ba307 100644 (file)
@@ -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...";
index af83fab..ccaa266 100644 (file)
@@ -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)
 );
 
index 521f170..db2c070 100644 (file)
@@ -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)
 );
 
index 5a8632e..8fb599b 100644 (file)
@@ -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();