From 84a5213d5b63ebc83bcb6b0a57deab801d8557da Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Wed, 27 Oct 2004 07:33:54 +0000 Subject: [PATCH] Add sysop group fix to updaters --- maintenance/archives/patch-group-sysopfix.sql | 7 +++++++ maintenance/updaters.inc | 13 +++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 maintenance/archives/patch-group-sysopfix.sql diff --git a/maintenance/archives/patch-group-sysopfix.sql b/maintenance/archives/patch-group-sysopfix.sql new file mode 100644 index 0000000000..c3152c7b90 --- /dev/null +++ b/maintenance/archives/patch-group-sysopfix.sql @@ -0,0 +1,7 @@ +-- Fix to alpha versions that had incorrect rights assignments +-- breaking protected page edits by sysops. +-- 2004-10-27 + +UPDATE `group` + SET group_rights=CONCAT(group_rights,',sysop') + WHERE group_name IN('Sysops','Bureaucrat'); diff --git a/maintenance/updaters.inc b/maintenance/updaters.inc index 4be37c0b56..36acfc3a65 100644 --- a/maintenance/updaters.inc +++ b/maintenance/updaters.inc @@ -157,6 +157,19 @@ function do_group_update() { echo "ok\n"; } else { echo "...group definitions already in place.\n"; + $res = $wgDatabase->safeQuery( "SELECT COUNT(*) AS n FROM ! + WHERE group_name IN ('Sysops','Bureaucrat') + AND group_rights NOT LIKE 'sysop'", + $wgDatabase->tableName( 'group' ) ); + $row = $wgDatabase->fetchObject( $res ); + $wgDatabase->freeResult( $res ); + if( $row->n ) { + echo "Fixing sysops group permissions... "; + dbsource( "maintenance/archives/patch-group-sysopfix.sql" ); + echo "ok\n"; + } else { + echo "...sysop group permissions look ok.\n"; + } } } -- 2.20.1