Error Msg for missing db username & password when installing
authorpubudu538 <pubudu538@gmail.com>
Sat, 15 Mar 2014 07:07:07 +0000 (12:37 +0530)
committertonythomas01 <01tonythomas@gmail.com>
Mon, 7 Apr 2014 16:47:18 +0000 (22:17 +0530)
Added configurations for Mysql and Postgresql installers
to display an error message if user doesnt input a username to the
database username

Bug: 43528
Bug: 59663
Change-Id: Ib6b05d2d7e8ebb4438d3b0051c33d367f41a9957

includes/installer/MysqlInstaller.php
includes/installer/PostgresInstaller.php
includes/installer/i18n/en.json
includes/installer/i18n/qqq.json

index 2d43324..4c72528 100644 (file)
@@ -100,7 +100,9 @@ class MysqlInstaller extends DatabaseInstaller {
 
        public function submitConnectForm() {
                // Get variables from the request.
-               $newValues = $this->setVarsFromRequest( array( 'wgDBserver', 'wgDBname', 'wgDBprefix' ) );
+               $newValues = $this->setVarsFromRequest( array(
+                       'wgDBserver', 'wgDBname', 'wgDBprefix', '_InstallUser', '_InstallPassword'
+               ) );
 
                // Validate them.
                $status = Status::newGood();
@@ -115,6 +117,12 @@ class MysqlInstaller extends DatabaseInstaller {
                if ( !preg_match( '/^[a-z0-9_-]*$/i', $newValues['wgDBprefix'] ) ) {
                        $status->fatal( 'config-invalid-db-prefix', $newValues['wgDBprefix'] );
                }
+               if ( !strlen( $newValues['_InstallUser'] ) ) {
+                       $status->fatal( 'config-db-username-empty' );
+               }
+               if (!strlen( $newValues['_InstallPassword'] ) ) {
+                       $status->fatal( 'config-db-password-empty', $newValues['_InstallUser'] );
+               }
                if ( !$status->isOK() ) {
                        return $status;
                }
index 2cf4156..780431a 100644 (file)
@@ -83,8 +83,10 @@ class PostgresInstaller extends DatabaseInstaller {
 
        function submitConnectForm() {
                // Get variables from the request
-               $newValues = $this->setVarsFromRequest( array( 'wgDBserver', 'wgDBport',
-                       'wgDBname', 'wgDBmwschema' ) );
+               $newValues = $this->setVarsFromRequest( array(
+                       'wgDBserver', 'wgDBport','wgDBname', 'wgDBmwschema',
+                       '_InstallUser', '_InstallPassword'
+               ) );
 
                // Validate them
                $status = Status::newGood();
@@ -96,6 +98,12 @@ class PostgresInstaller extends DatabaseInstaller {
                if ( !preg_match( '/^[a-zA-Z0-9_]*$/', $newValues['wgDBmwschema'] ) ) {
                        $status->fatal( 'config-invalid-schema', $newValues['wgDBmwschema'] );
                }
+               if ( !strlen( $newValues['_InstallUser'] ) ) {
+                       $status->fatal( 'config-db-username-empty' );
+               }
+               if ( !strlen( $newValues['_InstallPassword'] ) ) {
+                       $status->fatal( 'config-db-password-empty', $newValues['_InstallUser'] );
+               }
 
                // Submit user box
                if ( $status->isOK() ) {
index 45149c5..32a9912 100644 (file)
@@ -97,6 +97,7 @@
     "config-db-username": "Database username:",
     "config-db-password": "Database password:",
     "config-db-password-empty": "Please enter a password for the new database user: $1.\nWhile it may be possible to create users with no passwords, it is not secure.",
+    "config-db-username-empty": "You must enter a value for \"Database username\"",
     "config-db-install-username": "Enter the username that will be used to connect to the database during the installation process.\nThis is not the username of the MediaWiki account; this is the username for your database.",
     "config-db-install-password": "Enter the password that will be used to connect to the database during the installation process.\nThis is not the password for the MediaWiki account; this is the password for your database.",
     "config-db-install-help": "Enter the username and password that will be used to connect to the database during the installation process.",
index 0663853..3f610a6 100644 (file)
@@ -79,6 +79,7 @@
     "config-db-wiki-settings": "This is more acurate: \"Enter identifying or distinguishing data for this wiki\" since a MySQL database can host tables of several wikis.",
     "config-db-account-oracle-warn": "A \"[[:wikipedia:Front and back ends|backend]]\" is a system or component that ordinary users don't interact with directly and don't need to know about, and that is responsible for a distinct task or service - for example, a storage back-end is a generic system for storing data which other applications can use. Possible alternatives for back-end are \"system\" or \"service\", or (depending on context and language) even leave it untranslated.",
     "config-db-password-empty": "Used as error message. Parameters:\n* $1 - database username",
+    "config-db-username-empty": "Used as error message. Shown when the database username is not entered by the user.",
     "config-db-account-lock": "It might be easier to translate ''normal operation'' as \"also after the installation process\"",
     "config-mysql-old": "Used as error message. Parameters:\n* $1 - minimum version\n* $2 - the version of MySQL that has been installed",
     "config-pg-test-error": "* $1 - database name\n* $2 - error message",