From: Tim Starling Date: Fri, 10 Jun 2011 22:33:16 +0000 (+0000) Subject: Fix for r89821, r89839: we can skip certain tests if the web user is the same as... X-Git-Tag: 1.31.0-rc.0~29585 X-Git-Url: http://git.cyclocoop.org//%22%22.str_replace%28%27%22%27%2C?a=commitdiff_plain;h=7a6c42e9bc6b2e57b8e3fafd385ad58b78011025;p=lhc%2Fweb%2Fwiklou.git Fix for r89821, r89839: we can skip certain tests if the web user is the same as the install user. --- diff --git a/includes/installer/PostgresInstaller.php b/includes/installer/PostgresInstaller.php index a47c172d85..fec928efdd 100644 --- a/includes/installer/PostgresInstaller.php +++ b/includes/installer/PostgresInstaller.php @@ -276,13 +276,17 @@ class PostgresInstaller extends DatabaseInstaller { $same = $this->getVar( 'wgDBuser' ) === $this->getVar( '_InstallUser' ); - // Check if the web user exists - // Connect to the database with the install user - $status = $this->getPgConnection( 'create-db' ); - if ( !$status->isOK() ) { - return $status; + if ( $same ) { + $exists = true; + } else { + // Check if the web user exists + // Connect to the database with the install user + $status = $this->getPgConnection( 'create-db' ); + if ( !$status->isOK() ) { + return $status; + } + $exists = $status->value->roleExists( $this->getVar( 'wgDBuser' ) ); } - $exists = $status->value->roleExists( $this->getVar( 'wgDBuser' ) ); // Validate the create checkbox if ( $this->canCreateAccounts() && !$same && !$exists ) { @@ -317,7 +321,7 @@ class PostgresInstaller extends DatabaseInstaller { // The web user is conventionally the table owner in PostgreSQL // installations. Make sure the install user is able to create // objects on behalf of the web user. - if ( $this->canCreateObjectsForWebUser() ) { + if ( $same || $this->canCreateObjectsForWebUser() ) { return Status::newGood(); } else { return Status::newFatal( 'config-pg-not-in-role' );