*
* @return String: wikitext of a link to the server software's web site
*/
- abstract function getSoftwareLink();
+ static function getSoftwareLink() {
+ throw new MWException( "A child class of DatabaseBase didn't implement getSoftwareLink(), shame on them" );
+ }
/**
* A string describing the current software version, like from
* Returns link to IBM DB2 free download
* @return string wikitext of a link to the server software's web site
*/
- public function getSoftwareLink() {
+ public static function getSoftwareLink() {
return "[http://www.ibm.com/software/data/db2/express/?s_cmp=ECDDWW01&s_tact=MediaWiki IBM DB2]";
}
/**
* @return string wikitext of a link to the server software's web site
*/
- function getSoftwareLink() {
+ public static function getSoftwareLink() {
return "[http://www.microsoft.com/sql/ MS SQL Server]";
}
return 'LOW_PRIORITY';
}
- function getSoftwareLink() {
+ public static function getSoftwareLink() {
return '[http://www.mysql.com/ MySQL]';
}
/**
* @return string wikitext of a link to the server software's web site
*/
- function getSoftwareLink() {
+ public static function getSoftwareLink() {
return '[http://www.oracle.com/ Oracle]';
}
/**
* @return string wikitext of a link to the server software's web site
*/
- function getSoftwareLink() {
+ public static function getSoftwareLink() {
return "[http://www.postgresql.org/ PostgreSQL]";
}
/**
* @return string wikitext of a link to the server software's web site
*/
- function getSoftwareLink() {
+ public static function getSoftwareLink() {
return "[http://sqlite.org/ SQLite]";
}
'config-type-postgres' => 'PostgreSQL',
'config-type-sqlite' => 'SQLite',
'config-type-oracle' => 'Oracle',
+ 'config-type-info' => 'Mediawiki supports the following database systems:
+
+* $1 is the primary target for Mediawiki and is best supported ([http://www.php.net/manual/en/mysql.installation.php how to compile PHP with MySQL support])
+* $2 is a popular open souce database system as an alternative to MySQL ([http://www.php.net/manual/en/pgsql.installation.php how to compile PHP with PostgreSQL support])
+* $3 is a lightweight database system which is very well supported. ([http://www.php.net/manual/en/pdo.installation.php How to compile PHP with SQLite support], uses PDO)',
'config-header-mysql' => 'MySQL settings',
'config-header-postgres' => 'PostgreSQL settings',
'config-header-sqlite' => 'SQLite settings',
$types = "<ul class=\"config-settings-block\">\n";
$settings = '';
$defaultType = $this->getVar( 'wgDBtype' );
+
+ $mysql = DatabaseMysql::getSoftwareLink();
+ $postgres = DatabasePostgres::getSoftwareLink();
+ $sqlite = DatabaseSqlite::getSoftwareLink();
+ $this->addHTML( $this->parent->getInfoBox(
+ wfMsg( 'config-type-info', $mysql, $postgres, $sqlite ) ) );
+
foreach ( $this->parent->getVar( '_CompiledDBs' ) as $type ) {
$installer = $this->parent->getDBInstaller( $type );
$types .=