/**
* Initiate an upgrade of the existing database
- * @param array $vars Variables from LocalSettings.php and AdminSettings.php
+ * @param array $vars Variables from LocalSettings.php
* @return Status
*/
protected function handleExistingUpgrade( $vars ) {
$msg = false;
$pwd = $this->getVar( '_AdminPassword' );
$user = User::newFromName( $cname );
- $valid = $user && $user->getPasswordValidity( $pwd );
+ if ( $user ) {
+ $valid = $user->getPasswordValidity( $pwd );
+ } else {
+ $valid = 'config-admin-name-invalid';
+ }
if ( strval( $pwd ) === '' ) {
# $user->getPasswordValidity just checks for $wgMinimalPasswordLength.
# This message is more specific and helpful.
} elseif ( $pwd !== $this->getVar( '_AdminPassword2' ) ) {
$msg = 'config-admin-password-mismatch';
} elseif ( $valid !== true ) {
- # As of writing this will only catch the username being e.g. 'FOO' and
- # the password 'foo'
$msg = $valid;
}
if ( $msg !== false ) {
if ( $extensions ) {
$extHtml = $this->getFieldSetStart( 'config-extensions' );
- /* Force a recache, so we load extensions descriptions */
- global $wgLang;
- $lc = Language::getLocalisationCache();
- $lc->setInitialisedLanguages( array() );
- $lc->getItem( $wgLang->mCode, '' );
- LinkCache::singleton()->useDatabase( false );
-
foreach ( $extensions as $ext ) {
$extHtml .= $this->parent->getCheckBox( array(
- 'var' => "ext-{$ext['name']}",
- 'rawtext' => "<b>{$ext['name']}</b>: " .
- wfMessage( $ext['descriptionmsg'] )->useDatabase( false )->parse(),
- ) );
-
+ 'var' => "ext-$ext",
+ 'rawtext' => $ext,
+ ) );
}
$extHtml .= $this->parent->getHelpBox( 'config-extensions-help' ) .
$this->setVar( 'wgRightsIcon', '' );
}
- $extsAvailable = array_map(
- function($e) {
- if( isset($e['name']) ) {
- return $e['name'];
- }
- }, $this->parent->findExtensions() );
+ $extsAvailable = $this->parent->findExtensions();
$extsToInstall = array();
- foreach ( $extsAvailable as $key => $ext ) {
- var_dump("config_ext-$ext");
+ foreach ( $extsAvailable as $ext ) {
if ( $this->parent->request->getCheck( 'config_ext-' . $ext ) ) {
- $extsToInstall[] = $extsAvailable[ $key ];
+ $extsToInstall[] = $ext;
}
}
$this->parent->setVar( '_Extensions', $extsToInstall );
) {
// JS appears to be the only method that works consistently with IE7+
$this->addHtml( "\n<script>jQuery( function () { document.location = " .
- Xml::encodeJsVar( $lsUrl ) . "; } );</script>\n" );
+ Xml::encodeJsVar( $lsUrl ) . "; } );</script>\n" );
} else {
$this->parent->request->response()->header( "Refresh: 0;url=$lsUrl" );
}