public $mRealName;
+ /**
+ * @todo Make this actually private
+ * @private
+ */
public $mPassword;
+ /**
+ * @todo Make this actually private
+ * @private
+ */
public $mNewpassword;
public $mNewpassTime;
return $this->mTouched;
}
+ /**
+ * @return Password
+ * @since 1.24
+ */
+ public function getPassword() {
+ $this->loadPasswords();
+
+ return $this->mPassword;
+ }
+
+ /**
+ * @return Password
+ * @since 1.24
+ */
+ public function getTemporaryPassword() {
+ $this->loadPasswords();
+
+ return $this->mNewpassword;
+ }
+
/**
* Set the password and reset the random token.
* Calls through to authentication plugin if necessary;
static function register( $parser ) {
global $wgAllowDisplayTitle, $wgAllowSlowParserFunctions;
- # Syntax for arguments (see self::setFunctionHook):
+ # Syntax for arguments (see Parser::setFunctionHook):
# "name for lookup in localized magic words array",
# function callback,
# optional SFH_NO_HASH to omit the hash from calls (e.g. {{int:...}}
* Initialize the page for QUnit.
*/
private function initQUnitTesting() {
- global $wgJavaScriptTestConfig;
-
$out = $this->getOutput();
+ $testConfig = $this->getConfig()->get( 'JavaScriptTestConfig' );
$out->addModules( 'test.mediawiki.qunit.testrunner' );
$qunitTestModules = $out->getResourceLoader()->getTestModuleNames( 'qunit' );
$out->addModules( $qunitTestModules );
$summary = $this->msg( 'javascripttest-qunit-intro' )
- ->params( $wgJavaScriptTestConfig['qunit']['documentation'] )
+ ->params( $testConfig['qunit']['documentation'] )
->parseAsBlock();
$header = $this->msg( 'javascripttest-qunit-heading' )->escaped();
$userDir = $this->getLanguage()->getDir();
// $wgJavaScriptTestConfig in DefaultSettings.php
$out->addJsConfigVars(
'QUnitTestSwarmInjectJSPath',
- $wgJavaScriptTestConfig['qunit']['testswarm-injectjs']
+ $testConfig['qunit']['testswarm-injectjs']
);
}
* parameters, like the second argument to OutputPage::wrapWikiMsg().
*/
function showForm( $err ) {
- global $wgContLang, $wgFixDoubleRedirects, $wgMaximumMovedPages;
+ global $wgContLang;
$this->getSkin()->setRelevantTitle( $this->oldTitle );
);
}
- $out->addWikiMsg( $wgFixDoubleRedirects ?
+ $out->addWikiMsg( $this->getConfig()->get( 'FixDoubleRedirects' ) ?
'movepagetext' :
'movepagetext-noredirectfixer'
);
|| ( $oldTitleTalkSubpages && $canMoveSubpage ) );
$dbr = wfGetDB( DB_SLAVE );
- if ( $wgFixDoubleRedirects ) {
+ if ( $this->getConfig()->get( 'FixDoubleRedirects' ) ) {
$hasRedirects = $dbr->selectField( 'redirect', '1',
array(
'rd_namespace' => $this->oldTitle->getNamespace(),
}
if ( $canMoveSubpage ) {
+ $maximumMovedPages = $this->getConfig()->get( 'MaximumMovedPages' );
$out->addHTML( "
<tr>
<td></td>
( $this->oldTitle->hasSubpages()
? 'move-subpages'
: 'move-talk-subpages' )
- )->numParams( $wgMaximumMovedPages )->params( $wgMaximumMovedPages )->parse()
+ )->numParams( $maximumMovedPages )->params( $maximumMovedPages )->parse()
) .
"</td>
</tr>"
}
function doSubmit() {
- global $wgMaximumMovedPages, $wgFixDoubleRedirects;
-
$user = $this->getUser();
if ( $user->pingLimiter( 'move' ) ) {
return;
}
- if ( $wgFixDoubleRedirects && $this->fixRedirects ) {
+ if ( $this->getConfig()->get( 'FixDoubleRedirects' ) && $this->fixRedirects ) {
DoubleRedirectJob::fixRedirects( 'move', $ot, $nt );
}
->rawParams( $oldLink, $newLink )->escaped();
++$count;
- if ( $count >= $wgMaximumMovedPages ) {
+ $maximumMovedPages = $this->getConfig()->get( 'MaximumMovedPages' );
+ if ( $count >= $maximumMovedPages ) {
$extraOutput[] = $this->msg( 'movepage-max-pages' )
- ->numParams( $wgMaximumMovedPages )->escaped();
+ ->numParams( $maximumMovedPages )->escaped();
break;
}
} else {
}
protected function form() {
- global $wgScript;
-
// Consume values
$this->opts->consumeValue( 'offset' ); // don't carry offset, DWIW
$namespace = $this->opts->consumeValue( 'namespace' );
list( $tagFilterLabel, $tagFilterSelector ) = $tagFilter;
}
- $form = Xml::openElement( 'form', array( 'action' => $wgScript ) ) .
+ $form = Xml::openElement( 'form', array( 'action' => wfScript() ) ) .
Html::hidden( 'title', $this->getPageTitle()->getPrefixedDBkey() ) .
Xml::fieldset( $this->msg( 'newpages' )->text() ) .
Xml::openElement( 'table', array( 'id' => 'mw-newpages-table' ) ) .
* @param string $type
*/
protected function feed( $type ) {
- global $wgFeed, $wgFeedClasses, $wgFeedLimit;
-
- if ( !$wgFeed ) {
+ if ( !$this->getConfig()->get( 'Feed' ) ) {
$this->getOutput()->addWikiMsg( 'feed-unavailable' );
return;
}
- if ( !isset( $wgFeedClasses[$type] ) ) {
+ $feedClasses = $this->getConfig()->get( 'FeedClasses' );
+ if ( !isset( $feedClasses[$type] ) ) {
$this->getOutput()->addWikiMsg( 'feed-invalid' );
return;
}
- $feed = new $wgFeedClasses[$type](
+ $feed = new $feedClasses[$type](
$this->feedTitle(),
$this->msg( 'tagline' )->text(),
$this->getPageTitle()->getFullURL()
$pager = new NewPagesPager( $this, $this->opts );
$limit = $this->opts->getValue( 'limit' );
- $pager->mLimit = min( $limit, $wgFeedLimit );
+ $pager->mLimit = min( $limit, $this->getConfig()->get( 'FeedLimit' ) );
$feed->outHeader();
if ( $pager->getNumRows() > 0 ) {
}
protected function feedTitle() {
- global $wgLanguageCode, $wgSitename;
$desc = $this->getDescription();
+ $code = $this->getConfig()->get( 'LanguageCode' );
+ $sitename = $this->getConfig()->get( 'Sitename' );
- return "$wgSitename - $desc [$wgLanguageCode]";
+ return "$sitename - $desc [$code]";
}
protected function feedItem( $row ) {
}
protected function getFormFields() {
- global $wgPasswordResetRoutes, $wgAuth;
+ global $wgAuth;
+ $resetRoutes = $this->getConfig()->get( 'PasswordResetRoutes' );
$a = array();
- if ( isset( $wgPasswordResetRoutes['username'] ) && $wgPasswordResetRoutes['username'] ) {
+ if ( isset( $resetRoutes['username'] ) && $resetRoutes['username'] ) {
$a['Username'] = array(
'type' => 'text',
'label-message' => 'passwordreset-username',
}
}
- if ( isset( $wgPasswordResetRoutes['email'] ) && $wgPasswordResetRoutes['email'] ) {
+ if ( isset( $resetRoutes['email'] ) && $resetRoutes['email'] ) {
$a['Email'] = array(
'type' => 'email',
'label-message' => 'passwordreset-email',
);
}
- if ( isset( $wgPasswordResetRoutes['domain'] ) && $wgPasswordResetRoutes['domain'] ) {
+ if ( isset( $resetRoutes['domain'] ) && $resetRoutes['domain'] ) {
$domains = $wgAuth->domainList();
$a['Domain'] = array(
'type' => 'select',
}
public function alterForm( HTMLForm $form ) {
- global $wgPasswordResetRoutes;
+ $resetRoutes = $this->getConfig()->get( 'PasswordResetRoutes' );
$form->setDisplayFormat( 'vform' );
// Turn the old-school line around the form off.
$form->addHiddenFields( $this->getRequest()->getValues( 'returnto', 'returntoquery' ) );
$i = 0;
- if ( isset( $wgPasswordResetRoutes['username'] ) && $wgPasswordResetRoutes['username'] ) {
+ if ( isset( $resetRoutes['username'] ) && $resetRoutes['username'] ) {
$i++;
}
- if ( isset( $wgPasswordResetRoutes['email'] ) && $wgPasswordResetRoutes['email'] ) {
+ if ( isset( $resetRoutes['email'] ) && $resetRoutes['email'] ) {
$i++;
}
- if ( isset( $wgPasswordResetRoutes['domain'] ) && $wgPasswordResetRoutes['domain'] ) {
+ if ( isset( $resetRoutes['domain'] ) && $resetRoutes['domain'] ) {
$i++;
}
// Check against password throttle
foreach ( $users as $user ) {
if ( $user->isPasswordReminderThrottled() ) {
- global $wgPasswordReminderResendTime;
# Round the time in hours to 3 d.p., in case someone is specifying
# minutes or seconds.
return array( array(
'throttled-mailpassword',
- round( $wgPasswordReminderResendTime, 3 )
+ round( $this->getConfig()->get( 'PasswordReminderResendTime' ), 3 )
) );
}
}
- global $wgNewPasswordExpiry;
-
// All the users will have the same email address
if ( $firstUser->getEmail() == '' ) {
// This won't be reachable from the email route, so safe to expose the username
$passwordBlock,
count( $passwords ),
'<' . Title::newMainPage()->getCanonicalURL() . '>',
- round( $wgNewPasswordExpiry / 86400 )
+ round( $this->getConfig()->get( 'NewPasswordExpiry' ) / 86400 )
);
$title = $this->msg( 'passwordreset-emailtitle' );
}
protected function canChangePassword( User $user ) {
- global $wgPasswordResetRoutes, $wgEnableEmail, $wgAuth;
+ global $wgAuth;
+ $resetRoutes = $this->getConfig()->get( 'PasswordResetRoutes' );
// Maybe password resets are disabled, or there are no allowable routes
- if ( !is_array( $wgPasswordResetRoutes ) ||
- !in_array( true, array_values( $wgPasswordResetRoutes ) )
+ if ( !is_array( $resetRoutes ) ||
+ !in_array( true, array_values( $resetRoutes ) )
) {
return 'passwordreset-disabled';
}
}
// Maybe email features have been disabled
- if ( !$wgEnableEmail ) {
+ if ( !$this->getConfig()->get( 'EnableEmail' ) ) {
return 'passwordreset-emaildisabled';
}
protected function showOptions( $namespace, $type = 'edit', $level, $sizetype,
$size, $indefOnly, $cascadeOnly, $noRedirect
) {
- global $wgScript;
-
$title = $this->getPageTitle();
- return Xml::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript ) ) .
+ return Xml::openElement( 'form', array( 'method' => 'get', 'action' => wfScript() ) ) .
Xml::openElement( 'fieldset' ) .
Xml::element( 'legend', array(), $this->msg( 'protectedpages' )->text() ) .
Html::hidden( 'title', $title->getPrefixedDBkey() ) . "\n" .
* @return string Formatted HTML
*/
protected function getLevelMenu( $pr_level ) {
- global $wgRestrictionLevels;
-
// Temporary array
$m = array( $this->msg( 'restriction-level-all' )->text() => 0 );
$options = array();
// First pass to load the log names
- foreach ( $wgRestrictionLevels as $type ) {
+ foreach ( $this->getConfig()->get( 'RestrictionLevels' ) as $type ) {
// Messages used can be 'restriction-level-sysop' and 'restriction-level-autoconfirmed'
if ( $type != '' && $type != '*' ) {
$text = $this->msg( "restriction-level-$type" )->text();
$maintClass = 'PHPUnitMaintClass';
require RUN_MAINTENANCE_IF_MAIN;
-$pharFile = stream_resolve_include_path( 'phpunit.phar' );
-$isValidPhar = Phar::isValidPharFilename( $pharFile );
-
-if ( !$isValidPhar && !class_exists( 'PHPUnit_Runner_Version' ) ) {
- // try loading phpunit via PEAR
- require_once 'PHPUnit/Runner/Version.php';
-}
-
// Prevent segfault when we have lots of unit tests (bug 62623)
-if ( version_compare( PHP_VERSION, '5.4.0', '<' )
- && version_compare( PHP_VERSION, '5.3.0', '>=' )
-) {
+if ( version_compare( PHP_VERSION, '5.4.0', '<' ) ) {
register_shutdown_function( function () {
gc_collect_cycles();
gc_disable();
} );
}
-if ( $isValidPhar ) {
- require $pharFile;
-} else {
- if ( PHPUnit_Runner_Version::id() !== '@package_version@'
- && version_compare( PHPUnit_Runner_Version::id(), '3.7.0', '<' )
- ) {
- die( 'PHPUnit 3.7.0 or later required, you have ' . PHPUnit_Runner_Version::id() . ".\n" );
- }
- if ( !class_exists( 'PHPUnit_TextUI_Command' ) ) {
- require_once 'PHPUnit/Autoload.php';
+$ok = false;
+
+foreach( array(
+ stream_resolve_include_path( 'phpunit.phar' ),
+ 'PHPUnit/Runner/Version.php',
+ 'PHPUnit/Autoload.php'
+) as $includePath ) {
+ @include_once( $includePath );
+ if ( class_exists( 'PHPUnit_TextUI_Command' ) ) {
+ $ok = true;
+ break;
}
+}
+
+if ( !$ok ) {
+ die( "Couldn't find a usable PHPUnit.\n" );
+}
- PHPUnit_TextUI_Command::main();
+$puVersion = PHPUnit_Runner_Version::id();
+if ( $puVersion !== '@package_version@' && version_compare( $puVersion, '3.7.0', '<' ) ) {
+ die( "PHPUnit 3.7.0 or later required; you have {$puVersion}.\n" );
}
+
+PHPUnit_TextUI_Command::main();