+# Generated documentation
+docs/html/
+docs/js/
+
# third-party libs
extensions/
node_modules/
} elseif ( $this->getContext()->getRequest()->getInt( 'unhide' ) != 1 ) {
# Give explanation and add a link to view the revision...
$oldid = intval( $this->getOldID() );
- $link = $this->getTitle()->getFullUrl( "oldid={$oldid}&unhide=1" );
+ $link = $this->getTitle()->getFullURL( "oldid={$oldid}&unhide=1" );
$msg = $this->mRevision->isDeleted( Revision::DELETED_RESTRICTED ) ?
'rev-suppressed-text-unhide' : 'rev-deleted-text-unhide';
$outputPage->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1\n</div>\n",
foreach( $sorted as $obj ) {
$title = Title::makeTitle( $obj->rc_namespace, $obj->rc_title );
- $talkpage = MWNamespace::canTalk( $obj->rc_namespace ) ? $title->getTalkPage()->getFullUrl() : '';
+ $talkpage = MWNamespace::canTalk( $obj->rc_namespace ) ? $title->getTalkPage()->getFullURL() : '';
// Skip items with deleted content (avoids partially complete/inconsistent output)
if( $obj->rc_deleted ) continue;
// The edit page was reached via a red link.
// Redirect to the article page and let them click the edit tab if
// they really want a permission error.
- $wgOut->redirect( $this->mTitle->getFullUrl() );
+ $wgOut->redirect( $this->mTitle->getFullURL() );
return;
}
// The edit page was reached via a red link.
// Redirect to the article page and let them click the edit tab if
// they really want a permission error.
- $wgOut->redirect( $this->mTitle->getFullUrl() );
+ $wgOut->redirect( $this->mTitle->getFullURL() );
} else {
$wgOut->readOnlyPage( $source, $protected, $reasons, $action );
}
* @return string
*/
function homelink() {
- return Xml::element( 'base', array(), Title::newMainPage()->getCanonicalUrl() );
+ return Xml::element( 'base', array(), Title::newMainPage()->getCanonicalURL() );
}
/**
" " . $comment . "\n" .
" " . Xml::element( 'filename', null, $file->getName() ) . "\n" .
$archiveName .
- " " . Xml::element( 'src', null, $file->getCanonicalUrl() ) . "\n" .
+ " " . Xml::element( 'src', null, $file->getCanonicalURL() ) . "\n" .
" " . Xml::element( 'size', null, $file->getSize() ) . "\n" .
" " . Xml::element( 'sha1base36', null, $file->getSha1() ) . "\n" .
" " . Xml::element( 'rel', null, $file->getRel() ) . "\n" .
$queryParameters = ($oldid == null)
? "diff={$newid}"
: "diff={$newid}&oldid={$oldid}";
- $diffUrl = $title->getFullUrl( $queryParameters );
+ $diffUrl = $title->getFullURL( $queryParameters );
$diffLink = Html::element( 'a', array( 'href' => $diffUrl ),
wfMessage( 'showdiff' )->inContentLanguage()->text() );
$q['oldimage'] = $this->oldimage;
}
- return $this->title->getLocalUrl( $q );
+ return $this->title->getLocalURL( $q );
}
/**
if ( $history ) $params['history'] = 1;
if ( $templates ) $params['templates'] = 1;
if ( $pageLinkDepth ) $params['pagelink-depth'] = $pageLinkDepth;
- $url = $link->getFullUrl( $params );
+ $url = $link->getFullURL( $params );
# For interwikis, use POST to avoid redirects.
return ImportStreamSource::newFromURL( $url, "POST" );
}
return wfAppendQuery( $wgUploadNavigationUrl, $q );
} else {
$upload = SpecialPage::getTitleFor( 'Upload' );
- return $upload->getLocalUrl( $q );
+ return $upload->getLocalURL( $q );
}
}
* @param $title Title
*/
protected function page( $name, $title ) {
- $this->url( $name, $title->getFullUrl() );
+ $this->url( $name, $title->getFullURL() );
}
protected function url( $name, $url ) {
if( $wgRequest->wasPosted() ) {
if( $this->save() ) {
$q = $this->mArticle->isRedirect() ? 'redirect=no' : '';
- $wgOut->redirect( $this->mTitle->getFullUrl( $q ) );
+ $wgOut->redirect( $this->mTitle->getFullURL( $q ) );
}
} else {
$this->show();
if( !$this->disabled ) {
$wgOut->addModules( 'mediawiki.legacy.protect' );
$out .= Xml::openElement( 'form', array( 'method' => 'post',
- 'action' => $this->mTitle->getLocalUrl( 'action=protect' ),
+ 'action' => $this->mTitle->getLocalURL( 'action=protect' ),
'id' => 'mw-Protect-Form', 'onsubmit' => 'ProtectionForm.enableUnchainedInputs(true)' ) );
}
$skinDir = dir( $wgStyleDirectory );
- # while code from www.php.net
- while ( false !== ( $file = $skinDir->read() ) ) {
- // Skip non-PHP files, hidden files, and '.dep' includes
- $matches = array();
-
- if ( preg_match( '/^([^.]*)\.php$/', $file, $matches ) ) {
- $aSkin = $matches[1];
- $wgValidSkinNames[strtolower( $aSkin )] = $aSkin;
+ if ( $skinDir !== false && $skinDir !== null ) {
+ # while code from www.php.net
+ while ( false !== ( $file = $skinDir->read() ) ) {
+ // Skip non-PHP files, hidden files, and '.dep' includes
+ $matches = array();
+
+ if ( preg_match( '/^([^.]*)\.php$/', $file, $matches ) ) {
+ $aSkin = $matches[1];
+ $wgValidSkinNames[strtolower( $aSkin )] = $aSkin;
+ }
}
+ $skinDir->close();
}
- $skinDir->close();
$skinsInitialised = true;
wfProfileOut( __METHOD__ . '-init' );
}
$s = array();
if ( !$wgOut->isPrintable() ) {
- $printurl = htmlspecialchars( $this->getSkin()->getTitle()->getLocalUrl(
+ $printurl = htmlspecialchars( $this->getSkin()->getTitle()->getLocalURL(
$wgRequest->appendQueryValue( 'printable', 'yes', true ) ) );
$s[] = "<a href=\"$printurl\" rel=\"alternate\">"
. wfMessage( 'printableversion' )->text() . '</a>';
return array(
'class' => implode( ' ', $classes ),
'text' => $text,
- 'href' => $title->getLocalUrl( $query ),
+ 'href' => $title->getLocalURL( $query ),
'primary' => true );
}
if ( $out->isArticleRelated() ) {
$nav_urls['whatlinkshere'] = array(
- 'href' => SpecialPage::getTitleFor( 'Whatlinkshere', $this->thispage )->getLocalUrl()
+ 'href' => SpecialPage::getTitleFor( 'Whatlinkshere', $this->thispage )->getLocalURL()
);
$nav_urls['info'] = array(
if ( $this->getTitle()->getArticleID() ) {
$nav_urls['recentchangeslinked'] = array(
- 'href' => SpecialPage::getTitleFor( 'Recentchangeslinked', $this->thispage )->getLocalUrl()
+ 'href' => SpecialPage::getTitleFor( 'Recentchangeslinked', $this->thispage )->getLocalURL()
);
}
}
$query = $this->getRedirectQuery();
// Redirect to a page title with possible query parameters
if ( $redirect instanceof Title ) {
- $url = $redirect->getFullUrl( $query );
+ $url = $redirect->getFullURL( $query );
$this->getOutput()->redirect( $url );
return $redirect;
// Redirect to index.php with query parameters
unset( $query['title'] );
$query = wfArrayToCgi( $query );
$title = $page->getTitle( $par );
- $url = $title->getFullUrl( $query );
+ $url = $title->getFullURL( $query );
$context->getOutput()->redirect( $url );
wfProfileOut( __METHOD__ );
return $title;
protected function getTokenUrl( $page, $token ) {
// Hack to bypass localization of 'Special:'
$title = Title::makeTitle( NS_MAIN, "Special:$page/$token" );
- return $title->getCanonicalUrl();
+ return $title->getCanonicalURL();
}
/**
$keys = array();
$postTransformKeys = array();
- $pageTitleUrl = $this->title->getCanonicalUrl();
+ $pageTitleUrl = $this->title->getCanonicalURL();
$pageTitle = $this->title->getPrefixedText();
if ( $this->oldid ) {
// Always show a link to the diff which triggered the mail. See bug 32210.
$keys['$NEWPAGE'] = "\n\n" . wfMessage( 'enotif_lastdiff',
- $this->title->getCanonicalUrl( 'diff=next&oldid=' . $this->oldid ) )
+ $this->title->getCanonicalURL( 'diff=next&oldid=' . $this->oldid ) )
->inContentLanguage()->text();
if ( !$wgEnotifImpersonal ) {
// For personal mail, also show a link to the diff of all changes
// since last visited.
$keys['$NEWPAGE'] .= "\n\n" . wfMessage( 'enotif_lastvisited',
- $this->title->getCanonicalUrl( 'diff=0&oldid=' . $this->oldid ) )
+ $this->title->getCanonicalURL( 'diff=0&oldid=' . $this->oldid ) )
->inContentLanguage()->text();
}
$keys['$OLDID'] = $this->oldid;
}
$keys['$PAGETITLE'] = $this->title->getPrefixedText();
- $keys['$PAGETITLE_URL'] = $this->title->getCanonicalUrl();
+ $keys['$PAGETITLE_URL'] = $this->title->getCanonicalURL();
$keys['$PAGEMINOREDIT'] = $this->minorEdit ?
wfMessage( 'minoredit' )->inContentLanguage()->text() : '';
- $keys['$UNWATCHURL'] = $this->title->getCanonicalUrl( 'action=unwatch' );
+ $keys['$UNWATCHURL'] = $this->title->getCanonicalURL( 'action=unwatch' );
if ( $this->editor->isAnon() ) {
# real anon (user:xxx.xxx.xxx.xxx)
} else {
$keys['$PAGEEDITOR'] = $wgEnotifUseRealName ? $this->editor->getRealName() : $this->editor->getName();
$emailPage = SpecialPage::getSafeTitleFor( 'Emailuser', $this->editor->getName() );
- $keys['$PAGEEDITOR_EMAIL'] = $emailPage->getCanonicalUrl();
+ $keys['$PAGEEDITOR_EMAIL'] = $emailPage->getCanonicalURL();
}
- $keys['$PAGEEDITOR_WIKI'] = $this->editor->getUserPage()->getCanonicalUrl();
+ $keys['$PAGEEDITOR_WIKI'] = $this->editor->getUserPage()->getCanonicalURL();
# Replace this after transforming the message, bug 35019
$postTransformKeys['$PAGESUMMARY'] = $this->summary == '' ? ' - ' : $this->summary;
$base = substr( $base, 0, $hash );
}
if( $base[0] == '/' ) {
+ if( $base[1] == '/' ) { /* More than one slash will look like it is protocol relative */
+ return preg_replace( '!//*!', '/', $base );
+ }
return $base;
} else {
// We may get paths with a host prepended; strip it.
}
/**
- * Get a URL based on $wgServer, like Title::getFullUrl() would produce
+ * Get a URL based on $wgServer, like Title::getFullURL() would produce
* when called locally on the wiki.
*
* @param string $page page name (must be normalized before calling this function!)
$this->getTitle()->getPrefixedText() . ' - ' .
$this->msg( 'history-feed-title' )->inContentLanguage()->text(),
$this->msg( 'history-feed-description' )->inContentLanguage()->text(),
- $this->getTitle()->getFullUrl( 'action=history' )
+ $this->getTitle()->getFullURL( 'action=history' )
);
// Get a limit on number of feed entries. Provide a sane default
return new FeedItem(
$this->msg( 'nohistory' )->inContentLanguage()->text(),
$this->msg( 'history-feed-empty' )->inContentLanguage()->parseAsBlock(),
- $this->getTitle()->getFullUrl(),
+ $this->getTitle()->getFullURL(),
wfTimestamp( TS_MW ),
'',
- $this->getTitle()->getTalkPage()->getFullUrl()
+ $this->getTitle()->getTalkPage()->getFullURL()
);
}
return new FeedItem(
$title,
$text,
- $this->getTitle()->getFullUrl( 'diff=' . $rev->getId() . '&oldid=prev' ),
+ $this->getTitle()->getFullURL( 'diff=' . $rev->getId() . '&oldid=prev' ),
$rev->getTimestamp(),
$rev->getUserText(),
- $this->getTitle()->getTalkPage()->getFullUrl()
+ $this->getTitle()->getTalkPage()->getFullURL()
);
}
}
}
public function onSuccess() {
- $this->getOutput()->redirect( $this->getTitle()->getFullUrl( $this->redirectParams ) );
+ $this->getOutput()->redirect( $this->getTitle()->getFullURL( $this->redirectParams ) );
}
}
"rotation" => $rotation
) );
if ( !$err ) {
- $comment = wfMessage( 'rotate-comment' )->numParams( $rotation )->text();
+ $comment = wfMessage(
+ 'rotate-comment'
+ )->numParams( $rotation )->inContentLanguage()->text();
$status = $file->upload( $dstPath,
$comment, $comment, 0, false, false, $this->getUser() );
if ( $status->isGood() ) {
$data = array();
$mainPage = Title::newMainPage();
$data['mainpage'] = $mainPage->getPrefixedText();
- $data['base'] = wfExpandUrl( $mainPage->getFullUrl(), PROTO_CURRENT );
+ $data['base'] = wfExpandUrl( $mainPage->getFullURL(), PROTO_CURRENT );
$data['sitename'] = $GLOBALS['wgSitename'];
$data['generator'] = "MediaWiki {$GLOBALS['wgVersion']}";
$data['phpversion'] = phpversion();
$service = array( 'apis' => $this->formatRsdApiList() );
ApiResult::setContent( $service, 'MediaWiki', 'engineName' );
ApiResult::setContent( $service, 'https://www.mediawiki.org/', 'engineLink' );
- ApiResult::setContent( $service, Title::newMainPage()->getCanonicalUrl(), 'homePageLink' );
+ ApiResult::setContent( $service, Title::newMainPage()->getCanonicalURL(), 'homePageLink' );
$result->setIndexedTagName( $service['apis'], 'api' );
: false; // user does not exist?
}
+ /**
+ * Get the name of a user or return $ip if the user ID is 0
+ *
+ * @param integer $userId
+ * @param string $ip
+ * @since 1.21
+ */
+ public function getUserName( $userId, $ip ) {
+ return $userId > 0 ? $this->getProp( $userId, 'name' ) : $ip;
+ }
+
/**
* Preloads user names for given list of users.
* @param array $userIds List of user IDs
}
/**
- * This must be called after nextSequenceVal
- * @return null
+ * Return the result of the last call to nextSequenceValue();
+ * This must be called after nextSequenceValue().
+ *
+ * @return integer|null
*/
function insertId() {
return $this->mInsertId;
}
if ( !$this->mOldRev->isDeleted( Revision::DELETED_TEXT ) && !$this->mNewRev->isDeleted( Revision::DELETED_TEXT ) ) {
$undoLink = Html::element( 'a', array(
- 'href' => $this->mNewPage->getLocalUrl( array(
+ 'href' => $this->mNewPage->getLocalURL( array(
'action' => 'edit',
'undoafter' => $this->mOldid,
'undo' => $this->mNewid ) ),
array( $msg ) );
} else {
# Give explanation and add a link to view the diff...
- $link = $this->getTitle()->getFullUrl( $this->getRequest()->appendQueryValue( 'unhide', '1', true ) );
+ $link = $this->getTitle()->getFullURL( $this->getRequest()->appendQueryValue( 'unhide', '1', true ) );
$msg = $suppressed ? 'rev-suppressed-unhide-diff' : 'rev-deleted-unhide-diff';
$out->wrapWikiMsg( "<div id='mw-$msg' class='mw-warning plainlinks'>\n$1\n</div>\n", array( $msg, $link ) );
}
* @return String
*/
function getDescriptionUrl() {
- return $this->title->getLocalUrl();
+ return $this->title->getLocalURL();
}
/**
*/
abstract protected function doGetAllReadyWikiQueues();
+ /**
+ * Purge all of the aggregator information
+ *
+ * @return bool Success
+ */
+ final public function purge() {
+ wfProfileIn( __METHOD__ );
+ $res = $this->doPurge();
+ wfProfileOut( __METHOD__ );
+ return $res;
+ }
+
+ /**
+ * @see JobQueueAggregator::purge()
+ */
+ abstract protected function doPurge();
+
/**
* Get all databases that have a pending job.
* This poll all the queues and is this expensive.
: array(); // cache is both empty and locked
}
+ /**
+ * @see JobQueueAggregator::doPurge()
+ */
+ protected function doPurge() {
+ return $this->cache->delete( $this->getReadyQueueCacheKey() );
+ }
+
/**
* @return string
*/
}
}
+ /**
+ * @see JobQueueAggregator::doPurge()
+ */
+ protected function doPurge() {
+ $conn = $this->getConnection();
+ if ( !$conn ) {
+ return false;
+ }
+ try {
+ $conn->delete( $this->getReadyQueueKey() );
+ } catch ( RedisException $e ) {
+ $this->handleException( $conn, $e );
+ return false;
+ }
+ return true;
+ }
+
/**
* Get a connection to the server that handles all sub-queues for this queue
*
*/
static function anchorencode( $parser, $text ) {
$text = $parser->killMarkers( $text );
- return substr( $parser->guessSectionNameFromWikiText( $text ), 1);
+ return (string)substr( $parser->guessSectionNameFromWikiText( $text ), 1 );
}
static function special( $parser, $text ) {
));
$titleObj = SpecialPage::getTitleFor( 'Booksources', $num );
return'<a href="' .
- htmlspecialchars( $titleObj->getLocalUrl() ) .
+ htmlspecialchars( $titleObj->getLocalURL() ) .
"\" class=\"internal mw-magiclink-isbn\">ISBN $isbn</a>";
} else {
return $m[0];
return wfMessage( 'scarytranscludedisabled' )->inContentLanguage()->text();
}
- $url = $title->getFullUrl( "action=$action" );
+ $url = $title->getFullURL( "action=$action" );
if ( strlen( $url ) > 255 ) {
return wfMessage( 'scarytranscludetoolong' )->inContentLanguage()->text();
$this->setHeaders();
global $wgUseDatabaseMessages;
- if( !$wgUseDatabaseMessages ) {
+ if ( !$wgUseDatabaseMessages ) {
$out->addWikiMsg( 'allmessagesnotsupportedDB' );
return;
} else {
$request = $this->getRequest();
$this->filter = $request->getVal( 'filter', 'all' );
- if( $this->filter === 'all' ) {
+ if ( $this->filter === 'all' ) {
$this->custom = null; // So won't match in either case
} else {
- $this->custom = ($this->filter == 'unmodified');
+ $this->custom = ( $this->filter == 'unmodified' );
}
$prefix = $this->getLanguage()->ucfirst( $request->getVal( 'prefix', '' ) );
$prefix = $prefix != '' ? Title::makeTitleSafe( NS_MEDIAWIKI, $request->getVal( 'prefix', null ) ) : null;
- if( $prefix !== null ) {
+ if ( $prefix !== null ) {
$this->displayPrefix = $prefix->getDBkey();
$this->prefix = '/^' . preg_quote( $this->displayPrefix ) . '/i';
} else {
// The suffix that may be needed for message names if we're in a
// different language (eg [[MediaWiki:Foo/fr]]: $suffix = '/fr'
- if( $this->foreign ) {
+ if ( $this->foreign ) {
$this->suffix = '/' . $this->langcode;
} else {
$this->suffix = '';
Xml::openElement( 'table', array( 'class' => 'mw-allmessages-table' ) ) . "\n" .
'<tr>
<td class="mw-label">' .
- Xml::label( $this->msg( 'allmessages-prefix' )->text(), 'mw-allmessages-form-prefix' ) .
- "</td>\n
- <td class=\"mw-input\">" .
- Xml::input( 'prefix', 20, str_replace( '_', ' ', $this->displayPrefix ), array( 'id' => 'mw-allmessages-form-prefix' ) ) .
- "</td>\n
+ Xml::label( $this->msg( 'allmessages-prefix' )->text(), 'mw-allmessages-form-prefix' ) .
+ "</td>\n
+ <td class=\"mw-input\">" .
+ Xml::input( 'prefix', 20, str_replace( '_', ' ', $this->displayPrefix ), array( 'id' => 'mw-allmessages-form-prefix' ) ) .
+ "</td>\n
</tr>
<tr>\n
- <td class='mw-label'>" .
- $this->msg( 'allmessages-filter' )->escaped() .
- "</td>\n
+ <td class='mw-label'>" .
+ $this->msg( 'allmessages-filter' )->escaped() .
+ "</td>\n
<td class='mw-input'>" .
- Xml::radioLabel( $this->msg( 'allmessages-filter-unmodified' )->text(),
- 'filter',
- 'unmodified',
- 'mw-allmessages-form-filter-unmodified',
- ( $this->filter == 'unmodified' )
- ) .
- Xml::radioLabel( $this->msg( 'allmessages-filter-all' )->text(),
- 'filter',
- 'all',
- 'mw-allmessages-form-filter-all',
- ( $this->filter == 'all' )
- ) .
- Xml::radioLabel( $this->msg( 'allmessages-filter-modified' )->text(),
- 'filter',
- 'modified',
- 'mw-allmessages-form-filter-modified',
- ( $this->filter == 'modified' )
- ) .
- "</td>\n
+ Xml::radioLabel( $this->msg( 'allmessages-filter-unmodified' )->text(),
+ 'filter',
+ 'unmodified',
+ 'mw-allmessages-form-filter-unmodified',
+ ( $this->filter == 'unmodified' )
+ ) .
+ Xml::radioLabel( $this->msg( 'allmessages-filter-all' )->text(),
+ 'filter',
+ 'all',
+ 'mw-allmessages-form-filter-all',
+ ( $this->filter == 'all' )
+ ) .
+ Xml::radioLabel( $this->msg( 'allmessages-filter-modified' )->text(),
+ 'filter',
+ 'modified',
+ 'mw-allmessages-form-filter-modified',
+ ( $this->filter == 'modified' )
+ ) .
+ "</td>\n
</tr>
<tr>\n
<td class=\"mw-label\">" . $langSelect[0] . "</td>\n
'<tr>
<td class="mw-label">' .
- Xml::label( $this->msg( 'table_pager_limit_label' )->text(), 'mw-table_pager_limit_label' ) .
- '</td>
- <td class="mw-input">' .
- $this->getLimitSelect() .
- '</td>
+ Xml::label( $this->msg( 'table_pager_limit_label' )->text(), 'mw-table_pager_limit_label' ) .
+ '</td>
+ <td class="mw-input">' .
+ $this->getLimitSelect() .
+ '</td>
<tr>
<td></td>
<td>' .
- Xml::submitButton( $this->msg( 'allmessages-filter-submit' )->text() ) .
- "</td>\n
+ Xml::submitButton( $this->msg( 'allmessages-filter-submit' )->text() ) .
+ "</td>\n
</tr>" .
Xml::closeElement( 'table' ) .
function getAllMessages( $descending ) {
wfProfileIn( __METHOD__ );
$messageNames = Language::getLocalisationCache()->getSubitemList( 'en', 'messages' );
- if( $descending ) {
+ if ( $descending ) {
rsort( $messageNames );
} else {
asort( $messageNames );
foreach ( $res as $s ) {
$exists = false;
- if( $foreign ) {
+ if ( $foreign ) {
$title = explode( '/', $s->page_title );
- if( count( $title ) === 2 && $langcode == $title[1]
- && isset( $xNames[$title[0]] ) ) {
+ if ( count( $title ) === 2 && $langcode == $title[1]
+ && isset( $xNames[$title[0]] )
+ ) {
$exists = $title[0];
}
- } elseif( isset( $xNames[$s->page_title] ) ) {
+ } elseif ( isset( $xNames[$s->page_title] ) ) {
$exists = $s->page_title;
}
- if( $exists && $s->page_namespace == NS_MEDIAWIKI ) {
+ if ( $exists && $s->page_namespace == NS_MEDIAWIKI ) {
$pageFlags[$exists] = true;
- } elseif( $exists && $s->page_namespace == NS_MEDIAWIKI_TALK ) {
+ } elseif ( $exists && $s->page_namespace == NS_MEDIAWIKI_TALK ) {
$talkFlags[$exists] = true;
}
}
$statuses = self::getCustomisedStatuses( $messageNames, $this->langcode, $this->foreign );
$count = 0;
- foreach( $messageNames as $key ) {
+ foreach ( $messageNames as $key ) {
$customised = isset( $statuses['pages'][$key] );
- if( $customised !== $this->custom &&
+ if ( $customised !== $this->custom &&
( $descending && ( $key < $offset || !$offset ) || !$descending && $key > $offset ) &&
( ( $this->prefix && preg_match( $this->prefix, $key ) ) || $this->prefix === false )
) {
$actual = wfMessage( $key )->inLanguage( $this->langcode )->plain();
$default = wfMessage( $key )->inLanguage( $this->langcode )->useDatabase( false )->plain();
$result->result[] = array(
- 'am_title' => $key,
- 'am_actual' => $actual,
- 'am_default' => $default,
+ 'am_title' => $key,
+ 'am_actual' => $actual,
+ 'am_default' => $default,
'am_customised' => $customised,
'am_talk_exists' => isset( $statuses['talks'][$key] )
);
$count++;
}
- if( $count == $limit ) {
+
+ if ( $count == $limit ) {
break;
}
}
return Xml::openElement( 'table', array( 'class' => 'mw-datatable TablePager', 'id' => 'mw-allmessagestable' ) ) . "\n" .
"<thead><tr>
<th rowspan=\"2\">" .
- $this->msg( 'allmessagesname' )->escaped() . "
+ $this->msg( 'allmessagesname' )->escaped() . "
</th>
<th>" .
- $this->msg( 'allmessagesdefault' )->escaped() .
- "</th>
+ $this->msg( 'allmessagesdefault' )->escaped() .
+ "</th>
</tr>\n
<tr>
<th>" .
- $this->msg( 'allmessagescurrent' )->escaped() .
- "</th>
+ $this->msg( 'allmessagescurrent' )->escaped() .
+ "</th>
</tr></thead><tbody>\n";
}
function formatValue( $field, $value ) {
- switch( $field ) {
+ switch ( $field ) {
case 'am_title' :
$title = Title::makeTitle( NS_MEDIAWIKI, $value . $this->suffix );
$talk = Title::makeTitle( NS_MEDIAWIKI_TALK, $value . $this->suffix );
- if( $this->mCurrentRow->am_customised ) {
+ if ( $this->mCurrentRow->am_customised ) {
$title = Linker::linkKnown( $title, $this->getLanguage()->lcfirst( $value ) );
} else {
$title = Linker::link(
$s = parent::formatRow( $row );
// But if there's a customised message, add that too.
- if( $row->am_customised ) {
+ if ( $row->am_customised ) {
$s .= Xml::openElement( 'tr', $this->getRowAttrs( $row, true ) );
$formatted = strval( $this->formatValue( 'am_actual', $row->am_actual ) );
if ( $formatted == '' ) {
function getRowAttrs( $row, $isSecond = false ) {
$arr = array();
- if( $row->am_customised ) {
+ if ( $row->am_customised ) {
$arr['class'] = 'allmessages-customised';
}
- if( !$isSecond ) {
+ if ( !$isSecond ) {
$arr['id'] = Sanitizer::escapeId( 'msg_' . $this->getLanguage()->lcfirst( $row->am_title ) );
}
return $arr;
}
function getCellAttrs( $field, $value ) {
- if( $this->mCurrentRow->am_customised && $field == 'am_title' ) {
+ if ( $this->mCurrentRow->am_customised && $field == 'am_title' ) {
return array( 'rowspan' => '2', 'class' => $field );
- } elseif( $field == 'am_title' ) {
+ } elseif ( $field == 'am_title' ) {
return array( 'class' => $field );
} else {
return array( 'lang' => $this->langcode, 'dir' => $this->lang->getDir(), 'class' => $field );
$out->setPageTitle(
( $namespace > 0 && in_array( $namespace, array_keys( $namespaces ) ) ) ?
- $this->msg( 'allinnamespace', str_replace( '_', ' ', $namespaces[$namespace] ) ) :
- $this->msg( 'allarticles' )
+ $this->msg( 'allinnamespace', str_replace( '_', ' ', $namespaces[$namespace] ) ) :
+ $this->msg( 'allarticles' )
);
$out->addModuleStyles( 'mediawiki.special' );
- if( $par !== null ) {
+ if ( $par !== null ) {
$this->showChunk( $namespace, $par, $to, $hideredirects );
- } elseif( $from !== null && $to === null ) {
+ } elseif ( $from !== null && $to === null ) {
$this->showChunk( $namespace, $from, $to, $hideredirects );
} else {
$this->showToplevel( $namespace, $from, $to, $hideredirects );
$from = ( $from && $from->isLocal() ) ? $from->getDBkey() : null;
$to = ( $to && $to->isLocal() ) ? $to->getDBkey() : null;
- if( isset( $from ) )
+ if ( isset( $from ) ) {
$where[] = 'page_title >= ' . $dbr->addQuotes( $from );
- if( isset( $to ) )
+ }
+
+ if ( isset( $to ) ) {
$where[] = 'page_title <= ' . $dbr->addQuotes( $to );
+ }
global $wgMemc;
$key = wfMemcKey( 'allpages', 'ns', $namespace, sha1( $from ), sha1( $to ) );
$maxPerSubpage = intval( $count / $this->maxLineCount );
$maxPerSubpage = max( $maxPerSubpage, $this->maxPerPage );
- if( !is_array( $lines ) ) {
+ if ( !is_array( $lines ) ) {
$options = array( 'LIMIT' => 1 );
$options['ORDER BY'] = 'page_title ASC';
$firstTitle = $dbr->selectField( 'page', 'page_title', $where, __METHOD__, $options );
$lines = array( $firstTitle );
# If we are going to show n rows, we need n+1 queries to find the relevant titles.
$done = false;
- while( !$done ) {
+ while ( !$done ) {
// Fetch the last title of this chunk and the first of the next
$chunk = ( $lastTitle === false )
? array()
);
$s = $dbr->fetchObject( $res );
- if( $s ) {
+ if ( $s ) {
array_push( $lines, $s->page_title );
} else {
// Final chunk, but ended prematurely. Go back and find the end.
array_push( $lines, $endTitle );
$done = true;
}
+
$s = $res->fetchObject();
- if( $s ) {
+ if ( $s ) {
array_push( $lines, $s->page_title );
$lastTitle = $s->page_title;
} else {
// If there are only two or less sections, don't even display them.
// Instead, display the first section directly.
- if( count( $lines ) <= 2 ) {
- if( !empty( $lines ) ) {
+ if ( count( $lines ) <= 2 ) {
+ if ( !empty( $lines ) ) {
$this->showChunk( $namespace, $from, $to, $hideredirects );
} else {
$output->addHTML( $this->namespaceForm( $namespace, $from, $to, $hideredirects ) );
# At this point, $lines should contain an even number of elements.
$out .= Xml::openElement( 'table', array( 'class' => 'allpageslist' ) );
- while( count ( $lines ) > 0 ) {
+ while ( count( $lines ) > 0 ) {
$inpoint = array_shift( $lines );
$outpoint = array_shift( $lines );
$out .= $this->showline( $inpoint, $outpoint, $namespace, $hideredirects );
$nsForm = $this->namespaceForm( $namespace, $from, $to, $hideredirects );
# Is there more?
- if( $this->including() ) {
+ if ( $this->including() ) {
$out2 = '';
} else {
- if( isset( $from ) || isset( $to ) ) {
- $out2 = Xml::openElement( 'table', array( 'class' => 'mw-allpages-table-form' ) ).
- '<tr>
+ if ( isset( $from ) || isset( $to ) ) {
+ $out2 = Xml::openElement( 'table', array( 'class' => 'mw-allpages-table-form' ) ) .
+ '<tr>
<td>' .
- $nsForm .
- '</td>
+ $nsForm .
+ '</td>
<td class="mw-allpages-nav">' .
- Linker::link( $this->getTitle(), $this->msg( 'allpages' )->escaped(),
- array(), array(), 'known' ) .
- "</td>
+ Linker::link( $this->getTitle(), $this->msg( 'allpages' )->escaped(),
+ array(), array(), 'known' ) .
+ "</td>
</tr>" .
Xml::closeElement( 'table' );
} else {
* @param string $inpoint lower limit of pagenames
* @param string $outpoint upper limit of pagenames
* @param $namespace Integer (Default NS_MAIN)
- * @param bool $hideredirects dont show redirects (default FALSE)
+ * @param bool $hideRedirects don't show redirects. Default: false
* @return string
*/
- function showline( $inpoint, $outpoint, $namespace = NS_MAIN, $hideredirects ) {
+ function showline( $inpoint, $outpoint, $namespace = NS_MAIN, $hideRedirects = false ) {
global $wgContLang;
$inpointf = htmlspecialchars( str_replace( '_', ' ', $inpoint ) );
$outpointf = htmlspecialchars( str_replace( '_', ' ', $outpoint ) );
$inpointf = $wgContLang->truncate( $inpointf, $this->maxPageLength );
$outpointf = $wgContLang->truncate( $outpointf, $this->maxPageLength );
- $queryparams = $namespace ? "namespace=$namespace&" : '';
+ $queryParams = array (
+ 'from' => $inpoint,
+ 'to' => $outpoint,
+ );
- $queryhideredirects = array();
- if ( $hideredirects ) {
- $queryhideredirects['hideredirects'] = 1;
+ if( $namespace ) {
+ $queryParams['namespace'] = $namespace;
+ }
+ if ( $hideRedirects ) {
+ $queryParams['hideredirects'] = 1;
}
- $special = $this->getTitle();
- $link = htmlspecialchars( $special->getLocalUrl( $queryparams . 'from=' . urlencode( $inpoint ) . '&to=' . urlencode( $outpoint ), $queryhideredirects ) );
+ $link = htmlspecialchars(
+ $this->getTitle()->getLocalURL( $queryParams ) );
$out = $this->msg( 'alphaindexline' )->rawParams(
"<a href=\"$link\">$inpointf</a></td><td>",
$conds['page_is_redirect'] = 0;
}
- if( $toKey !== "" ) {
+ if ( $toKey !== "" ) {
$conds[] = 'page_title <= ' . $dbr->addQuotes( $toKey );
}
$conds,
__METHOD__,
array(
- 'ORDER BY' => 'page_title',
- 'LIMIT' => $this->maxPerPage + 1,
+ 'ORDER BY' => 'page_title',
+ 'LIMIT' => $this->maxPerPage + 1,
'USE INDEX' => 'name_title',
)
);
- if( $res->numRows() > 0 ) {
+ if ( $res->numRows() > 0 ) {
$out = Xml::openElement( 'table', array( 'class' => 'mw-allpages-table-chunk' ) );
- while( ( $n < $this->maxPerPage ) && ( $s = $res->fetchObject() ) ) {
+ while ( ( $n < $this->maxPerPage ) && ( $s = $res->fetchObject() ) ) {
$t = Title::newFromRow( $s );
- if( $t ) {
+ if ( $t ) {
$link = ( $s->page_is_redirect ? '<div class="allpagesredirect">' : '' ) .
Linker::link( $t ) .
- ($s->page_is_redirect ? '</div>' : '' );
+ ( $s->page_is_redirect ? '</div>' : '' );
} else {
$link = '[[' . htmlspecialchars( $s->page_title ) . ']]';
}
- if( $n % 3 == 0 ) {
+
+ if ( $n % 3 == 0 ) {
$out .= '<tr>';
}
+
$out .= "<td style=\"width:33%\">$link</td>";
$n++;
- if( $n % 3 == 0 ) {
+ if ( $n % 3 == 0 ) {
$out .= "</tr>\n";
}
}
- if( ($n % 3) != 0 ) {
+
+ if ( ( $n % 3 ) != 0 ) {
$out .= "</tr>\n";
}
$out .= Xml::closeElement( 'table' );
if ( $this->including() ) {
$out2 = '';
} else {
- if( $from == '' ) {
+ if ( $from == '' ) {
// First chunk; no previous link.
$prevTitle = null;
} else {
);
# Get first title of previous complete chunk
- if( $dbr->numrows( $res_prev ) >= $this->maxPerPage ) {
+ if ( $dbr->numrows( $res_prev ) >= $this->maxPerPage ) {
$pt = $dbr->fetchObject( $res_prev );
$prevTitle = Title::makeTitle( $namespace, $pt->page_title );
} else {
# The previous chunk is not complete, need to link to the very first title
# available in the database
$options = array( 'LIMIT' => 1 );
- if ( ! $dbr->implicitOrderby() ) {
+ if ( !$dbr->implicitOrderby() ) {
$options['ORDER BY'] = 'page_title';
}
$reallyFirstPage_title = $dbr->selectField( 'page', 'page_title',
array( 'page_namespace' => $namespace ), __METHOD__, $options );
# Show the previous link if it s not the current requested chunk
- if( $from != $reallyFirstPage_title ) {
+ if ( $from != $reallyFirstPage_title ) {
$prevTitle = Title::makeTitle( $namespace, $reallyFirstPage_title );
} else {
$prevTitle = null;
$self = $this->getTitle();
$nsForm = $this->namespaceForm( $namespace, $from, $to, $hideredirects );
- $out2 = Xml::openElement( 'table', array( 'class' => 'mw-allpages-table-form' ) ).
- '<tr>
+ $out2 = Xml::openElement( 'table', array( 'class' => 'mw-allpages-table-form' ) ) .
+ '<tr>
<td>' .
- $nsForm .
- '</td>
+ $nsForm .
+ '</td>
<td class="mw-allpages-nav">' .
- Linker::link( $self, $this->msg( 'allpages' )->escaped() );
+ Linker::link( $self, $this->msg( 'allpages' )->escaped() );
# Do we put a previous link ?
- if( isset( $prevTitle ) && $pt = $prevTitle->getText() ) {
+ if ( isset( $prevTitle ) && $pt = $prevTitle->getText() ) {
$query = array( 'from' => $prevTitle->getText() );
- if( $namespace )
+ if ( $namespace ) {
$query['namespace'] = $namespace;
+ }
- if( $hideredirects )
+ if ( $hideredirects ) {
$query['hideredirects'] = $hideredirects;
+ }
$prevLink = Linker::linkKnown(
$self,
$out2 = $this->getLanguage()->pipeList( array( $out2, $prevLink ) );
}
- if( $n == $this->maxPerPage && $s = $res->fetchObject() ) {
+ if ( $n == $this->maxPerPage && $s = $res->fetchObject() ) {
# $s is the first link of the next chunk
$t = Title::makeTitle( $namespace, $s->page_title );
$query = array( 'from' => $t->getText() );
- if( $namespace )
+ if ( $namespace ) {
$query['namespace'] = $namespace;
+ }
- if( $hideredirects )
+ if ( $hideredirects ) {
$query['hideredirects'] = $hideredirects;
+ }
$nextLink = Linker::linkKnown(
$self,
$output->addHTML( $out2 . $out );
$links = array();
- if ( isset( $prevLink ) ) $links[] = $prevLink;
- if ( isset( $nextLink ) ) $links[] = $nextLink;
+ if ( isset( $prevLink ) ) {
+ $links[] = $prevLink;
+ }
+
+ if ( isset( $nextLink ) ) {
+ $links[] = $nextLink;
+ }
if ( count( $links ) ) {
$output->addHTML(
Html::element( 'hr' ) .
- Html::rawElement( 'div', array( 'class' => 'mw-allpages-nav' ),
- $this->getLanguage()->pipeList( $links )
- ) );
+ Html::rawElement( 'div', array( 'class' => 'mw-allpages-nav' ),
+ $this->getLanguage()->pipeList( $links )
+ )
+ );
}
}
* @return array( int namespace, string dbkey, string pagename ) or NULL on error
*/
protected function getNamespaceKeyAndText( $ns, $text ) {
- if ( $text == '' )
- return array( $ns, '', '' ); # shortcut for common case
+ if ( $text == '' ) {
+ # shortcut for common case
+ return array( $ns, '', '' );
+ }
$t = Title::makeTitleSafe( $ns, $text );
if ( $t && $t->isLocal() ) {
function getQueryInfo() {
return array(
'tables' => array( 'page', 'revision' ),
- 'fields' => array( 'namespace' => 'page_namespace',
- 'title' => 'page_title',
- 'value' => 'rev_timestamp' ),
- 'conds' => array( 'page_namespace' => MWNamespace::getContentNamespaces(),
- 'page_is_redirect' => 0,
- 'page_latest=rev_id' )
+ 'fields' => array(
+ 'namespace' => 'page_namespace',
+ 'title' => 'page_title',
+ 'value' => 'rev_timestamp'
+ ),
+ 'conds' => array(
+ 'page_namespace' => MWNamespace::getContentNamespaces(),
+ 'page_is_redirect' => 0,
+ 'page_latest=rev_id'
+ )
);
}
public function __construct() {
parent::__construct( 'Blankpage' );
}
+
public function execute( $par ) {
$this->setHeaders();
$this->getOutput()->addWikiMsg( 'intentionallyblankpage' );
$s = HTMLForm::formatErrors( $this->preErrors );
if ( $s ) {
$form->addHeaderText( Html::rawElement(
- 'div',
- array( 'class' => 'error' ),
- $s
- ) );
+ 'div',
+ array( 'class' => 'error' ),
+ $s
+ ) );
}
}
}
if ( $block instanceof Block && !$block->mAuto # The block exists and isn't an autoblock
&& ( $this->type != Block::TYPE_RANGE # The block isn't a rangeblock
|| $block->getTarget() == $this->target ) # or if it is, the range is what we're about to block
- )
- {
+ ) {
$fields['HardBlock']['default'] = $block->isHardblock();
$fields['CreateAccount']['default'] = $block->prevents( 'createaccount' );
$fields['AutoBlock']['default'] = $block->isAutoblocking();
$i = 0;
$target = null;
- while( true ) {
- switch( $i++ ) {
+ while ( true ) {
+ switch ( $i++ ) {
case 0:
# The HTMLForm will check wpTarget first and only if it doesn't get
# a value use the default, which will be generated from the options
# but $data['target'] gets overriden by (non-normalized) request variable
# from previous request.
if ( $target === $performer->getName() &&
- ( $data['PreviousTarget'] !== $target || !$data['Confirm'] ) )
- {
+ ( $data['PreviousTarget'] !== $target || !$data['Confirm'] )
+ ) {
return array( 'ipb-blockingself' );
}
} elseif ( $type == Block::TYPE_RANGE ) {
}
if ( ( strlen( $data['Expiry'] ) == 0 ) || ( strlen( $data['Expiry'] ) > 50 )
- || !self::parseExpiryInput( $data['Expiry'] ) )
- {
+ || !self::parseExpiryInput( $data['Expiry'] )
+ ) {
return array( 'ipb_expiry_invalid' );
}
$reblockNotAllowed = ( array_key_exists( 'Reblock', $data ) && !$data['Reblock'] );
# Show form unless the user is already aware of this...
- if( $blockNotConfirmed || $reblockNotAllowed ) {
+ if ( $blockNotConfirmed || $reblockNotAllowed ) {
return array( array( 'ipb_already_blocked', $block->getTarget() ) );
- # Otherwise, try to update the block...
+ # Otherwise, try to update the block...
} else {
# This returns direct blocks before autoblocks/rangeblocks, since we should
# be sure the user is blocked by now it should work for our purposes
# User is trying to unblock themselves
if ( $performer->isAllowed( 'unblockself' ) ) {
return true;
- # User blocked themselves and is now trying to reverse it
+ # User blocked themselves and is now trying to reverse it
} elseif ( $performer->blockedBy() === $performer->getName() ) {
return true;
} else {
$action = $request->getText( 'action' );
- if( $action == 'unblock' || $action == 'submit' && $request->wasPosted() ) {
+ if ( $action == 'unblock' || $action == 'submit' && $request->wasPosted() ) {
# B/C @since 1.18: Unblock interface is now at Special:Unblock
$title = SpecialPage::getTitleFor( 'Unblock', $this->target );
- $out->redirect( $title->getFullUrl() );
+ $out->redirect( $title->getFullURL() );
return;
}
if ( $this->target !== '' ) {
list( $target, $type ) = Block::parseTarget( $this->target );
- switch( $type ) {
+ switch ( $type ) {
case Block::TYPE_ID:
case Block::TYPE_AUTO:
$conds['ipb_id'] = $target;
}
# Apply filters
- if( in_array( 'userblocks', $this->options ) ) {
+ if ( in_array( 'userblocks', $this->options ) ) {
$conds['ipb_user'] = 0;
}
- if( in_array( 'tempblocks', $this->options ) ) {
+ if ( in_array( 'tempblocks', $this->options ) ) {
$conds['ipb_expiry'] = 'infinity';
}
- if( in_array( 'addressblocks', $this->options ) ) {
+ if ( in_array( 'addressblocks', $this->options ) ) {
$conds[] = "ipb_user != 0 OR ipb_range_end > ipb_range_start";
}
- if( in_array( 'rangeblocks', $this->options ) ) {
+ if ( in_array( 'rangeblocks', $this->options ) ) {
$conds[] = "ipb_range_end = ipb_range_start";
}
# Show additional header for the local block only when other blocks exists.
# Not necessary in a standard installation without such extensions enabled
- if( count( $otherBlockLink ) ) {
+ if ( count( $otherBlockLink ) ) {
$out->addHTML(
Html::element( 'h2', array(), $this->msg( 'ipblocklist-localblock' )->text() ) . "\n"
);
if ( $pager->getNumRows() ) {
$out->addHTML(
$pager->getNavigationBar() .
- $pager->getBody().
- $pager->getNavigationBar()
+ $pager->getBody() .
+ $pager->getNavigationBar()
);
} elseif ( $this->target ) {
$out->addWikiMsg( 'ipblocklist-empty' );
}
- if( count( $otherBlockLink ) ) {
+ if ( count( $otherBlockLink ) ) {
$out->addHTML(
Html::rawElement(
'h2',
) . "\n"
);
$list = '';
- foreach( $otherBlockLink as $link ) {
+ foreach ( $otherBlockLink as $link ) {
$list .= Html::rawElement( 'li', array(), $link ) . "\n";
}
$out->addHTML( Html::rawElement( 'ul', array( 'class' => 'mw-ipblocklist-otherblocks' ), $list ) . "\n" );
'ipb_params' => 'blocklist-params',
'ipb_reason' => 'blocklist-reason',
);
- foreach( $headers as $key => $val ) {
+ foreach ( $headers as $key => $val ) {
$headers[$key] = $this->msg( $val )->text();
}
}
$formatted = '';
- switch( $name ) {
+ switch ( $name ) {
case 'ipb_timestamp':
$formatted = $this->getLanguage()->userTimeAndDate( $value, $this->getUser() );
break;
case 'ipb_target':
- if( $row->ipb_auto ) {
+ if ( $row->ipb_auto ) {
$formatted = $this->msg( 'autoblockid', $row->ipb_id )->parse();
} else {
list( $target, $type ) = Block::parseTarget( $row->ipb_address );
- switch( $type ) {
+ switch ( $type ) {
case Block::TYPE_USER:
case Block::TYPE_IP:
$formatted = Linker::userLink( $target->getId(), $target );
break;
case 'ipb_expiry':
- $formatted = $this->getLanguage()->formatExpiry( $value, /* User preference timezone */ true );
- if( $this->getUser()->isAllowed( 'block' ) ) {
- if( $row->ipb_auto ) {
+ $formatted = $this->getLanguage()->formatExpiry( $value, /* User preference timezone */true );
+ if ( $this->getUser()->isAllowed( 'block' ) ) {
+ if ( $row->ipb_auto ) {
$links[] = Linker::linkKnown(
SpecialPage::getTitleFor( 'Unblock' ),
$msg['unblocklink'],
}
$ua = UserArray::newFromIDs( $userids );
- foreach( $ua as $user ) {
+ foreach ( $ua as $user ) {
$name = str_replace( ' ', '_', $user->getName() );
$lb->add( NS_USER, $name );
$lb->add( NS_USER_TALK, $name );
$this->outputHeader();
$ip = $this->getRequest()->getIP();
- if( !$wgBlockOpenProxies || $this->getRequest()->getText( 'ip' ) != md5( $ip . $wgProxyKey ) ) {
+ if ( !$wgBlockOpenProxies || $this->getRequest()->getText( 'ip' ) != md5( $ip . $wgProxyKey ) ) {
$this->getOutput()->addWikiMsg( 'proxyblocker-disabled' );
return;
}
$this->outputHeader();
$this->isbn = self::cleanIsbn( $isbn ? $isbn : $this->getRequest()->getText( 'isbn' ) );
$this->getOutput()->addHTML( $this->makeForm() );
- if( strlen( $this->isbn ) > 0 ) {
- if( !self::isValidISBN( $this->isbn ) ) {
+ if ( strlen( $this->isbn ) > 0 ) {
+ if ( !self::isValidISBN( $this->isbn ) ) {
$this->getOutput()->wrapWikiMsg( "<div class=\"error\">\n$1\n</div>", 'booksources-invalid-isbn' );
}
$this->showList();
public static function isValidISBN( $isbn ) {
$isbn = self::cleanIsbn( $isbn );
$sum = 0;
- if( strlen( $isbn ) == 13 ) {
- for( $i = 0; $i < 12; $i++ ) {
- if( $i % 2 == 0 ) {
+ if ( strlen( $isbn ) == 13 ) {
+ for ( $i = 0; $i < 12; $i++ ) {
+ if ( $i % 2 == 0 ) {
$sum += $isbn[$i];
} else {
$sum += 3 * $isbn[$i];
}
}
- $check = (10 - ($sum % 10)) % 10;
+ $check = ( 10 - ( $sum % 10 ) ) % 10;
if ( $check == $isbn[12] ) {
return true;
}
- } elseif( strlen( $isbn ) == 10 ) {
- for( $i = 0; $i < 9; $i++ ) {
- $sum += $isbn[$i] * ($i + 1);
+ } elseif ( strlen( $isbn ) == 10 ) {
+ for ( $i = 0; $i < 9; $i++ ) {
+ $sum += $isbn[$i] * ( $i + 1 );
}
$check = $sum % 11;
- if( $check == 10 ) {
+ if ( $check == 10 ) {
$check = "X";
}
- if( $check == $isbn[9] ) {
+ if ( $check == $isbn[9] ) {
return true;
}
}
# Check for a local page such as Project:Book_sources and use that if available
$page = $this->msg( 'booksources' )->inContentLanguage()->text();
$title = Title::makeTitleSafe( NS_PROJECT, $page ); # Show list in content language
- if( is_object( $title ) && $title->exists() ) {
+ if ( is_object( $title ) && $title->exists() ) {
$rev = Revision::newFromTitle( $title, false, Revision::READ_NORMAL );
$content = $rev->getContent();
$this->getOutput()->addWikiMsg( 'booksources-text' );
$this->getOutput()->addHTML( '<ul>' );
$items = $wgContLang->getBookstoreList();
- foreach( $items as $label => $url )
+ foreach ( $items as $label => $url )
$this->getOutput()->addHTML( $this->makeListItem( $label, $url ) );
$this->getOutput()->addHTML( '</ul>' );
return true;
* @return array
*/
function getOrderFields() {
- return array ( 'rd_namespace', 'rd_title', 'rd_from' );
+ return array( 'rd_namespace', 'rd_title', 'rd_from' );
}
/**
$out = $from . $this->msg( 'word-separator' )->escaped();
- if( $this->getUser()->isAllowed( 'delete' ) ) {
+ if ( $this->getUser()->isAllowed( 'delete' ) ) {
$links[] = Linker::linkKnown(
$fromObj,
$this->msg( 'brokenredirects-delete' )->escaped(),
$this->getOutput()->addHTML(
Html::openElement( 'div', array( 'class' => 'mw-spcontent' ) ) .
- $this->msg( 'categoriespagetext', $cap->getNumRows() )->parseAsBlock() .
- $cap->getStartForm( $from ) .
- $cap->getNavigationBar() .
- '<ul>' . $cap->getBody() . '</ul>' .
- $cap->getNavigationBar() .
- Html::closeElement( 'div' )
+ $this->msg( 'categoriespagetext', $cap->getNumRows() )->parseAsBlock() .
+ $cap->getStartForm( $from ) .
+ $cap->getNavigationBar() .
+ '<ul>' . $cap->getBody() . '</ul>' .
+ $cap->getNavigationBar() .
+ Html::closeElement( 'div' )
);
}
function __construct( IContextSource $context, $from ) {
parent::__construct( $context );
$from = str_replace( ' ', '_', $from );
- if( $from !== '' ) {
+ if ( $from !== '' ) {
$from = Title::capitalize( $from, NS_CATEGORY );
$this->setOffset( $from );
$this->setIncludeOffset( true );
unset( $this->mDefaultQuery['from'] );
return $this->mDefaultQuery;
}
+
# protected function getOrderTypeMessages() {
# return array( 'abc' => 'special-categories-sort-abc',
# 'count' => 'special-categories-sort-count' );
public function getStartForm( $from ) {
global $wgScript;
- return Xml::tags( 'form', array( 'method' => 'get', 'action' => $wgScript ),
- Html::hidden( 'title', $this->getTitle()->getPrefixedText() ) .
- Xml::fieldset( $this->msg( 'categories' )->text(),
- Xml::inputLabel( $this->msg( 'categoriesfrom' )->text(),
+ return Xml::tags(
+ 'form',
+ array( 'method' => 'get', 'action' => $wgScript ),
+ Html::hidden( 'title', $this->getTitle()->getPrefixedText() ) .
+ Xml::fieldset(
+ $this->msg( 'categories' )->text(),
+ Xml::inputLabel(
+ $this->msg( 'categoriesfrom' )->text(),
'from', 'from', 20, $from ) .
- ' ' .
- Xml::submitButton( $this->msg( 'allpagessubmit' )->text() ) ) );
+ ' ' .
+ Xml::submitButton( $this->msg( 'allpagessubmit' )->text()
+ )
+ )
+ );
}
}
$this->mNewEmail = $request->getVal( 'wpNewEmail' );
if ( $request->wasPosted()
- && $user->matchEditToken( $request->getVal( 'token' ) ) )
- {
+ && $user->matchEditToken( $request->getVal( 'token' ) )
+ ) {
$info = $this->attemptChange( $user, $this->mPassword, $this->mNewEmail );
if ( $info === true ) {
$this->doReturnTo();
$this->getOutput()->addHTML(
Xml::fieldset( $this->msg( 'changeemail-header' )->text() ) .
- Xml::openElement( 'form',
- array(
- 'method' => 'post',
- 'action' => $this->getTitle()->getLocalUrl(),
- 'id' => 'mw-changeemail-form' ) ) . "\n" .
- Html::hidden( 'token', $user->getEditToken() ) . "\n" .
- Html::hidden( 'returnto', $this->getRequest()->getVal( 'returnto' ) ) . "\n" .
- $this->msg( 'changeemail-text' )->parseAsBlock() . "\n" .
- Xml::openElement( 'table', array( 'id' => 'mw-changeemail-table' ) ) . "\n"
+ Xml::openElement( 'form',
+ array(
+ 'method' => 'post',
+ 'action' => $this->getTitle()->getLocalURL(),
+ 'id' => 'mw-changeemail-form' ) ) . "\n" .
+ Html::hidden( 'token', $user->getEditToken() ) . "\n" .
+ Html::hidden( 'returnto', $this->getRequest()->getVal( 'returnto' ) ) . "\n" .
+ $this->msg( 'changeemail-text' )->parseAsBlock() . "\n" .
+ Xml::openElement( 'table', array( 'id' => 'mw-changeemail-table' ) ) . "\n"
);
$items = array(
array( 'wpName', 'username', 'text', $user->getName() ),
$this->getOutput()->addHTML(
$this->pretty( $items ) .
- "\n" .
- "<tr>\n" .
+ "\n" .
+ "<tr>\n" .
"<td></td>\n" .
'<td class="mw-input">' .
- Xml::submitButton( $this->msg( 'changeemail-submit' )->text() ) .
- Xml::submitButton( $this->msg( 'changeemail-cancel' )->text(), array( 'name' => 'wpCancel' ) ) .
+ Xml::submitButton( $this->msg( 'changeemail-submit' )->text() ) .
+ Xml::submitButton( $this->msg( 'changeemail-cancel' )->text(), array( 'name' => 'wpCancel' ) ) .
"</td>\n" .
- "</tr>\n" .
- Xml::closeElement( 'table' ) .
- Xml::closeElement( 'form' ) .
- Xml::closeElement( 'fieldset' ) . "\n"
+ "</tr>\n" .
+ Xml::closeElement( 'table' ) .
+ Xml::closeElement( 'form' ) .
+ Xml::closeElement( 'fieldset' ) . "\n"
);
}
$out = '';
foreach ( $fields as $list ) {
list( $name, $label, $type, $value ) = $list;
- if( $type == 'text' ) {
+ if ( $type == 'text' ) {
$field = htmlspecialchars( $value );
} else {
$attribs = array( 'id' => $name );
if ( !$status->isGood() ) {
$this->getOutput()->addHTML(
'<p class="error">' .
- $this->getOutput()->parseInline( $status->getWikiText( 'mailerror' ) ) .
- '</p>' );
+ $this->getOutput()->parseInline( $status->getWikiText( 'mailerror' ) ) .
+ '</p>' );
return false;
}
$this->mDomain = $request->getVal( 'wpDomain' );
$user = $this->getUser();
- if( !$request->wasPosted() && !$user->isLoggedIn() ) {
+ if ( !$request->wasPosted() && !$user->isLoggedIn() ) {
$this->error( $this->msg( 'resetpass-no-info' )->text() );
return;
}
- if( $request->wasPosted() && $request->getBool( 'wpCancel' ) ) {
+ if ( $request->wasPosted() && $request->getBool( 'wpCancel' ) ) {
$this->doReturnTo();
return;
}
$this->checkReadOnly();
- if( $request->wasPosted() && $user->matchEditToken( $request->getVal( 'token' ) ) ) {
+ if ( $request->wasPosted() && $user->matchEditToken( $request->getVal( 'token' ) ) ) {
try {
$this->mDomain = $wgAuth->getDomain();
- if( !$wgAuth->allowPasswordChange() ) {
+ if ( !$wgAuth->allowPasswordChange() ) {
$this->error( $this->msg( 'resetpass_forbidden' )->text() );
return;
}
$this->attemptReset( $this->mNewpass, $this->mRetype );
- if( $user->isLoggedIn() ) {
+ if ( $user->isLoggedIn() ) {
$this->doReturnTo();
} else {
LoginForm::setLoginToken();
$token = LoginForm::getLoginToken();
$data = array(
- 'action' => 'submitlogin',
- 'wpName' => $this->mUserName,
- 'wpDomain' => $this->mDomain,
+ 'action' => 'submitlogin',
+ 'wpName' => $this->mUserName,
+ 'wpDomain' => $this->mDomain,
'wpLoginToken' => $token,
- 'wpPassword' => $request->getVal( 'wpNewPassword' ),
+ 'wpPassword' => $request->getVal( 'wpNewPassword' ),
) + $request->getValues( 'wpRemember', 'returnto', 'returntoquery' );
$login = new LoginForm( new FauxRequest( $data, true ) );
$login->setContext( $this->getContext() );
$login->execute( null );
}
return;
- } catch( PasswordError $e ) {
+ } catch ( PasswordError $e ) {
$this->error( $e->getMessage() );
}
}
$rememberMe = '<tr>' .
'<td></td>' .
'<td class="mw-input">' .
- Xml::checkLabel(
- $this->msg( 'remembermypassword' )->numParams( ceil( $wgCookieExpiration / ( 3600 * 24 ) ) )->text(),
- 'wpRemember', 'wpRemember',
- $this->getRequest()->getCheck( 'wpRemember' ) ) .
+ Xml::checkLabel(
+ $this->msg( 'remembermypassword' )->numParams( ceil( $wgCookieExpiration / ( 3600 * 24 ) ) )->text(),
+ 'wpRemember', 'wpRemember',
+ $this->getRequest()->getCheck( 'wpRemember' ) ) .
'</td>' .
- '</tr>';
+ '</tr>';
$submitMsg = 'resetpass_submit';
$oldpassMsg = 'resetpass-temp-password';
} else {
$extraFields = array();
wfRunHooks( 'ChangePasswordForm', array( &$extraFields ) );
$prettyFields = array(
- array( 'wpName', 'username', 'text', $this->mUserName ),
- array( 'wpPassword', $oldpassMsg, 'password', $this->mOldpass ),
- array( 'wpNewPassword', 'newpassword', 'password', null ),
- array( 'wpRetype', 'retypenew', 'password', null ),
- );
+ array( 'wpName', 'username', 'text', $this->mUserName ),
+ array( 'wpPassword', $oldpassMsg, 'password', $this->mOldpass ),
+ array( 'wpNewPassword', 'newpassword', 'password', null ),
+ array( 'wpRetype', 'retypenew', 'password', null ),
+ );
$prettyFields = array_merge( $prettyFields, $extraFields );
$hiddenFields = array(
'token' => $user->getEditToken(),
'wpDomain' => $this->mDomain,
) + $this->getRequest()->getValues( 'returnto', 'returntoquery' );
$hiddenFieldsStr = '';
- foreach( $hiddenFields as $fieldname => $fieldvalue ) {
+ foreach ( $hiddenFields as $fieldname => $fieldvalue ) {
$hiddenFieldsStr .= Html::hidden( $fieldname, $fieldvalue ) . "\n";
}
$this->getOutput()->addHTML(
Xml::fieldset( $this->msg( 'resetpass_header' )->text() ) .
- Xml::openElement( 'form',
- array(
- 'method' => 'post',
- 'action' => $this->getTitle()->getLocalUrl(),
- 'id' => 'mw-resetpass-form' ) ) . "\n" .
- $hiddenFieldsStr .
- $this->msg( 'resetpass_text' )->parseAsBlock() . "\n" .
- Xml::openElement( 'table', array( 'id' => 'mw-resetpass-table' ) ) . "\n" .
- $this->pretty( $prettyFields ) . "\n" .
- $rememberMe .
- "<tr>\n" .
+ Xml::openElement( 'form',
+ array(
+ 'method' => 'post',
+ 'action' => $this->getTitle()->getLocalURL(),
+ 'id' => 'mw-resetpass-form' ) ) . "\n" .
+ $hiddenFieldsStr .
+ $this->msg( 'resetpass_text' )->parseAsBlock() . "\n" .
+ Xml::openElement( 'table', array( 'id' => 'mw-resetpass-table' ) ) . "\n" .
+ $this->pretty( $prettyFields ) . "\n" .
+ $rememberMe .
+ "<tr>\n" .
"<td></td>\n" .
'<td class="mw-input">' .
- Xml::submitButton( $this->msg( $submitMsg )->text() ) .
- Xml::submitButton( $this->msg( 'resetpass-submit-cancel' )->text(), array( 'name' => 'wpCancel' ) ) .
+ Xml::submitButton( $this->msg( $submitMsg )->text() ) .
+ Xml::submitButton( $this->msg( 'resetpass-submit-cancel' )->text(), array( 'name' => 'wpCancel' ) ) .
"</td>\n" .
- "</tr>\n" .
- Xml::closeElement( 'table' ) .
- Xml::closeElement( 'form' ) .
- Xml::closeElement( 'fieldset' ) . "\n"
+ "</tr>\n" .
+ Xml::closeElement( 'table' ) .
+ Xml::closeElement( 'form' ) .
+ Xml::closeElement( 'fieldset' ) . "\n"
);
}
$out = '';
foreach ( $fields as $list ) {
list( $name, $label, $type, $value ) = $list;
- if( $type == 'text' ) {
+ if ( $type == 'text' ) {
$field = htmlspecialchars( $value );
} else {
$attribs = array( 'id' => $name );
}
$out .= "<tr>\n";
$out .= "\t<td class='mw-label'>";
- if ( $type != 'text' )
+
+ if ( $type != 'text' ) {
$out .= Xml::label( $this->msg( $label )->text(), $name );
- else
+ } else {
$out .= $this->msg( $label )->escaped();
+ }
+
$out .= "</td>\n";
$out .= "\t<td class='mw-input'>";
$out .= $field;
$user = User::newFromName( $this->mUserName );
}
- if( !$user || $user->isAnon() ) {
+ if ( !$user || $user->isAnon() ) {
throw new PasswordError( $this->msg( 'nosuchusershort', $this->mUserName )->text() );
}
- if( $newpass !== $retype ) {
+ if ( $newpass !== $retype ) {
wfRunHooks( 'PrefsPasswordAudit', array( $user, $newpass, 'badretype' ) );
throw new PasswordError( $this->msg( 'badretype' )->text() );
}
throw new PasswordError( $this->msg( 'login-throttled' )->text() );
}
- if( !$user->checkTemporaryPassword( $this->mOldpass ) && !$user->checkPassword( $this->mOldpass ) ) {
+ if ( !$user->checkTemporaryPassword( $this->mOldpass ) && !$user->checkPassword( $this->mOldpass ) ) {
wfRunHooks( 'PrefsPasswordAudit', array( $user, $newpass, 'wrongpassword' ) );
throw new PasswordError( $this->msg( 'resetpass-wrong-oldpass' )->text() );
}
$user->setPassword( $this->mNewpass );
wfRunHooks( 'PrefsPasswordAudit', array( $user, $newpass, 'success' ) );
$this->mNewpass = $this->mOldpass = $this->mRetype = '';
- } catch( PasswordError $e ) {
+ } catch ( PasswordError $e ) {
wfRunHooks( 'PrefsPasswordAudit', array( $user, $newpass, 'error' ) );
throw new PasswordError( $e->getMessage() );
}
$rev1 = self::revOrTitle( $data['Revision1'], $data['Page1'] );
$rev2 = self::revOrTitle( $data['Revision2'], $data['Page2'] );
- if( $rev1 && $rev2 ) {
+ if ( $rev1 && $rev2 ) {
$revision = Revision::newFromId( $rev1 );
if ( $revision ) { // NOTE: $rev1 was already checked, should exist.
}
public static function revOrTitle( $revision, $title ) {
- if( $revision ) {
+ if ( $revision ) {
return $revision;
- } elseif( $title ) {
+ } elseif ( $title ) {
$title = Title::newFromText( $title );
- if( $title instanceof Title ) {
+ if ( $title instanceof Title ) {
return $title->getLatestRevID();
}
}
$out->wrapWikiMsg( "<div class=\"error mw-confirmemail-pending\">\n$1\n</div>", 'confirmemail_pending' );
}
$out->addWikiMsg( 'confirmemail_text' );
- $form = Xml::openElement( 'form', array( 'method' => 'post', 'action' => $this->getTitle()->getLocalUrl() ) );
+ $form = Xml::openElement( 'form', array( 'method' => 'post', 'action' => $this->getTitle()->getLocalURL() ) );
$form .= Html::hidden( 'token', $user->getEditToken() );
$form .= Xml::submitButton( $this->msg( 'confirmemail_send' )->text() );
$form .= Xml::closeElement( 'form' );
$out->addWikiMsg( 'exporttext' );
$form = Xml::openElement( 'form', array( 'method' => 'post',
- 'action' => $this->getTitle()->getLocalUrl( 'action=submit' ) ) );
+ 'action' => $this->getTitle()->getLocalURL( 'action=submit' ) ) );
$form .= Xml::inputLabel( $this->msg( 'export-addcattext' )->text(), 'catname', 'catname', 40 ) . ' ';
$form .= Xml::submitButton( $this->msg( 'export-addcat' )->text(), array( 'name' => 'addcat' ) ) . '<br />';
private function showForm() {
global $wgImportSources, $wgExportMaxLinkDepth;
- $action = $this->getTitle()->getLocalUrl( array( 'action' => 'submit' ) );
+ $action = $this->getTitle()->getLocalURL( array( 'action' => 'submit' ) );
$user = $this->getUser();
$out = $this->getOutput();
$feed = new $wgFeedClasses[$type](
$this->feedTitle(),
$this->msg( 'tagline' )->text(),
- $this->getTitle()->getFullUrl()
+ $this->getTitle()->getFullURL()
);
$pager = new NewPagesPager( $this, $this->opts );
),
), $this->getContext() );
$form->setMethod( 'get' );
- $form->setAction( $this->getTitle()->getFullUrl() );
+ $form->setAction( $this->getTitle()->getFullURL() );
$form->setSubmitCallback( array( $this, 'onSubmit' ) );
$form->setWrapperLegend( $this->msg( 'pageswithprop-legend' ) );
$form->addHeaderText( $this->msg( 'pageswithprop-text' )->parseAsBlock() );
$username,
$passwordBlock,
count( $passwords ),
- '<' . Title::newMainPage()->getCanonicalUrl() . '>',
+ '<' . Title::newMainPage()->getCanonicalURL() . '>',
round( $wgNewPasswordExpiry / 86400 )
);
}
$title = Title::makeTitleSafe( $row->page_namespace, $row->page_title );
+ if( !$title ) {
+ return Html::rawElement( 'li', array(),
+ Html::element( 'span', array( 'class' => 'mw-invalidtitle' ),
+ Linker::getInvalidTitleDescription( $this->getContext(), $row->page_namespace, $row->page_title ) ) ) . "\n";
+ }
+
$link = Linker::link( $title );
$description_items = array ();
}
$title = Title::makeTitleSafe( $row->pt_namespace, $row->pt_title );
+ if( !$title ) {
+ return Html::rawElement( 'li', array(),
+ Html::element( 'span', array( 'class' => 'mw-invalidtitle' ),
+ Linker::getInvalidTitleDescription( $this->getContext(), $row->pt_namespace, $row->pt_title ) ) ) . "\n";
+ }
+
$link = Linker::link( $title );
$description_items = array ();
$redirectParam = $this->isRedirect() ? array( 'redirect' => 'no' ) : array();
$query = array_merge( $this->getRequest()->getValues(), $redirectParam );
unset( $query['title'] );
- $this->getOutput()->redirect( $title->getFullUrl( $query ) );
+ $this->getOutput()->redirect( $title->getFullURL( $query ) );
}
/**
$this->msg( 'recentchangeslinked-title', $this->getTargetTitle()->getPrefixedText() )
->inContentLanguage()->text(),
$this->msg( 'recentchangeslinked-feed' )->inContentLanguage()->text(),
- $this->getTitle()->getFullUrl()
+ $this->getTitle()->getFullURL()
);
return array( $feed, $feedObj );
}
$this->getOutput()->addHTML(
Xml::openElement( 'form', array(
'method' => 'POST',
- 'action' => $this->getTitle()->getLocalUrl(
+ 'action' => $this->getTitle()->getLocalURL(
'target=' . urlencode( $this->targetObj->getPrefixedDBkey() ) .
'&file=' . urlencode( $archiveName ) .
'&token=' . urlencode( $user->getEditToken( $archiveName ) ) )
// Show form if the user can submit
if( $this->mIsAllowed ) {
$out = Xml::openElement( 'form', array( 'method' => 'post',
- 'action' => $this->getTitle()->getLocalUrl( array( 'action' => 'submit' ) ),
+ 'action' => $this->getTitle()->getLocalURL( array( 'action' => 'submit' ) ),
'id' => 'mw-revdel-form-revisions' ) ) .
Xml::fieldset( $this->msg( 'revdelete-legend' )->text() ) .
$this->buildCheckBoxes() .
$mode = null;
}
$title = SpecialPage::getTitleFor( 'EditWatchlist', $mode );
- $output->redirect( $title->getLocalUrl() );
+ $output->redirect( $title->getLocalURL() );
return;
}
$request->wasPosted() )
{
$user->clearAllNotifications();
- $output->redirect( $this->getTitle()->getFullUrl( $nondefaults ) );
+ $output->redirect( $this->getTitle()->getFullURL( $nondefaults ) );
return;
}
}
if( $wgShowUpdatedMarker ) {
$form .= Xml::openElement( 'form', array( 'method' => 'post',
- 'action' => $this->getTitle()->getLocalUrl(),
+ 'action' => $this->getTitle()->getLocalURL(),
'id' => 'mw-watchlist-resetbutton' ) ) . "\n" .
$this->msg( 'wlheader-showupdated' )->parse() .
Xml::submitButton( $this->msg( 'enotif_reset' )->text(), array( 'name' => 'dummy' ) ) . "\n" .
$form .= $wlInfo;
$form .= $cutofflinks;
$form .= $lang->pipeList( $links ) . "\n";
- $form .= Xml::openElement( 'form', array( 'method' => 'post', 'action' => $this->getTitle()->getLocalUrl(), 'id' => 'mw-watchlist-form-namespaceselector' ) ) . "\n";
+ $form .= Xml::openElement( 'form', array( 'method' => 'post', 'action' => $this->getTitle()->getLocalURL(), 'id' => 'mw-watchlist-form-namespaceselector' ) ) . "\n";
$form .= "<hr />\n<p>";
$form .= Html::namespaceSelector(
array(
'recentchanges-label-newpage' => 'ܫܘܚܠܦܐ ܗܢܐ ܐܬܬܣܝܡ ܦܐܬܐ ܚܕܬܐ',
'recentchanges-label-minor' => 'ܗܢܘ ܫܘܚܠܦܐ ܙܥܘܪܐ',
'recentchanges-label-bot' => 'ܒܘܬ (bot) ܥܒܕ ܗܢܐ ܫܘܚܠܦܐ',
+'recentchanges-label-unpatrolled' => 'ܫܘܚܠܦܐ ܗܢܐ ܠܐ ܗܘ ܟܪܝܟܐ ܠܗܫܐ',
'rcnotefrom' => "ܠܬܚܬ ܫܘܚܠܦ̈ܐ ܕܡܢ '''$2''' (ܥܕ '''$1''' ܡܬܚܙܝܢ̈ܐ).",
'rclistfrom' => 'ܚܘܝ ܫܘܚܠܦ̈ܐ ܚܕ̈ܬܐ ܡܢ $1',
'rcshowhideminor' => '$1 ܫܘܚܠܦ̈ܐ ܙܥܘܪ̈ܐ',
'minoreditletter' => 'ܙ',
'newpageletter' => 'ܚ',
'boteditletter' => 'ܒ',
+'rc_categories_any' => 'ܐܝܢܐ ܕܗܘ',
+'rc-change-size-new' => '$1 {{PLURAL:$1|ܒܐܝܛ|ܒܐܝܛ̈ܐ}} ܒܬܪ ܫܘܚܠܦܐ',
'newsectionsummary' => '/* $1 */ ܡܢܬܐ ܚܕܬܐ',
'rc-enhanced-expand' => 'ܚܘܝ ܐܪ̈ܝܟܬܐ (ܒܥܐ ܠܟ JavaScript)',
'rc-enhanced-hide' => 'ܛܫܝ ܐܪ̈ܝܟܬܐ',
'upload_source_file' => ' (ܠܦܦܐ ܥܠ ܚܫܘܒܬܐ ܕܝܠܟ)',
# Special:ListFiles
+'listfiles-summary' => 'ܦܐܬܐ ܕܝܠܢܝܬܐ ܗܕܐ ܬܓܠܚ ܟܠ ܠܦܦ̈ܐ ܡܣܩ̈ܐ.
+ܐܡܬܝ ܕܬܨܦܐ ܒܝܕ ܡܦܠܚܢܐ ܬܓܠܚ ܨܚܚܐ ܐܚܪܝܐ ܒܠܚܘܕ ܕܠܦܦ̈ܐ ܡܣܩ̈ܐ ܒܝܕ ܗܢܐ ܡܦܠܚܢܐ.',
'listfiles_search_for' => 'ܒܨܝ ܥܠ ܫܡܐ ܕܡܝܕܝܐ:',
'imgfile' => 'ܠܦܦܐ',
'listfiles' => 'ܡܟܬܒܘܬܐ ܕܠܦܦ̈ܐ',
'disambiguations' => 'ܦܐܬܬ̈ܐ ܐܣܝܪ̈ܬܐ ܒܦܐܬܬ̈ܐ ܕܬܘܚܡܐ ܐܚܪܢܐ',
'disambiguationspage' => 'Template:ܬܘܚܡܐ ܐܚܪܢܐ',
+'pageswithprop' => 'ܦܐܬܬ̈ܐ ܥܡ ܕܝܠܝܬܐ ܕܦܐܬܐ',
+'pageswithprop-legend' => 'ܦܐܬܬ̈ܐ ܥܡ ܕܝܠܝܬܐ ܕܦܐܬܐ',
+'pageswithprop-prop' => 'ܫܡܐ ܕܕܝܠܝܬܐ',
+'pageswithprop-submit' => 'ܙܠ',
+
'doubleredirects' => 'ܨܘܝܒ̈ܐ ܥܦܝܦ̈ܐ',
'double-redirect-fixed-move' => '[[$1]] ܐܫܬܢܝܬ.
ܗܫܐ ܐܝܬܝܗܝ ܨܘܝܒܐ ܠ [[$2]].',
'listusers-noresult' => 'ܠܐ ܐܫܬܟܚ ܡܦܠܚܢܐ ܚܕ.',
'listusers-blocked' => '(ܚܪܝܡܐ)',
-# Special:ActiveUsers
-'activeusers' => 'ܡܟܬܒܘܬܐ ܕܗܕ̈ܡܐ ܙܪ̄ܝܙܐ',
-'activeusers-count' => '$1 {{PLURAL:$1|ܥܒܕܐ|ܥܒܕ̈ܐ}} ܒ {{PLURAL:$3|ܝܘܡܐ ܐܚܪܝܐ|$3 ܝܘܡܬ̈ܐ ܐܚܪ̈ܝܐ}}',
-'activeusers-from' => 'ܚܘܝ ܡܦܠܚܢ̈ܐ ܕܫܪܐ ܥܡ:',
-'activeusers-hidebots' => 'ܛܫܝ ܒܘܬ̈ܐ (bots)',
-'activeusers-hidesysops' => 'ܛܫܝ ܡܕܒܪ̈ܢܐ',
-'activeusers-noresult' => 'ܠܐ ܐܫܬܟܚ ܡܦܠܚܢ̈ܐ ܐܢܫ̈ܝܢ.',
-
# Special:ListGroupRights
'listgrouprights' => 'ܙܕ̈ܩܐ ܕܟܢܘܫܬܐ ܕܡܦܠܚܢ̈ܐ',
'listgrouprights-group' => 'ܟܢܘܫܬܐ',
'contribslink' => 'ܫܘܬܦܘ̈ܬܐ',
'blocklogpage' => 'ܣܓܠܐ ܕܚܪܡܐ',
'blocklogentry' => 'ܚܪܡ [[$1]] ܠܡܬܚܐ ܕ $2 $3',
+'blocklogtext' => 'ܗܢܘ ܣܓܠܐ ܕܥܡܠܝܬ̈ܐ ܕܚܪܡܐ ܘܫܩܠ ܚܪܡܐ.
+ܡܘܢܥ̈ܐ ܕܐܝ ܦܝ (IP) ܚܪ̈ܝܡܐ ܝܬܐܝܬ ܠܐ ܓܠܝܚܝܢ ܐܢܘܢ.
+ܚܙܝ [[Special:BlockList|ܡܟܬܒܘܬܐ ܕܚܪܡܐ ܕܐܝ ܦܝ (IP)]]ܠܚܙܝܐ ܕܥܡܠܝܬ̈ܐ ܕܚܪܡܐ ܬܘܦܥܠ̈ܐ ܗܫܐܝܬ.',
'unblocklogentry' => 'ܫܩܠ ܚܪܡܐ ܡܢ $1',
'block-log-flags-anononly' => 'ܡܦܠܚܢ̈ܐ ܠܐ ܝܕ̈ܝܥܐ ܒܠܚܘܕ',
'block-log-flags-nocreate' => 'ܒܪܝܬܐ ܕܚܘ̈ܫܒܢܐ ܠܐ ܐܝܬܝܗ ܡܬܩܒܠܢܐ',
'listusers-noresult' => "Nun s'atoparon usuarios.",
'listusers-blocked' => '(bloquiau)',
-# Special:ActiveUsers
-'activeusers' => "Llista d'usuarios activos",
-'activeusers-intro' => "Esta ye una llista d'usuarios que tuvieron alguna mena d'actividá hai menos de $1 {{PLURAL:$1|día|díes}}.",
-'activeusers-count' => '$1 {{PLURAL:$1|edición|ediciones}} {{PLURAL:$3|nel caberu día|nos caberos $3 díes}}',
-'activeusers-from' => 'Amosar usuarios principiando dende:',
-'activeusers-hidebots' => 'Anubrir bots',
-'activeusers-hidesysops' => 'Anubrir alministradores',
-'activeusers-noresult' => "Nun s'alcontraron usuarios.",
-
# Special:ListGroupRights
'listgrouprights' => "Drechos de los grupos d'usuariu",
'listgrouprights-summary' => "La siguiente ye una llista de grupos d'usuariu definíos nesta wiki, colos sos drechos d'accesu asociaos.
'listusers-noresult' => 'هئچ ایستیفادهچی تاپیلمادی.',
'listusers-blocked' => '(باغلانیب)',
-# Special:ActiveUsers
-'activeusers' => 'چالیشان ایستیفادهچیلرین لیستی',
-'activeusers-intro' => 'بوردا سون {{PLURAL:$1|بیر|$1}} گونده بیر ایشلر گؤرن ایستیفادهچیلرین لیستی گؤستریلیر.',
-'activeusers-count' => 'سون {{PLURAL:$3|گون|$3 گون}}ده، {{PLURAL:$1|$1}} چالیشما',
-'activeusers-from' => 'بوندان باشلایاراق ایستیفادهچیلری گؤستر:',
-'activeusers-hidebots' => 'بوتلاری گیزلت',
-'activeusers-hidesysops' => 'ایدارهچیلری گیزلت',
-'activeusers-noresult' => 'هئچ ایستیفادهچی تاپیلمادی.',
-
# Special:ListGroupRights
'listgrouprights' => 'ایستیفادهچی قروپ حاقلاری',
'listgrouprights-summary' => 'آشاغیدا، بو ویکیده تانیلان ایستیفادهچی گروپلاری و اونلارین حاقلاری گؤستریلیر.
'listusers-noresult' => 'Ҡатнашыусылар табылманы',
'listusers-blocked' => '(бикләнгән)',
-# Special:ActiveUsers
-'activeusers' => 'Әүҙем ҡатнашыусылар исемлеге',
-'activeusers-intro' => 'Был — һуңғы $1 {{PLURAL:$1|көн}} эсендә ниҙер башҡарған ҡатнашыусылар исемлеге.',
-'activeusers-count' => 'һуңғы $3 {{PLURAL:$3|көн}} эсендә $1 {{PLURAL:$1|үҙгәртеү}}',
-'activeusers-from' => 'Ошондай хәрефтәрҙән башланған ҡатнашыусыларҙы күрһәтергә:',
-'activeusers-hidebots' => 'Боттарҙы йәшерергә',
-'activeusers-hidesysops' => 'Хәкимдәрҙе йәшерергә',
-'activeusers-noresult' => 'Ҡатнашыусылар табылманы',
-
# Special:ListGroupRights
'listgrouprights' => 'Ҡатнашыусылар төркөмө хоҡуҡтары',
'listgrouprights-summary' => 'Түбәндә был вики-проектта билдәләнгән ҡатнашыусы төркөмдәре килтерелгән һәм уларҙың хоҡуҡтары күрһәтелгән.
'listusers-noresult' => 'Удзельнікі ня знойдзеныя.',
'listusers-blocked' => '({{GENDER:$1|заблякаваны|заблякаваная}})',
-# Special:ActiveUsers
-'activeusers' => 'Сьпіс актыўных удзельнікаў',
-'activeusers-intro' => 'Гэта сьпіс удзельнікаў, якія былі актыўнымі на працягу $1 {{PLURAL:$1|апошняга дня|апошніх дзён|апошніх дзён}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|дзеяньне|дзеяньні|дзеяньняў}} за $3 {{PLURAL:$3|апошні дзень|апошнія дні|апошніх дзён}}',
-'activeusers-from' => 'Паказваць ўдзельнікаў, пачынаючы з:',
-'activeusers-hidebots' => 'Схаваць робатаў',
-'activeusers-hidesysops' => 'Схаваць адміністратараў',
-'activeusers-noresult' => 'Удзельнікі ня знойдзеныя.',
-
# Special:ListGroupRights
'listgrouprights' => 'Правы групаў удзельнікаў',
'listgrouprights-summary' => 'Ніжэй пададзены сьпіс групаў удзельнікаў {{GRAMMAR:родны|{{SITENAME}}}}, разам зь іх правамі.
'listusers-noresult' => 'Няма намерени потребители.',
'listusers-blocked' => '(блокиран)',
-# Special:ActiveUsers
-'activeusers' => 'Списък на активните потребители',
-'activeusers-intro' => 'Това е списък на потребителите, които са демонстрирали някаква активност през {{PLURAL:$1|последния|последните}} $1 {{PLURAL:$1|ден|дни}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|действие|действия}} за {{PLURAL:$3|последния ден|последните $3 дни}}',
-'activeusers-from' => 'Показване на потребителите, започвайки от:',
-'activeusers-hidebots' => 'Скриване на ботовете',
-'activeusers-hidesysops' => 'Скриване на администраторите',
-'activeusers-noresult' => 'Няма намерени потребители.',
-
# Special:ListGroupRights
'listgrouprights' => 'Права по потребителски групи',
'listgrouprights-summary' => 'По-долу на тази страница е показан списък на групите потребители в това уики с асоциираните им права за достъп. Допълнителна информация за отделните права може да бъде намерена [[{{MediaWiki:Listgrouprights-helppage}}|тук]].',
'listusers-noresult' => 'কোন ব্যবহারকারী খুঁজে পাওয়া যায়নি।',
'listusers-blocked' => '(ব্লককৃত)',
-# Special:ActiveUsers
-'activeusers' => 'সক্রিয় ব্যবহারকারী তালিকা',
-'activeusers-intro' => 'এটি ব্যবহারকারী তালিকা যাদের $1 {{PLURAL:$1|দিনে|দিনে}} যেকোন কর্মকান্ড রয়েছে।',
-'activeusers-count' => 'গত {{PLURAL:$3|দিনে|$3 দিনে}} সর্বমোট {{PLURAL:$1|কর্মকাণ্ডের|কর্মকাণ্ডের}} সংখ্যা $1',
-'activeusers-from' => 'ব্যবহারকারী দেখাও যাদের নাম এই অক্ষর দিয়ে শুরু:',
-'activeusers-hidebots' => 'বট লুকাও',
-'activeusers-hidesysops' => 'প্রশাসক লুকাও',
-'activeusers-noresult' => 'কোনো ব্যবহারকারী পাওয়া যায়নি।',
-
# Special:ListGroupRights
'listgrouprights' => 'দলগত ব্যবহারকারী অধিকার',
'listgrouprights-summary' => 'এই উইকির ব্যবহারকারীদের একটি গ্রুপগুলোর তালিকা দেখানো হচ্ছে, সাথে গ্রুপের কার্যপরিধিও উল্লেখ করা হয়েছে।
És possible que hagin d'enllaçar a una altra pàgina més apropiada.<br />
Una pàgina es tracta com de desambiguació si utilitza una plantilla que està enllaçada a [[MediaWiki:Disambiguationspage]].",
+'pageswithprop' => 'Pàgines amb una propietat de pàgina',
+'pageswithprop-legend' => 'Pàgines amb una propietat de pàgina',
+'pageswithprop-text' => 'Aquesta pàgina llista les pàgines que utilitzen una propietat de pàgina en particular.',
+'pageswithprop-prop' => 'Nom de la propietat:',
+'pageswithprop-submit' => 'Vés',
+
'doubleredirects' => 'Redireccions dobles',
'doubleredirectstext' => 'Aquesta pàgina llista les pàgines que redirigeixen a altres pàgines de redirecció.
Cada fila conté enllaços a la primera i segona redireccions, així com el destí de la segona redirecció, què generalment és la pàgina destí "real", a la què hauria d\'apuntar la primera redirecció.
'listusers-noresult' => "No s'han trobat coincidències de noms d'usuaris. Si us plau, busqueu també amb variacions per majúscules i minúscules.",
'listusers-blocked' => '({{GENDER:$1|blocat|blocada}})',
-# Special:ActiveUsers
-'activeusers' => "Llista d'usuaris actius",
-'activeusers-intro' => "Aquí hi ha una llista d'usuaris que han tingut algun tipus d'activitat en {{PLURAL:$1|el darrer dia|els darrers $1 dies}}.",
-'activeusers-count' => '$1 {{PLURAL:$1|modificació|modificacions}} en {{PLURAL:$3|el darrer dia|els $3 darrers dies}}',
-'activeusers-from' => 'Mostra els usuaris començant per:',
-'activeusers-hidebots' => 'Amaga bots',
-'activeusers-hidesysops' => 'Amaga administradors',
-'activeusers-noresult' => "No s'han trobat usuaris.",
-
# Special:ListGroupRights
'listgrouprights' => "Drets dels grups d'usuaris",
'listgrouprights-summary' => "A continuació hi ha una llista dels grups d'usuaris definits en aquest wiki, així com dels seus drets d'accés associats.
'listusers-noresult' => 'ھیچ بەکارھێنەرێک نەدۆزرایەوە.',
'listusers-blocked' => '(بەربەست کراوە)',
-# Special:ActiveUsers
-'activeusers' => 'پێرستی بەکارھێنەرە چالاکەکان',
-'activeusers-intro' => 'ئەمە لیستێکی ئەو بەکارھێنەرانەیە کە لە $1 {{PLURAL:$1|ڕۆژ|ڕۆژ}}ی ڕابردوودا بە جۆرێک چالاکییەکیان ھەبووە.',
-'activeusers-count' => '$1 {{PLURAL:$1|کردەوە}} لە دوایین {{PLURAL:$3|ڕۆژ|$3 ڕۆژ}}دا',
-'activeusers-from' => 'نیشاندانی بەکارھێنەران بە دەستپێکردن لە:',
-'activeusers-hidebots' => 'بۆتەکان بشارەوە',
-'activeusers-hidesysops' => 'بەڕێوبەران بشارەوە',
-'activeusers-noresult' => 'هیچ بەکارهێنەرێک نەدۆزرایەوە',
-
# Special:ListGroupRights
'listgrouprights' => 'مافەکانی گرووپی بەکارھێنەر',
'listgrouprights-summary' => 'ئەمە لیستێکە لە گرووپەکانی بەکارهێنەر لەسەر ئەم ویکییە، دەگەڵ مافەکانی دەستپێگەیشتنی هاوپەیوەندیان.
# Upload
'upload' => 'Načíst soubor',
'uploadbtn' => 'Načíst soubor',
-'reuploaddesc' => 'Vrátit se k načtení.',
+'reuploaddesc' => 'Zrušit načítání a vrátit se do formuláře.',
'upload-tryagain' => 'Uložit upravený popis souboru',
'uploadnologin' => 'Nejste přihlášen(a)',
'uploadnologintext' => 'Pro načtení souboru se musíte [[Special:UserLogin|přihlásit]].',
'listusers-noresult' => 'Nenalezen žádný uživatel.',
'listusers-blocked' => '({{GENDER:$1|zablokován|zablokována|zablokován}})',
-# Special:ActiveUsers
-'activeusers' => 'Seznam aktivních uživatelů',
-'activeusers-intro' => 'Toto je seznam uživatelů, kteří byli nějak aktivní v {{plural:$1|posledním dni|posledních $1 dnech}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|akce|akce|akcí}} během {{PLURAL:$3|posledního dne|posledních $3 dnů}}',
-'activeusers-from' => 'Zobrazit uživatele počínaje od:',
-'activeusers-hidebots' => 'Skrýt roboty',
-'activeusers-hidesysops' => 'Skrýt správce',
-'activeusers-noresult' => 'Nenalezen žádný uživatel.',
-
# Special:ListGroupRights
'listgrouprights' => 'Práva skupin uživatelů',
'listgrouprights-summary' => 'Toto je seznam uživatelských skupin definovaných na této wiki a jejich přístupových práv.
'listusers-noresult' => "Dim defnyddiwr i'w gael.",
'listusers-blocked' => '(wedi ei flocio)',
-# Special:ActiveUsers
-'activeusers' => 'Rhestr defnyddwyr gweithgar',
-'activeusers-intro' => 'Dyma restr y defnyddwyr a fuont yn weithgar o fewn y {{PLURAL:$1|diwrnod|diwrnod|deuddydd|tridiau|$1 diwrnod|$1 diwrnod}} diwethaf.',
-'activeusers-count' => '$1 {{PLURAL:$1|golygiad|golygiad|olygiad|golygiad}} yn ystod y {{PLURAL:$3|diwrnod|diwrnod|deuddydd|tridiau|$3 diwrnod}} diwethaf',
-'activeusers-from' => "Rhestru'r defnyddwyr gan ddechrau gyda:",
-'activeusers-hidebots' => 'Cuddio botiau',
-'activeusers-hidesysops' => 'Cuddio gweinyddwyr',
-'activeusers-noresult' => "Dim defnyddwyr i'w cael.",
-
# Special:ListGroupRights
'listgrouprights' => 'Galluoedd grwpiau defnyddwyr',
'listgrouprights-summary' => "Dyma restr o'r grwpiau defnyddwyr sydd i'w cael ar y wici hon, ynghyd â galluoedd aelodau'r gwahanol grwpiau. Cewch wybodaeth pellach am y gwahanol alluoedd ar y [[{{MediaWiki:Listgrouprights-helppage}}|dudalen gymorth]].",
'eauthentsent' => 'En bekræftelsesmail er sendt til den angivne e-mail-adresse.
Før en e-mail kan modtages af andre brugere af {{SITENAME}}-mailfunktionen, skal adressen og dens tilhørsforhold til denne bruger bekræftes. Følg venligst anvisningerne i denne mail.',
-'throttled-mailpassword' => 'Indenfor {{PLURAL:$1|den sidste time|de sidste $1 timer}} er der allerede sendt et nyt password. For at forhindre misbrug af funktionen, kan der kun bestilles et nyt password en gang for hver {{PLURAL:$1|time|$1 timer}}.',
+'throttled-mailpassword' => 'Indenfor {{PLURAL:$1|den sidste time|de sidste $1 timer}} er der allerede sendt en ny adgangskode. For at forhindre misbrug af funktionen, kan der kun bestilles en ny adgangskode én gang for hver {{PLURAL:$1|time|$1 timer}}.',
'mailerror' => 'Fejl ved afsendelse af e-mail: $1',
'acct_creation_throttle_hit' => 'Besøgende med samme IP-adresse som dig har oprettet {{PLURAL:$1|en konto|$1 kontoer}} det sidste døgn, og det er ikke tilladt at oprette flere.
Derfor kan besøgende ikke oprette flere kontoer fra denne IP-adresse i øjeblikket.',
# Special:PasswordReset
'passwordreset' => 'Nulstil adgangskode',
-'passwordreset-text' => 'Udfyld denne formular for at modtage en påmindelse om dine kontooplysninger som e-mail.',
+'passwordreset-text' => 'Udfyld denne formular for at nulstille din adgangskode.',
'passwordreset-legend' => 'Nulstil adgangskode',
'passwordreset-disabled' => 'Nulstilling af kodeord er slået fra på denne wiki.',
'passwordreset-pretext' => '{{PLURAL:$1||Indtast en af de nedenstående oplysninger}}',
'passwordreset-capture-help' => 'Hvis du krydser dette felt af, vil emailen (med den midlertidige adgangskode) blive vist til dig i tillæg til at blive sendt til brugeren.',
'passwordreset-email' => 'E-mail adresse:',
'passwordreset-emailtitle' => 'Kontooplysninger på {{SITENAME}}',
-'passwordreset-emailtext-ip' => 'Nogen (sandsynligvis dig, fra IP-adressen $1) har anmodet om en påmindelse om dine kontooplysninger for {{SITENAME}} ($4). Følgende {{PLURAL:$3|brugerkonto|brugerkonti}} er associerede med denne e-mail-adresse:
+'passwordreset-emailtext-ip' => 'Nogen (sandsynligvis dig, fra IP-adressen $1) har anmodet om at få nulstillet din adgangskode til {{SITENAME}} ($4). {{PLURAL:$3|Den følgende brugerkonto er associeret|De følgende brugerkonti er associerede}} med denne e-mail-adresse:
$2
{{PLURAL:$3|Denne midlertidige adgangskode|Disse midlertidige adgangskoder}} vil udløbe om {{PLURAL:$5|en dag|$5 dage}}.
-Du bør logge på og vælge en ny adgangskode nu. Hvis en anden end dig har anmodet om denne påmindelse, eller hvis du er kommet i tanke om din oprindelig adgangskode og ikke længere ønsker at ændre den, kan du ignorere denne meddelelse og fortsætte med at bruge din gamle adgangskode.',
-'passwordreset-emailtext-user' => 'Brugeren $1 har anmodet om en påmindelse om dine kontooplysninger for {{SITENAME}} ($4). Følgende {{PLURAL:$3|brugerkonto|brugerkonti}} er associerede med denne e-mail-adresse:
+Du bør logge på og vælge en ny adgangskode nu. Hvis en anden end dig har gjort denne anmodning, eller hvis du er kommet i tanke om din oprindelig adgangskode og ikke længere ønsker at ændre den, kan du ignorere denne meddelelse og fortsætte med at bruge din gamle adgangskode.',
+'passwordreset-emailtext-user' => 'Brugeren $1 på {{SITENAME}} har anmodet om at få nulstillet din adgangskode til {{SITENAME}} ($4). {{PLURAL:$3|Den følgende brugerkonto er associeret|De følgende brugerkonti er associerede}} med denne e-mail-adresse:
$2
{{PLURAL:$3|Denne midlertidige adgangskode|Disse midlertidige adgangskoder}} vil udløbe om {{PLURAL:$5|en dag|$5 dage}}.
-Du bør logge på og vælge en ny adgangskode nu. Hvis en anden end dig har anmodet om denne påmindelse, eller hvis du er kommet i tanke om din oprindelig adgangskode og ikke længere ønsker at ændre den, kan du ignorere denne meddelelse og fortsætte med at bruge din gamle adgangskode.',
+Du bør logge på og vælge en ny adgangskode nu. Hvis en anden end dig har gjort denne anmodning, eller hvis du er kommet i tanke om din oprindelig adgangskode og ikke længere ønsker at ændre den, kan du ignorere denne meddelelse og fortsætte med at bruge din gamle adgangskode.',
'passwordreset-emailelement' => 'Brugernavn: $1
Midlertidig adgangskode: $2',
-'passwordreset-emailsent' => 'En påmindelse er blevet sendt som e-mail.',
-'passwordreset-emailsent-capture' => 'En påmindelsesemail, som vist nedenfor, er blevet sendt.',
-'passwordreset-emailerror-capture' => 'En påmindelsesemail, som vist nedenfor, blev genereret, men det lykkedes ikke at sende den til brugeren: $1',
+'passwordreset-emailsent' => 'En e-mail om nulstilling af adgangskode er blevet sendt.',
+'passwordreset-emailsent-capture' => 'En e-mail om nulstilling af adgangskode, som vist nedenfor, er blevet sendt.',
+'passwordreset-emailerror-capture' => 'En e-mail om nulstilling af adgangskode, som vist nedenfor, blev genereret, men det lykkedes ikke at sende den til brugeren: $1',
# Special:ChangeEmail
'changeemail' => 'Ændr email-adresse',
'listusers-noresult' => 'Ingen bruger fundet.',
'listusers-blocked' => '(blokeret)',
-# Special:ActiveUsers
-'activeusers' => 'Liste over aktive brugere',
-'activeusers-intro' => 'Dette er en liste over brugere, som har haft en eller anden form for aktivitet inden for {{PLURAL:$1|den|de}} seneste {{PLURAL:$1|dag|$1 dage}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|handling|handlinger}} i {{PLURAL:$3|det seneste døgn|de seneste $3 dage}}',
-'activeusers-from' => 'Vis brugere som starter med:',
-'activeusers-hidebots' => 'Skjul robotter',
-'activeusers-hidesysops' => 'Skjul administratorer',
-'activeusers-noresult' => 'Ingen brugere fundet.',
-
# Special:ListGroupRights
'listgrouprights' => 'Brugergrupperettigheder',
'listgrouprights-summary' => 'Denne side viser de brugergrupper der er defineret på denne wiki og de enkelte gruppers rettigheder.
'sqlite-no-fts' => '$1 uden fuld-tekst søgnings support',
# New logging system
-'logentry-delete-delete' => '$1 slettede siden $3',
-'logentry-delete-restore' => '$1 gendannede siden $3',
-'logentry-delete-event' => '$1 ændrede synligheden af {{PLURAL:$5|en loghændelse|$5 loghændelser}} for siden $3: $4',
-'logentry-delete-revision' => '$1 ændrede synligheden af {{PLURAL:$5|en version|$5 versioner}} af siden $3: $4',
-'logentry-delete-event-legacy' => '$1 ændrede synligheden af loghændelser for siden $3',
-'logentry-delete-revision-legacy' => '$1 ændrede synligheden af versioner af siden $3',
+'logentry-delete-delete' => '$1 {{GENDER:$2|slettede}} siden $3',
+'logentry-delete-restore' => '$1 {{GENDER:$2|gendannede}} siden $3',
+'logentry-delete-event' => '$1 {{GENDER:$2|ændrede}} synligheden af {{PLURAL:$5|en loghændelse|$5 loghændelser}} for siden $3: $4',
+'logentry-delete-revision' => '$1 {{GENDER:$2|ændrede}} synligheden af {{PLURAL:$5|en version|$5 versioner}} af siden $3: $4',
+'logentry-delete-event-legacy' => '$1 {{GENDER:$2|ændrede}} synligheden af loghændelser for siden $3',
+'logentry-delete-revision-legacy' => '$1 {{GENDER:$2|ændrede}} synligheden af versioner af siden $3',
'logentry-suppress-delete' => '$1 skjulte hændelser for siden $3',
'logentry-suppress-event' => '$1 ændrede hemmeligt synligheden af {{PLURAL:$5|en loghændelse|$5 loghændelser}} for siden $3: $4',
'logentry-suppress-revision' => '$1 ændrede hemmeligt synligheden af {{PLURAL:$5|en version|$5 versioner}} af siden $3: $4',
'revdelete-uname-unhid' => 'brugernavnet er ikke længere skjult',
'revdelete-restricted' => 'tilføjede begrænsninger for administratorer',
'revdelete-unrestricted' => 'fjernede begrænsninger for administratorer',
-'logentry-move-move' => '$1 flyttede siden $3 til $4',
-'logentry-move-move-noredirect' => '$1 flyttede siden $3 til $4 uden at efterlade en omdirigering',
-'logentry-move-move_redir' => '$1 flyttede siden $3 til $4 hen over en omdirigering',
-'logentry-move-move_redir-noredirect' => '$1 flyttede siden $3 til $4 hen over en omdirigering og uden at efterlade en omdirigering',
-'logentry-patrol-patrol' => '$1 markerede version $4 af siden $3 som patruljeret',
-'logentry-patrol-patrol-auto' => '$1 markerede automatisk version $4 af siden $3 som patruljeret',
-'logentry-newusers-newusers' => 'Brugerkontoen $1 blev oprettet',
-'logentry-newusers-create' => 'Brugerkontoen $1 blev oprettet',
-'logentry-newusers-create2' => 'Brugerkontoen $3 blev oprettet af $1',
-'logentry-newusers-byemail' => 'Brugerkonto $3 blev oprettet af $1 og adgangskode er sendt via e-mail',
-'logentry-newusers-autocreate' => 'Kontoen $1 blev automatisk oprettet',
-'logentry-rights-rights' => '$1 ændrede gruppemedlemskabet for $3 fra $4 til $5',
-'logentry-rights-rights-legacy' => '$1 ændrede gruppemedlemskabet for $3',
-'logentry-rights-autopromote' => '$1 blev automatisk forfremmet fra $4 til $5',
+'logentry-move-move' => '$1 {{GENDER:$2|flyttede}} siden $3 til $4',
+'logentry-move-move-noredirect' => '$1 {{GENDER:$2|flyttede}} siden $3 til $4 uden at efterlade en omdirigering',
+'logentry-move-move_redir' => '$1 {{GENDER:$2|flyttede}} siden $3 til $4 hen over en omdirigering',
+'logentry-move-move_redir-noredirect' => '$1 {{GENDER:$2|flyttede}} siden $3 til $4 hen over en omdirigering og uden at efterlade en omdirigering',
+'logentry-patrol-patrol' => '$1 {{GENDER:$2|markerede}} version $4 af siden $3 som patruljeret',
+'logentry-patrol-patrol-auto' => '$1 {{GENDER:$2|markerede automatisk}} version $4 af siden $3 som patruljeret',
+'logentry-newusers-newusers' => 'Brugerkontoen $1 blev {{GENDER:$2|oprettet}}',
+'logentry-newusers-create' => 'Brugerkontoen $1 blev {{GENDER:$2|oprettet}}',
+'logentry-newusers-create2' => 'Brugerkontoen $3 blev {{GENDER:$2|oprettet}} af $1',
+'logentry-newusers-byemail' => 'Brugerkontoen $3 blev {{GENDER:$2|oprettet}} af $1, og adgangskoden er sendt via e-mail',
+'logentry-newusers-autocreate' => 'Brugerkontoen $1 blev automatisk {{GENDER:$2|oprettet}}',
+'logentry-rights-rights' => '$1 {{GENDER:$2|ændrede}} gruppemedlemskabet for $3 fra $4 til $5',
+'logentry-rights-rights-legacy' => '$1 {{GENDER:$2|ændrede}} gruppemedlemskabet for $3',
+'logentry-rights-autopromote' => '$1 blev automatisk {{GENDER:$2|forfremmet}} fra $4 til $5',
'rightsnone' => '(-)',
# Feedback
'listusers-noresult' => 'Keinen Benutzer gefunden.',
'listusers-blocked' => '(gesperrt)',
-# Special:ActiveUsers
-'activeusers' => 'Aktive Benutzer',
-'activeusers-intro' => 'Dies ist eine Liste von Benutzern, die innerhalb {{PLURAL:$1|des letzten Tages|der letzten $1 Tage}} Aktivitäten aufwiesen.',
-'activeusers-count' => '$1 {{PLURAL:$1|Aktion|Aktionen}} in den {{PLURAL:$3|letzten 24 Stunden|vergangenen $3 Tagen}}',
-'activeusers-from' => 'Zeige Benutzer ab:',
-'activeusers-hidebots' => 'Bots ausblenden',
-'activeusers-hidesysops' => 'Administratoren ausblenden',
-'activeusers-noresult' => 'Keine Benutzer gefunden.',
-
# Special:ListGroupRights
'listgrouprights' => 'Benutzergruppenrechte',
'listgrouprights-summary' => 'Dies ist eine Liste der in diesem Wiki definierten Benutzergruppen und der damit verbundenen Rechte.
'listusers-noresult' => 'karber nêdiyayo/a.',
'listusers-blocked' => '(blok biy)',
-# Special:ActiveUsers
-'activeusers' => 'Listey karberan de aktivan',
-'activeusers-intro' => 'Ena yew listeya karberê ke $1 {{PLURAL:$1|roc|rocan}} ra tepya iştiraq kerdo ênan mocneno.',
-'activeusers-count' => 'Karberi {{PLURAL:$3|roce peyni de|$3 roca peyni de}} $1 {{PLURAL:$1|vurnayış|vurnayışi}} kerdê',
-'activeusers-from' => 'Enê karberi ra tepya bımocne:',
-'activeusers-hidebots' => 'Botan bınımne',
-'activeusers-hidesysops' => 'İdarekerdoğan bınımne',
-'activeusers-noresult' => 'Karberi nêdiyayê.',
-
# Special:ListGroupRights
'listgrouprights' => 'heqê grubê karberi',
'listgrouprights-summary' => 'wikiya cêrın a ke tede grubê karberi nişane biyê, listeya heqê cıresayişê inan o.
'logentry-delete-revision' => '$1 $3: pela da $4 dı {{PLURAL:$5|jew revizyon|$5 revizyon}} asayışê cı vurna',
'logentry-delete-event-legacy' => '$1 Asayışê {{GENDER:$2|vurnayışê}} $3 dekerde de',
'logentry-delete-revision-legacy' => '$1 revizyonê pela da $3 asayışê cı vurna',
-'logentry-suppress-delete' => '$1 $3 rê {{GENDER:$2|pıloxneyê}}',
+'logentry-suppress-delete' => '$1 Pela $3 {{GENDER:$2|dewosiyayiye}}',
'logentry-suppress-event' => '$1 asayışê {{PLURAL:$5|weqey rocaka|$5 weqey rocekan}} $3: $4 miyanıki vurna',
'logentry-suppress-revision' => '$1 $3: pela da $4 dı {{PLURAL:$5|jew revizyon|$5 revizyon}} asayışê cı xısusiye vurna',
'logentry-suppress-event-legacy' => '$1 Asayışê vurnayışê ciyo xısusiyeta cı $3 dekerde de',
'revdelete-uname-unhid' => 'namey karberi ne nımteyo',
'revdelete-restricted' => 'verger (vergırewtış) ê ke qey xızmkaran biye',
'revdelete-unrestricted' => 'verger (ver gırewtış) ê ke qey xızmkaran diyê wera (wedariyê)',
-'logentry-move-move' => '$1 pera $3 {{GENDER:$2|berd}} $4',
+'logentry-move-move' => '$1 pela $3 {{GENDER:$2|berde}} $4',
'logentry-move-move-noredirect' => "$1'i pelay $3 raçarnayış neker dı u berd $4",
'logentry-move-move_redir' => 'Hetenayışi sera pela $3 ra $1 {{GENDER:$2|berd}} pela $4',
'logentry-move-move_redir-noredirect' => '$1 hetenayışê qeydê pela da $3 ahulnê $4 sero hetenayış vıraşt',
'logentry-newusers-newusers' => 'Hesabê karberê $1 {{GENDER:$2|vıraziya}}',
'logentry-newusers-create' => 'Hesabê karberi $1 vıraziya',
'logentry-newusers-create2' => 'Hesabê karberi $1 terefê $3 ra vıraziya',
-'logentry-newusers-autocreate' => 'Hesabê $1 Otomatikmen {{GENDER:$2|vıraşt}}',
+'logentry-newusers-autocreate' => 'Hesabê karberi $1 otomatikmen {{GENDER:$2|vıraşt}}',
'logentry-rights-rights' => '$1 qandê $3 rê ezayina grube $4 ra $5 vuriye',
'logentry-rights-rights-legacy' => '$1 qandê $3 rê ezayina grube vuriye',
'logentry-rights-autopromote' => '$1 otomatikmen $4 ra terfi bi ra $5',
[[Special:UnusedCategories|Unused categories]] are not shown here.
Also see [[Special:WantedCategories|wanted categories]].',
-# Special:ActiveUsers
-'activeusers' => 'ހަރަކާތްތެރި މެމްބަރުންގެ ލިސްޓު',
-'activeusers-hidebots' => 'ބޮޓް ފޮރުއްވާ',
-'activeusers-hidesysops' => 'އެޑްމިނިސްޓްރޭޓަރުން ފޮރުއްވާ',
-
# Special:ListGroupRights
'listgrouprights-members' => '(މެމްބަރުންގެ ލިސްޓު)',
'listusers-noresult' => 'No se encontró al usuario.',
'listusers-blocked' => '({{GENDER:$1|bloqueado|bloqueada}})',
-# Special:ActiveUsers
-'activeusers' => 'Lista de usuarios activos',
-'activeusers-intro' => 'Esta es una lista de usuarios que han tenido alguna actividad en los últimos $1 {{PLURAL:$1|día|días}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|acción|acciones}} en los últimos {{PLURAL:$3|día|$3 días}}',
-'activeusers-from' => 'Mostrando a los usuarios empezando por:',
-'activeusers-hidebots' => 'Ocultar robots',
-'activeusers-hidesysops' => 'Ocultar administradores',
-'activeusers-noresult' => 'No se encontraron usuarios.',
-
# Special:ListGroupRights
'listgrouprights' => 'Permisos del grupo de usuarios',
'listgrouprights-summary' => 'La siguiente es una lista de los grupos de usuario definidos en esta wiki y de sus privilegios de acceso asociados.
'listusers-noresult' => 'Kasutajat ei leitud.',
'listusers-blocked' => '(blokeeritud)',
-# Special:ActiveUsers
-'activeusers' => 'Aktiivsete kasutajate nimekiri',
-'activeusers-intro' => 'See on loetelu kasutajatest, kes on viimase $1 {{PLURAL:$1|päev|päeva}} jooksul midagi teinud.',
-'activeusers-count' => '$1 {{PLURAL:$1|toiming|toimingut}} viimase {{PLURAL:$3|päeva|$3 päeva}} jooksul',
-'activeusers-from' => 'Näita kasutajaid alates:',
-'activeusers-hidebots' => 'Peida robotid',
-'activeusers-hidesysops' => 'Peida administraatorid',
-'activeusers-noresult' => 'Kasutajaid ei leidunud.',
-
# Special:ListGroupRights
'listgrouprights' => 'Kasutajarühma õigused',
'listgrouprights-summary' => 'Siin on loetletud selle viki kasutajarühmad ja rühmaga seotud õigused.
این کار بازگشتناپذیر است.',
'prefs-emailconfirm-label' => 'تأیید رایانامه:',
'prefs-textboxsize' => 'اندازهٔ جعبهٔ ویرایش',
-'youremail' => 'راÛ\8cاÙ\86اÙ\85Ù\87:',
+'youremail' => 'اÛ\8cÙ\85Û\8cÙ\84 (اختÛ\8cارÛ\8c)*',
'username' => '{{GENDER:$1|نام کاربری}}:',
'uid' => 'شناسهٔ {{GENDER:$1|کاربری}}:',
'prefs-memberingroups' => '{{GENDER:$2|عضو}} {{PLURAL:$1|گروه|گروه}}:',
'listusers-noresult' => 'هیچ کاربری یافت نشد.',
'listusers-blocked' => '(بسته شده)',
-# Special:ActiveUsers
-'activeusers' => 'فهرست کاربران فعال',
-'activeusers-intro' => 'در زیر فهرستی از کاربرانی را میبینید که در $1 {{PLURAL:$1|روز|روز}} گذشته فعالیتی داشتهاند.',
-'activeusers-count' => '$1 {{PLURAL:$1|فعالیت|فعالیت}} در {{PLURAL:$3|روز|$3 روز}} اخیر',
-'activeusers-from' => 'نمایش کاربران با آغاز از:',
-'activeusers-hidebots' => 'نهفتن رباتها',
-'activeusers-hidesysops' => 'نهفتن مدیران',
-'activeusers-noresult' => 'کاربری پیدا نشد.',
-
# Special:ListGroupRights
'listgrouprights' => 'اختیارات گروههای کاربری',
'listgrouprights-summary' => 'فهرست زیر شامل گروههای کاربری تعریف شده در این ویکی و اختیارات داده شده به آنها است.
'mycontris' => 'مشارکتها',
'contribsub2' => 'برای $1 ($2)',
'nocontribs' => 'هیچ تغییری با این مشخصات یافت نشد.',
-'uctop' => ' (بالا)',
+'uctop' => '(بالا)',
'month' => 'در این ماه (و پیش از آن):',
'year' => 'در این سال (و پیش از آن):',
'listusers-noresult' => 'Käyttäjiä ei löytynyt.',
'listusers-blocked' => '(estetty)',
-# Special:ActiveUsers
-'activeusers' => 'Aktiivisten käyttäjien lista',
-'activeusers-intro' => 'Tämä on luettelo käyttäjistä, jotka ovat tehneet jotain viimeisen $1 {{PLURAL:$1|päivän}} sisällä.',
-'activeusers-count' => '$1 {{PLURAL:$1|toiminto|toimintoa}} viimeisen {{PLURAL:$3|päivän|$3 päivän}} aikana',
-'activeusers-from' => 'Näytä käyttäjät alkaen',
-'activeusers-hidebots' => 'Piilota botit',
-'activeusers-hidesysops' => 'Piilota ylläpitäjät',
-'activeusers-noresult' => 'Käyttäjiä ei löytynyt.',
-
# Special:ListGroupRights
'listgrouprights' => 'Käyttäjäryhmien oikeudet',
'listgrouprights-summary' => 'Tämä lista sisältää tämän wikin käyttäjäryhmät sekä ryhmiin liitetyt käyttöoikeudet.
Voit palauttaa versioita valikoivasti valitsemalla vain niiden versioiden valintalaatikot, jotka haluat palauttaa.",
'undeleterevisions' => '{{PLURAL:$1|Versio|$1 versiota}} arkistoitu.',
'undeletehistory' => 'Jos palautat sivun, kaikki versiot lisätään sivun historiaan. Jos uusi sivu samalla nimellä on luotu poistamisen jälkeen, palautetut versiot lisätään sen historiaan.',
-'undeleterevdel' => "Palautusta ei tehdä, jos sen seurauksena sivun uusin versio olisi osittain piilotettu.
-Tässä tilanteessa älä valitse palautettavaksi näkyviin viimeisintä poistettua versiota tai poista version piilotus.<br />
-Tiedostoversioita, joihin sinulla ei ole katseluoikeutta (''häivytetyt versiot''), ei palauteta.",
+'undeleterevdel' => 'Palautusta ei tehdä, jos sen seurauksena sivun uusin versio olisi osittain piilotettu.
+Tässä tilanteessa älä valitse palautettavaksi näkyviin viimeisintä poistettua versiota tai poista version piilotus.',
'undeletehistorynoadmin' => 'Tämä sivu on poistettu. Syy sivun poistamiseen näkyy yhteenvedossa, jossa on myös tiedot, ketkä ovat muokanneet tätä sivua ennen poistamista. Sivujen varsinainen sisältö on vain ylläpitäjien luettavissa.',
'undelete-revision' => 'Poistettu sivu $1 hetkellä $4 kello $5. Tekijä: $3.',
'undeleterevision-missing' => 'Virheellinen tai puuttuva versio. Se on saatettu palauttaa tai poistaa arkistosta.',
'listusers-submit' => 'Sýna',
'listusers-noresult' => 'Ongin brúkari var funnin.',
-# Special:ActiveUsers
-'activeusers-hidebots' => 'Fjal bottar',
-'activeusers-hidesysops' => 'Fjal umboðsstjórar (administratorar)',
-'activeusers-noresult' => 'Ongir brúkarar funnir.',
-
# Special:ListGroupRights
'listgrouprights' => 'Brúkara bólka rættindi',
'listgrouprights-summary' => 'Henda síða vísir ein lista av brúkarabólkum, sum eru útgreinaðir á hesi wiki og rættindini hjá teimum einstøku bólkunum.
'listusers-noresult' => 'Aucun utilisateur trouvé. Vérifiez aussi les variantes de casse.',
'listusers-blocked' => '(bloqué{{GENDER:$1||e|(e)}})',
-# Special:ActiveUsers
-'activeusers' => 'Liste des utilisateurs actifs',
-'activeusers-intro' => 'Ceci est une liste des utilisateurs qui ont exercé une quelconque activité au cours {{PLURAL:$1|de la dernière journée|des $1 derniers jours}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|action|actions}} lors {{PLURAL:$3|du dernier jour|des $3 derniers jours}}',
-'activeusers-from' => 'Afficher les utilisateurs depuis :',
-'activeusers-hidebots' => 'Masquer les robots',
-'activeusers-hidesysops' => 'Masquer les administrateurs',
-'activeusers-noresult' => 'Aucun utilisateur trouvé.',
-
# Special:ListGroupRights
'listgrouprights' => "Droits des groupes d'utilisateurs",
'listgrouprights-summary' => "Cette page contient une liste des groupes définis sur ce wiki ainsi que les droits d'accès qui leur sont associés.
'listusers-noresult' => 'Nion utilisator trovâ.',
'listusers-blocked' => '(blocâ{{GENDER:$1||ye|(ye)}})',
-# Special:ActiveUsers
-'activeusers' => 'Lista des utilisators actifs',
-'activeusers-intro' => 'O est na lista des utilisators qu’ant ègzèrciê un’activitât la quinta que seye pendent {{PLURAL:$1|lo jorn passâ|los $1 jorns passâs}}.',
-'activeusers-count' => '$1 accion{{PLURAL:$1||s}} pendent {{PLURAL:$3|lo jorn passâ|los $3 jorns passâs}}',
-'activeusers-from' => 'Fâre vêre los utilisators dês :',
-'activeusers-hidebots' => 'Cachiér los robots',
-'activeusers-hidesysops' => 'Cachiér los administrators',
-'activeusers-noresult' => 'Nion utilisator trovâ.',
-
# Special:ListGroupRights
'listgrouprights' => 'Drêts de les tropes d’utilisators',
'listgrouprights-summary' => 'Vê-que na lista de les tropes d’utilisators dèfenies sur ceti vouiqui et pués los sins drêts d’accès.
'listusers-noresult' => 'Non se atopou ningún usuario.',
'listusers-blocked' => '(bloqueado)',
-# Special:ActiveUsers
-'activeusers' => 'Lista de usuarios activos',
-'activeusers-intro' => 'Esta é unha lista cos usuarios que tiveron algún tipo de actividade {{PLURAL:$1|no último día|nos últimos $1 días}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|acción|accións}} {{PLURAL:$3|no último día|nos últimos $3 días}}',
-'activeusers-from' => 'Mostrar os usuarios que comecen por:',
-'activeusers-hidebots' => 'Agochar os bots',
-'activeusers-hidesysops' => 'Agochar os administradores',
-'activeusers-noresult' => 'Non se atopou ningún usuario.',
-
# Special:ListGroupRights
'listgrouprights' => 'Dereitos dun usuario segundo o seu grupo',
'listgrouprights-summary' => 'A seguinte lista mostra os grupos de usuario definidos neste wiki, cos seus dereitos de acceso asociados.
'listusers-noresult' => 'לא נמצאו משתמשים.',
'listusers-blocked' => '(חסום)',
-# Special:ActiveUsers
-'activeusers' => 'רשימת משתמשים פעילים',
-'activeusers-intro' => 'זוהי רשימת המשתמשים שביצעו פעולה כלשהי {{PLURAL:$1|ביום האחרון|ביומיים האחרונים|ב־$1 הימים האחרונים}}.',
-'activeusers-count' => '{{PLURAL:$1|פעולה אחת|$1 פעולות}} ב{{PLURAL:$3|יום האחרון|יומיים האחרונים|־$3 הימים האחרונים}}',
-'activeusers-from' => 'הצגת משתמשים החל מ:',
-'activeusers-hidebots' => 'הסתרת בוטים',
-'activeusers-hidesysops' => 'הסתרת מפעילי מערכת',
-'activeusers-noresult' => 'לא נמצאו משתמשים.',
-
# Special:ListGroupRights
'listgrouprights' => 'רשימת הרשאות לקבוצה',
'listgrouprights-summary' => 'זוהי רשימה של קבוצות המשתמש המוגדרות באתר זה, עם ההרשאות של כל אחת.
'listusers-noresult' => 'Nema takvih suradnika.',
'listusers-blocked' => '(blokiran)',
-# Special:ActiveUsers
-'activeusers' => 'Popis aktivnih suradnika',
-'activeusers-intro' => 'Ovo je popis suradnika koji su napravili neku aktivnost u {{PLURAL:$1|zadnji $1 dan|zadnja $1 dana|zadnjih $1 dana}}.',
-'activeusers-count' => '{{PLURAL:$1|nedavna $1 izmjena|nedavne $1 izmjene|nedavnih $1 izmjena}} u {{PLURAL:$3|posljednji $3 dan|posljednja $3 dana|posljednjih $3 dana}}',
-'activeusers-from' => 'Prikaži suradnike počevši od:',
-'activeusers-hidebots' => 'Sakrij botove',
-'activeusers-hidesysops' => 'Sakrij administratore',
-'activeusers-noresult' => 'Niti jedan suradnik nije nađen.',
-
# Special:ListGroupRights
'listgrouprights' => 'Prava suradničkih skupina',
'listgrouprights-summary' => 'Ovo je popis suradničkih skupina određenih na ovoj wiki, s njihovim pripadajućim pravima.
'listusers-noresult' => 'Nulle usator trovate.',
'listusers-blocked' => '(blocate)',
-# Special:ActiveUsers
-'activeusers' => 'Lista de usatores active',
-'activeusers-intro' => 'Isto es un lista de usatores que habeva alcun typo de activitate intra le ultime $1 {{PLURAL:$1|die|dies}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|action|actiones}} in le ultime {{PLURAL:$3|die|$3 dies}}',
-'activeusers-from' => 'Presentar usatores a partir de:',
-'activeusers-hidebots' => 'Celar bots',
-'activeusers-hidesysops' => 'Celar administratores',
-'activeusers-noresult' => 'Nulle usator trovate.',
-
# Special:ListGroupRights
'listgrouprights' => 'Derectos del gruppos de usatores',
'listgrouprights-summary' => 'Lo sequente es un lista de gruppos de usatores definite in iste wiki, con lor derectos de accesso associate.
'blocked-mailpassword' => 'Alamat IP Anda diblokir dari penyuntingan dan karenanya tidak diizinkan menggunakan fungsi pengingat kata sandi untuk mencegah penyalahgunaan.',
'eauthentsent' => 'Sebuah surel untuk konfirmasi telah dikirim ke alamat surel.
Anda harus mengikuti instruksi di dalam surel tersebut untuk melakukan konfirmasi bahwa alamat tersebut adalah benar kepunyaan Anda. {{SITENAME}} tidak akan mengaktifkan fitur surel jika langkah ini belum dilakukan.',
-'throttled-mailpassword' => 'Suatu pengingat kata sandi telah dikirimkan dalam {{PLURAL:$1|jam|$1 jam}} terakhir.
-Untuk menghindari penyalahgunaan, hanya satu kata sandi yang akan dikirimkan setiap {{PLURAL:$1|jam|$1 jam}}.',
+'throttled-mailpassword' => 'Suatu pengingat kata sandi telah dikirimkan dalam {{PLURAL:$1|$1 jam}} terakhir.
+Untuk menghindari penyalahgunaan, hanya satu kata sandi yang akan dikirimkan setiap {{PLURAL:$1|$1 jam}}.',
'mailerror' => 'Kesalahan dalam mengirimkan surel: $1',
'acct_creation_throttle_hit' => 'Pengunjung wiki ini dengan alamat IP yang sama dengan Anda telah membuat {{PLURAL:$1|1 akun|$1 akun}} dalam satu hari terakhir, hingga jumlah maksimum yang diijinkan.
Karenanya, pengunjung dengan alamat IP ini tidak dapat lagi membuat akun lain untuk sementara.',
# Special:PasswordReset
'passwordreset' => 'Setel ulang sandi',
-'passwordreset-text' => 'Lengkapi formulir ini untuk menerima surel pengingat detail akun Anda.',
+'passwordreset-text' => 'Lengkapi formulir ini untuk menyetel ulang kata sandi.',
'passwordreset-legend' => 'Setel ulang sandi',
'passwordreset-disabled' => 'Penyetelan ulang sandi telah dimatikan di wiki ini.',
'passwordreset-pretext' => '{{PLURAL:$1||Masukkan salah satu data di bawah ini}}',
$2
-{{PLURAL:$3|Sandi sementara|Sandi sementara}} berikut akan kedaluwarsa dalam {{PLURAL:$5|satu hari|$5 hari}}.
+{{PLURAL:$3|Sandi sementara}} berikut akan kedaluwarsa dalam {{PLURAL:$5|$5 hari}}.
Anda harus masuk dan memilih sandi baru sekarang. Jika orang lain membuat
permintaan ini atau jika Anda ingat sandi asli dan tidak lagi
ingin mengubahnya, Anda dapat mengabaikan pesan ini dan terus menggunakan sandi lama.',
$2
-{{PLURAL:$3|Sandi sementara|Sandi sementara}} berikut akan kedaluwarsa dalam {{PLURAL:$5|satu hari|$5 hari}}.
+{{PLURAL:$3|Sandi sementara}} berikut akan kedaluwarsa dalam {{PLURAL:$5|$5 hari}}.
Anda harus masuk dan memilih sandi baru sekarang. Jika orang lain membuat
permintaan ini atau jika Anda ingat sandi asli dan tidak lagi
ingin mengubahnya, Anda dapat mengabaikan pesan ini dan terus menggunakan sandi lama.',
'passwordreset-emailelement' => 'Nama pengguna: $1
Sandi sementara: $2',
-'passwordreset-emailsent' => 'Surel pengingat telah dikirimkan.',
-'passwordreset-emailsent-capture' => 'Surel pengingat, yang ditampilkan di bawah, telah dikirim.',
-'passwordreset-emailerror-capture' => 'Surel pengingat, yang ditampilkan di bawah, telah dihasilkan, tetapi gagal mengirimkannya ke pengguna: $1',
+'passwordreset-emailsent' => 'Surel setel ulang kata sandi telah dikirimkan.',
+'passwordreset-emailsent-capture' => 'Surel setel ulang kata sandi telah dikirim, yang ditampilkan di bawah.',
+'passwordreset-emailerror-capture' => 'Surel setel ulang kata sandi telah dihasilkan, yang ditampilkan di bawah, tetapi gagal mengirimkannya ke pengguna: $1',
# Special:ChangeEmail
'changeemail' => 'Ubah alamat surel',
'listusers-noresult' => 'Pengguna tidak ditemukan.',
'listusers-blocked' => '(diblokir)',
-# Special:ActiveUsers
-'activeusers' => 'Daftar pengguna aktif',
-'activeusers-intro' => 'Berikut adalah daftar pengguna yang memiliki suatu bentuk aktivitas selama paling tidak $1 {{PLURAL:$1|hari|hari}} terakhir.',
-'activeusers-count' => '$1 {{PLURAL:$1|aktivitas|aktivitas}} dalam {{PLURAL:$3|1 hari|$3 hari}} terakhir',
-'activeusers-from' => 'Tampilkan pengguna mulai dari:',
-'activeusers-hidebots' => 'Sembunyikan bot',
-'activeusers-hidesysops' => 'Sembunyikan pengurus',
-'activeusers-noresult' => 'Pengguna tidak ditemukan.',
-
# Special:ListGroupRights
'listgrouprights' => 'Daftar kelompok pengguna',
'listgrouprights-summary' => 'Berikut adalah daftar kelompok pengguna yang terdapat di wiki ini, dengan daftar hak akses mereka masing-masing. Informasi lebih lanjut mengenai hak masing-masing dapat ditemukan di [[{{MediaWiki:Listgrouprights-helppage}}|halaman bantuan hak pengguna]].',
'sqlite-no-fts' => '$1 tanpa dukungan pencarian teks lengkap',
# New logging system
-'logentry-delete-delete' => '$1 menghapus halaman $3',
-'logentry-delete-restore' => '$1 mengembalikan halaman $3',
-'logentry-delete-event' => '$1 mengubah ketertampilan {{PLURAL:$5||}} $5 log peristiwa di $3: $4',
-'logentry-delete-revision' => '$1 mengubah ketertampilan {{PLURAL:$5||}} $5 revisi di halaman $3: $4',
-'logentry-delete-event-legacy' => '$1 mengubah ketertampilan log peristiwa pada $3',
-'logentry-delete-revision-legacy' => '$1 mengubah ketertampilan revisi pada halaman $3',
-'logentry-suppress-delete' => '$1 mensupresi halaman $3',
-'logentry-suppress-event' => '$1 secara diam-diam mengubah ketertampilan {{PLURAL:$5||}} $5 log peristiwa di $3: $4',
-'logentry-suppress-revision' => '$1 diam-diam mengubah ketertampilan {{PLURAL:$5||}} $5 revisi di halaman $3: $4',
-'logentry-suppress-event-legacy' => '$1 diam-diam mengubah ketertampilan log peristiwa pada $3',
-'logentry-suppress-revision-legacy' => '$1 diam-diam mengubah ketertampilan revisi pada halaman $3',
+'logentry-delete-delete' => '$1 {{GENDER:$2|menghapus}} halaman $3',
+'logentry-delete-restore' => '$1 {{GENDER:$2|mengembalikan}} halaman $3',
+'logentry-delete-event' => '$1 {{GENDER:$2|mengubah}} tampilan {{PLURAL:$5|$5 log peristiwa}} di $3: $4',
+'logentry-delete-revision' => '$1 {{GENDER:$2|mengubah}} tampilan {{PLURAL:$5|$5 revisi}} di halaman $3: $4',
+'logentry-delete-event-legacy' => '$1 {{GENDER:$2|mengubah}} tampilan log peristiwa pada $3',
+'logentry-delete-revision-legacy' => '$1 {{GENDER:$2|mengubah}} tampilan revisi pada halaman $3',
+'logentry-suppress-delete' => '$1 {{GENDER:$2|menimpa}} halaman $3',
+'logentry-suppress-event' => '$1 secara diam-diam {{GENDER:$2|mengubah}} tampilan {{PLURAL:$5|$5 log peristiwa}} di $3: $4',
+'logentry-suppress-revision' => '$1 diam-diam {{GENDER:$2|mengubah}} tampilan {{PLURAL:$5|$5 revisi}} di halaman $3: $4',
+'logentry-suppress-event-legacy' => '$1 diam-diam {{GENDER:$2|mengubah}} tampilan log peristiwa pada $3',
+'logentry-suppress-revision-legacy' => '$1 diam-diam {{GENDER:$2|mengubah}} tampilan revisi pada halaman $3',
'revdelete-content-hid' => 'konten disembunyikan',
'revdelete-summary-hid' => 'ringkasan suntingan disembunyikan',
'revdelete-uname-hid' => 'nama pengguna disembunyikan',
'revdelete-uname-unhid' => 'nama pengguna tidak disembunyikan',
'revdelete-restricted' => 'akses telah dibatasi untuk opsis',
'revdelete-unrestricted' => 'pembatasan akses opsis dihapuskan',
-'logentry-move-move' => '$1 memindahkan halaman $3 ke $4',
-'logentry-move-move-noredirect' => '$1 memindahkan halaman $3 ke $4 tanpa membuat pengalihan',
-'logentry-move-move_redir' => '$1 memindahkan halaman $3 ke $4 menimpa pengalihan lama',
-'logentry-move-move_redir-noredirect' => '$1 memindahkan halaman $3 ke $4 menimpa pengalihan lama tanpa membuat pengalihan',
-'logentry-patrol-patrol' => '$1 menandai revisi $4 dari halaman $3 terpatroli',
-'logentry-patrol-patrol-auto' => '$1 secara otomatis menandai revisi $4 dari halaman $3 terpatroli',
-'logentry-newusers-newusers' => 'Akun pengguna $1 telah dibuat',
-'logentry-newusers-create' => '$1 membuat akun pengguna',
-'logentry-newusers-create2' => '$1 membuat akun pengguna $3',
-'logentry-newusers-byemail' => 'Akun pengguna $3 diciptakan oleh $1 dan password dikirim melalui surel',
-'logentry-newusers-autocreate' => 'Akun $1 dibuat secara otomatis',
-'logentry-rights-rights' => '$1 mengubah keanggotaan grup $3 dari $4 menjadi $5',
-'logentry-rights-rights-legacy' => '$1 mengubah keanggotaan grup $3',
-'logentry-rights-autopromote' => '$1 secara otomatis dipromosikan dari $4 menjadi $5',
+'logentry-move-move' => '$1 {{GENDER:$2|memindahkan}} halaman $3 ke $4',
+'logentry-move-move-noredirect' => '$1 {{GENDER:$2|memindahkan}} halaman $3 ke $4 tanpa membuat pengalihan',
+'logentry-move-move_redir' => '$1 {{GENDER:$2|memindahkan}} halaman $3 ke $4 menimpa pengalihan lama',
+'logentry-move-move_redir-noredirect' => '$1 {{GENDER:$2|memindahkan}} halaman $3 ke $4 menimpa pengalihan lama tanpa membuat pengalihan',
+'logentry-patrol-patrol' => '$1 {{GENDER:$2|menandai}} revisi $4 dari halaman $3 terpatroli',
+'logentry-patrol-patrol-auto' => '$1 otomatis {{GENDER:$2|menandai}} revisi $4 dari halaman $3 terpatroli',
+'logentry-newusers-newusers' => 'Akun pengguna $1 telah {{GENDER:$2|dibuat}}',
+'logentry-newusers-create' => '$1 {{GENDER:$2|membuat}} akun pengguna',
+'logentry-newusers-create2' => '$1 {{GENDER:$2|membuat}} akun pengguna $3',
+'logentry-newusers-byemail' => 'Akun pengguna $3 {{GENDER:$2|dibuat}} oleh $1 dan password dikirim melalui surel',
+'logentry-newusers-autocreate' => 'Akun $1 {{GENDER:$2|dibuat}} secara otomatis',
+'logentry-rights-rights' => '$1 {{GENDER:$2|mengubah}} keanggotaan grup $3 dari $4 menjadi $5',
+'logentry-rights-rights-legacy' => '$1 {{GENDER:$2|mengubah}} keanggotaan grup $3',
+'logentry-rights-autopromote' => '$1 secara otomatis {{GENDER:$2|dipromosikan}} dari $4 menjadi $5',
'rightsnone' => '(tidak ada)',
# Feedback
'listusers-noresult' => 'Nessun utente risponde ai criteri impostati.',
'listusers-blocked' => '(bloccato)',
-# Special:ActiveUsers
-'activeusers' => 'Elenco degli utenti attivi',
-'activeusers-intro' => 'Questo è un elenco di utenti che hanno avuto qualche tipo di attività da $1 {{PLURAL:$1|giorno|giorni}} a questa parte.',
-'activeusers-count' => "$1 {{PLURAL:$1|azione|azioni}} {{PLURAL:$3|nell'ultimo giorno|negli ultimi $3 giorni}}",
-'activeusers-from' => 'Mostra gli utenti a partire da:',
-'activeusers-hidebots' => 'Nascondi i bot',
-'activeusers-hidesysops' => 'Nascondi gli amministratori',
-'activeusers-noresult' => 'Nessun utente risponde ai criteri impostati.',
-
# Special:ListGroupRights
'listgrouprights' => 'Diritti del gruppo utente',
'listgrouprights-summary' => "Di seguito sono elencati i gruppi utente definiti per questo sito, con i diritti d'accesso loro associati.
'listusers-noresult' => '利用者が見つかりませんでした。',
'listusers-blocked' => '(ブロック中)',
-# Special:ActiveUsers
-'activeusers' => '活動中の利用者一覧',
-'activeusers-intro' => 'これは過去 $1 {{PLURAL:$1|日|日間}}に何らかの活動をした利用者の一覧です。',
-'activeusers-count' => '過去 {{PLURAL:$3|1 日|$3 日間}}に $1 {{PLURAL:$1|回の操作}}',
-'activeusers-from' => '最初に表示する利用者:',
-'activeusers-hidebots' => 'ボットを隠す',
-'activeusers-hidesysops' => '管理者を隠す',
-'activeusers-noresult' => '利用者が見つかりませんでした。',
-
# Special:ListGroupRights
'listgrouprights' => '利用者グループの権限',
'listgrouprights-summary' => '以下は、このウィキに登録されている利用者グループと、それぞれに割り当てられている権限の一覧です。
# Thumbnails
'thumbnail-more' => '拡大',
'filemissing' => 'ファイルがありません',
-'thumbnail_error' => 'サムネイルの作成中にエラーが発生しました: $1',
+'thumbnail_error' => 'サムネイルの作成エラー: $1',
'djvu_page_error' => 'DjVuページが範囲外です',
'djvu_no_xml' => 'DjVuファイルのXMLデータを取得できません',
'thumbnail-temp-create' => '一時的なサムネイルファイルを作成できません',
'listusers-noresult' => 'მომხმარებელი ვერ ვიპოვეთ.',
'listusers-blocked' => '(დაბლოკილია)',
-# Special:ActiveUsers
-'activeusers' => 'აქტიურ მომხმარებელთა სია',
-'activeusers-intro' => 'ეს არის მომხმარებელთა სია, რომელთაც აქვს წვლილი უკანასკნელი $1 {{PLURAL:$1|დღის|დღის}} განმავლობაში.',
-'activeusers-count' => '$1 {{PLURAL:$1|მოქმედება|მოქმედება}} {{PLURAL:$3|დღის|$3 დღის}} განმავლობაში.',
-'activeusers-from' => 'მომხმარებელთა ჩვენება, დაწყებული:',
-'activeusers-hidebots' => 'რობოტების დამალვა',
-'activeusers-hidesysops' => 'ადმინისტრატორების დამალვა',
-'activeusers-noresult' => 'მომხმარებლები არ არიან ნაპოვნი.',
-
# Special:ListGroupRights
'listgrouprights' => 'მომხმარებელთა ჯგუფების უფლებები',
'listgrouprights-summary' => 'ქვემოთ წარმოდგენილია ამ ვიკიში გარკვეულ ჯგუფთა სია და მათი უფლებები.
'listusers-noresult' => 'រកមិនឃើញអ្នកប្រើប្រាស់នេះទេ។',
'listusers-blocked' => '(ស្ថិតក្រោមការហាមឃាត់)',
-# Special:ActiveUsers
-'activeusers' => 'បញ្ជីរាយនាមអ្នកប្រើប្រាស់សកម្ម',
-'activeusers-intro' => 'នេះជាបញ្ជីរាយនាមអ្នកប្រើប្រាស់ដែលមានសកម្មភាពក្នុងរូបភាពណាមួយក្នុងរយៈពេល $1 {{PLURAL:$1|ថ្ងៃ|ថ្ងៃ}}ចុងក្រោយ។',
-'activeusers-count' => '{{PLURAL:$1|សកម្មភាព|សកម្មភាព}}ចំនួន$1 ក្នុងរយៈពេល{{PLURAL:$3|១ថ្ងៃ|$3 ថ្ងៃ}}ចុងក្រោយ',
-'activeusers-from' => 'បង្ហាញអត្តនាមផ្ដើមដោយ៖',
-'activeusers-hidebots' => 'លាក់រូបយន្ត',
-'activeusers-hidesysops' => 'លាក់អភិបាល',
-'activeusers-noresult' => 'អ្នកប្រើប្រាស់រកមិនឃើញ។',
-
# Special:ListGroupRights
'listgrouprights' => 'សិទ្ធិនិងក្រុមអ្នកប្រើប្រាស់',
'listgrouprights-summary' => 'ខាងក្រោមនេះជាបញ្ជីរាយឈ្មោះក្រុមអ្នកប្រើប្រាស់ដែលបានកំណត់ជាមួយនឹងសិទ្ធិរបស់គេនៅលើវិគីនេះ។ មាន[[{{MediaWiki:Listgrouprights-helppage}}|ព័ត៌មានបន្ថែម]] អំពីសិទ្ធិផ្ទាល់ខ្លួន។',
'listusers-submit' => 'ತೋರು',
'listusers-noresult' => 'ಯಾವ ಬಳಕೆದಾರರೂ ಸಿಗಲಿಲ್ಲ.',
-# Special:ActiveUsers
-'activeusers' => 'ಸಕ್ರಿಯ ಸದಸ್ಯರ ಪಟ್ಟಿ',
-'activeusers-noresult' => 'ಯಾವ ಬಳಕೆದಾರರೂ ಸಿಗಲಿಲ್ಲ.',
-
# Special:ListGroupRights
'listgrouprights' => 'ಬಳಕೆದಾರ ಗುಂಪು ಹಕ್ಕುಗಳು',
'listgrouprights-summary' => 'ಈ ವಿಕಿಯಲ್ಲಿ ಪ್ರಚಲಿತವಾಗಿರುವ ಬಳಕೆದಾರ ಗುಂಪುಗಳು ಮತ್ತು ಆ ಗುಂಪುಗಳಿಗೆ ಅನ್ವಯಿಸುವ ಹಕ್ಕುಗಳು ಈ ಕೆಳಗಿನಂತಿದೆ.',
'listusers-noresult' => '해당 사용자가 없습니다.',
'listusers-blocked' => '(차단됨)',
-# Special:ActiveUsers
-'activeusers' => '활동적인 사용자 목록',
-'activeusers-intro' => '다음은 최근 $1{{PLURAL:$1|일}} 동안 활동한 사용자의 목록입니다.',
-'activeusers-count' => '최근 {{PLURAL:$3|$3일}} 사이의 {{PLURAL:$1|활동}} $1회',
-'activeusers-from' => '다음으로 시작하는 사용자를 보기:',
-'activeusers-hidebots' => '봇을 숨기기',
-'activeusers-hidesysops' => '관리자를 숨기기',
-'activeusers-noresult' => '사용자가 없습니다.',
-
# Special:ListGroupRights
'listgrouprights' => '사용자 권한 목록',
'listgrouprights-summary' => '다음은 이 위키에서 설정된 사용자 권한 그룹의 목록입니다.
'listusers-noresult' => 'Къошулуучула табылмадыла.',
'listusers-blocked' => '(блокга салыныбды)',
-# Special:ActiveUsers
-'activeusers' => 'Актив къошулуучуланы тизмеси',
-'activeusers-intro' => 'Бу, ахыр $1 {{PLURAL:$1|кюнде|кюнде}} къаллайда болсун ишлетме кёргюзген къошлуучуланы тизмесиди.',
-'activeusers-count' => 'Ахыр {{PLURAL:$3|кюнде|$3 кюнде}} $1 {{PLURAL:$1|тюрлендириу|тюрлендириу}}',
-'activeusers-from' => 'Бу бла башланнган къошлуучуланы кёргюз:',
-'activeusers-hidebots' => 'Ботланы джашыр',
-'activeusers-hidesysops' => 'Администраторланы джашыр',
-'activeusers-noresult' => 'Къошлуучу табылмады.',
-
# Special:ListGroupRights
'listgrouprights' => 'Къошулуучуланы къауумуну хакълары',
'listgrouprights-summary' => 'Тюбюндеги бу викиде танылгъан къошулуучу къауумланы эмда аланы хакъларыны тизмеси.
'listusers-noresult' => 'Keine Metmaacher jefonge.',
'listusers-blocked' => '(jespert)',
-# Special:ActiveUsers
-'activeusers' => 'Leß met de aktiive Metmaacher',
-'activeusers-intro' => 'Dat heh es en Leß met dä Metmaacher, di {{PLURAL:$1|zick jäßtere|en de läzde $1 Dääsch|hück}} ööhnsjät jemaat han.',
-'activeusers-count' => '{{PLURAL:$1|ein Änderong|$1 Änderonge|kein Änderonge}} {{PLURAL:$3|aam lezde Daach|en de lezte $3 Dääsch|hück}}',
-'activeusers-from' => 'Donn de Metmaacher zeije aff:',
-'activeusers-hidebots' => 'De Bots fott lohße',
-'activeusers-hidesysops' => 'De Wiki_Köbesse fott lohße',
-'activeusers-noresult' => 'Kein Metmaacher jefonge.',
-
# Special:ListGroupRights
'listgrouprights' => 'Metmaacher-Jruppe-Rääschte',
'listgrouprights-summary' => 'Hee kütt de Liss met dä Medmaacher-Jruppe, di dat Wiki hee kennt, un denne ier Rääschte.
'listusers-noresult' => 'Bikarhêner nehate dîtin.',
'listusers-blocked' => '(hate astengkirin)',
-# Special:ActiveUsers
-'activeusers' => 'Lîsteya bikarhênerên çalak',
-'activeusers-hidebots' => "Bot'an veşêre",
-'activeusers-hidesysops' => 'Rêveberan veşêre',
-'activeusers-noresult' => 'Tu bikarhêner nehate dîtin.',
-
# Special:ListGroupRights
'listgrouprights' => 'Mafên koma bikarhêner',
'listgrouprights-group' => 'Kom',
'whatlinkshere-hideredirs' => 'Beralîkirinan $1',
'whatlinkshere-hidetrans' => 'Naverokan $1',
'whatlinkshere-hidelinks' => 'Girêdanan $1',
-'whatlinkshere-hideimages' => '$1 lînkên wêneyan',
+'whatlinkshere-hideimages' => 'Girêdanên wêneyan $1',
'whatlinkshere-filters' => 'Parzûn',
# Block/unblock
'movepage-page-unmoved' => 'Rûpela $1 nikanî çûba ciha $2.',
'movelogpage' => 'guhertina nav',
'movelogpagetext' => 'Li jêr lîsteyek ji rûpelan ku navê wan hatiye guherandin heye.',
+'movenosubpage' => 'Binrûpelên vê rûpelê tune ne.',
'movereason' => 'Sedem',
'revertmove' => 'şûnde vegerîne',
'delete_and_move' => 'Jêbibe û nav biguherîne',
'pageinfo-redirectsto-info' => 'agahî',
'pageinfo-contentpage-yes' => 'Erê',
'pageinfo-protect-cascading-yes' => 'Erê',
+'pageinfo-category-pages' => 'hejmara rûpelan',
+'pageinfo-category-subcats' => 'Hejmara binkategoriyan',
# Patrolling
'markaspatrolleddiff' => 'Wek serrastkirî nîşan bide',
'specialpages-group-users' => 'Bikarhêner û maf',
'specialpages-group-pages' => 'Lîstên rûpelan',
'specialpages-group-pagetools' => 'Amûrên rûpelê',
+'specialpages-group-wiki' => 'Dane û amûr',
# Special:BlankPage
'blankpage' => 'Rûpela vala',
'otherlanguages' => 'An anere Sproochen',
'redirectedfrom' => '(Virugeleet vu(n) $1)',
'redirectpagesub' => 'Viruleedungssäit',
-'lastmodifiedat' => "Dës Säit gouf den $1 ëm $2 Auer fir d'lescht geännert.",
+'lastmodifiedat' => "Dës Säit gouf de(n) $1 ëm $2 Auer fir d'lescht geännert.",
'viewcount' => 'Dës Säit gouf bis elo {{PLURAL:$1|emol|$1-mol}} ofgefrot.',
'protectedpage' => 'Gespaarte Säit',
'jumpto' => 'Wiesselen op:',
'listusers-noresult' => 'Kee Benotzer fonnt.',
'listusers-blocked' => '(gespaart)',
-# Special:ActiveUsers
-'activeusers' => 'Lëscht vun den aktive Benotzer',
-'activeusers-intro' => 'Dëst ass eng Lëscht vun de Benotzer déi op iergend eng Manéier an de leschten $1 {{PLURAL:$1|Dag|Deeg}} aktiv waren.',
-'activeusers-count' => '$1 {{PLURAL:$1|Aktioun|Aktiounen}} {{PLURAL:$3|gëschter|an de leschten $3 Deeg}}',
-'activeusers-from' => 'Benotzer weisen, ugefaang bäi:',
-'activeusers-hidebots' => 'Botte verstoppen',
-'activeusers-hidesysops' => 'Administrateure verstoppen',
-'activeusers-noresult' => 'Keng Benotzer fonnt.',
-
# Special:ListGroupRights
'listgrouprights' => 'Rechter vun de Benotzergruppen',
'listgrouprights-summary' => 'Dëst ass eng Lëscht vun den op dëser Wiki definéierte Benotzergruppen an den domat verbonnene Rechter.
'listusers-noresult' => 'Nerasta jokių naudotojų.',
'listusers-blocked' => '(užblokuotas)',
-# Special:ActiveUsers
-'activeusers' => 'Aktyvių naudotojų sąrašas',
-'activeusers-intro' => 'Tai naudotojų sąrašas, kurie ką nors padarė per $1 {{PLURAL:$1|paskutinę dieną|paskutines dienas|paskutinių dienų}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|keitimas|keitimai|keitimų}} per $3 {{PLURAL:$3|paskutinę dieną|paskutines dienas|paskutinių dienų}}',
-'activeusers-from' => 'Rodyti naudotojus, pradedant:',
-'activeusers-hidebots' => 'Slėpti robotus',
-'activeusers-hidesysops' => 'Slėpti administratorius',
-'activeusers-noresult' => 'Nerasta jokių naudotojų.',
-
# Special:ListGroupRights
'listgrouprights' => 'Naudotojų grupių teisės',
'listgrouprights-summary' => 'Žemiau pateiktas naudotojų grupių, apibrėžtų šioje wiki, ir su jomis susijusių teisių sąrašas.
'listusers-noresult' => 'Hmangtu an awm lo.',
'listusers-blocked' => '(danbeh)',
-# Special:ActiveUsers
-'activeusers' => 'Hmangtu hlun tlarna',
-'activeusers-hidebots' => 'Khawlmi thupna',
-'activeusers-hidesysops' => 'Roreltu thupna',
-'activeusers-noresult' => 'Hmangtu awm lo.',
-
# Special:ListGroupRights
'listgrouprights' => 'Hmangtu pawl dikna-chanvote',
'listgrouprights-key' => '* <span class="listgrouprights-granted">Dikna-chanvo phalsak</span>
'listusers-noresult' => 'Neviens lietotājs nav atrasts.',
'listusers-blocked' => '(bloķēts)',
-# Special:ActiveUsers
-'activeusers' => 'Aktīvo lietotāju saraksts',
-'activeusers-intro' => 'Šis ir lietotāju saraksts, kas veikuši kādu darbību {{PLURAL:daudzskaitlī:$1|pēdējā|pēdējās}} $1 {{PLURAL:daudzskaitlī:$1|dienā|dienās}}.',
-'activeusers-from' => 'Parādīt lietotājus sākot ar:',
-'activeusers-hidebots' => 'Paslēpt botus',
-'activeusers-hidesysops' => 'Paslēpt administratorus',
-'activeusers-noresult' => 'Neviens lietotājs nav atrasts.',
-
# Special:ListGroupRights
'listgrouprights' => 'Lietotāju grupu tiesības',
'listgrouprights-summary' => 'Šis ir šajā wiki definēto lietotāju grupu uskaitījums, kopā ar tām atbilstošajām piekļuves tiesībām.
'tmp-write-error' => 'Грешка при запис на привремената податотека.',
'large-file' => 'Се препорачува податотеките да не бидат поголеми од $1; оваа податотека е $2.',
'largefileserver' => 'Големината на оваа податотека е поголема од максимално дозволената големина од серверот.',
-'emptyfile' => 'Ð\9fодаÑ\82оÑ\82екаÑ\82а Ñ\88Ñ\82о Ñ\98а подигнавÑ\82е изгледа дека е пÑ\80азна.
-Ова може да е поради грешка во името на податотеката.
-Ð\92е молиме пÑ\80овеÑ\80еÑ\82е дали навиÑ\81Ñ\82ина Ñ\81акаÑ\82е да Ñ\98а подигнеÑ\82е оваа податотека.',
+'emptyfile' => 'Податотеката што ја подигнавте е празна.
+Ова може да се должи на грешка во нејзиното име.
+Ð\9fÑ\80овеÑ\80еÑ\82е дали навиÑ\81Ñ\82ина Ñ\81акаÑ\82е да Ñ\98а подигнеÑ\82е вакваÑ\82а податотека.',
'windows-nonascii-filename' => 'Опслужувачот не поддржува податотечни имиња со специјални знаци.',
'fileexists' => 'Податотека со ова име веќе постои, проверете <strong>[[:$1]]</strong> ако не сте сигурни дали сакате да го промените.
[[$1|thumb]]',
'listusers-noresult' => 'Не е пронајден корисник.',
'listusers-blocked' => '(блокиран)',
-# Special:ActiveUsers
-'activeusers' => 'Список на активни корисници',
-'activeusers-intro' => 'Ова е список на корисници кои биле на некој начин активни во последните $1 {{PLURAL:$1|ден|дена}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|дејство|дејства}} {{PLURAL:$3|денес|во последните $3 дена}}',
-'activeusers-from' => 'Прикажи корисници почнувајќи од:',
-'activeusers-hidebots' => 'Скриј ботови',
-'activeusers-hidesysops' => 'Скриј администратори',
-'activeusers-noresult' => 'Нема пронајдено корисници.',
-
# Special:ListGroupRights
'listgrouprights' => 'Права на кориснички групи',
'listgrouprights-summary' => 'Следи список на кориснички групи утврдени на ова вики, заедно со нивните придружни права на пристап.
'listusers-noresult' => 'ഈ സംഘത്തിൽ ഉൾപ്പെടുന്ന ഉപയോക്താക്കൾ ആരും ഇല്ല.',
'listusers-blocked' => '(തടയപ്പെട്ടു)',
-# Special:ActiveUsers
-'activeusers' => 'സജീവ ഉപയോക്താക്കളുടെ പട്ടിക',
-'activeusers-intro' => 'ഇത് കഴിഞ്ഞ {{PLURAL:$1|ദിവസം|$1 ദിവസങ്ങളിൽ}} ഏതെങ്കിലും വിധത്തിലുള്ള പ്രവർത്തനങ്ങൾ ചെയ്ത ഉപയോക്താക്കളുടെ പട്ടികയാണ്.',
-'activeusers-count' => 'കഴിഞ്ഞ {{PLURAL:$3|ഒരു ദിവസം|$3 ദിവസങ്ങളിൽ}} {{PLURAL:$1|ഒരു പ്രവൃത്തി|$1 പ്രവൃത്തികൾ}}',
-'activeusers-from' => 'ഇങ്ങനെ തുടങ്ങുന്ന ഉപയോക്താക്കളെ കാട്ടുക:',
-'activeusers-hidebots' => 'യന്ത്രങ്ങളെ മറയ്ക്കുക',
-'activeusers-hidesysops' => 'കാര്യനിർവാഹകരെ മറയ്ക്കുക',
-'activeusers-noresult' => 'ഉപയോക്താക്കളില്ല',
-
# Special:ListGroupRights
'listgrouprights' => 'ഉപയോക്തൃവിഭാഗത്തിന്റെ അവകാശങ്ങൾ',
'listgrouprights-summary' => 'ഈ വിക്കിയിൽ നിർവ്വചിക്കപ്പെട്ടിരിക്കുന്ന ഉപയോക്തൃസംഘങ്ങളെയും, ആ സംഘങ്ങൾക്ക് പ്രാപ്തമായിട്ടുള്ള അവകാശങ്ങളേയും താഴെ കുറിച്ചിരിക്കുന്നു.
'protectexpiry' => 'Tlamiliztli:',
'protect_expiry_invalid' => 'Ahcualli tlamiliztli cāhuitl.',
'protect-default' => 'Ticmācāhuaz mochintin in tlatequitiltilīltin',
-'protect-fallback' => 'Tiquihuīquilia tlahuelītiliztli "$1"',
+'protect-fallback' => 'Zan momācāhuazqueh tlatequitiltilīltin in tēmācāhualiztica «$1»',
'protect-level-autoconfirmed' => 'Tiquinquīxtīz yancuīc tlatequitiltilīltin īhuan in ahmo ōmocalacqueh',
'protect-level-sysop' => 'Zan tētlamahmacanih',
'protect-expiring' => 'motlamīz $1 (UTC)',
'listusers-noresult' => 'Ingen brukere funnet.',
'listusers-blocked' => '(konto blokkert)',
-# Special:ActiveUsers
-'activeusers' => 'Liste over aktive brukere',
-'activeusers-intro' => 'Dette er en liste over brukere som har hatt en eller annen form for aktivitet innenfor {{PLURAL:$1|den siste dagen|de siste dagene}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|endring|endringer}} {{PLURAL:$3|det siste døgnet|de siste $3 dagene}}',
-'activeusers-from' => 'Vis brukere fra og med:',
-'activeusers-hidebots' => 'Skjul roboter',
-'activeusers-hidesysops' => 'Skjul administratorer',
-'activeusers-noresult' => 'Ingen brukere funnet.',
-
# Special:ListGroupRights
'listgrouprights' => 'Rettigheter for brukergrupper',
'listgrouprights-summary' => 'Følgende er en liste over brukergrupper som er definert på denne wikien, og hvilke rettigheter de har.
'listusers-noresult' => 'Geen gebruiker gevonden.',
'listusers-blocked' => '(geblokkeerd)',
-# Special:ActiveUsers
-'activeusers' => 'Aanwezige gebruikers',
-'activeusers-intro' => 'Dit is een lijst met gebruikers die enige activiteit hebben laten zien in de afgelopen {{PLURAL:$1|dag|$1 dagen}}.',
-'activeusers-count' => '$1 recente {{PLURAL:$1|handeling|handelingen}} in de {{PLURAL:$3|afgelopen dag|laatste $3 dagen}}',
-'activeusers-from' => 'Gebruikers worden weergegeven vanaf:',
-'activeusers-hidebots' => 'Bots verbergen',
-'activeusers-hidesysops' => 'Beheerders verbergen',
-'activeusers-noresult' => 'Geen actieve gebruikers gevonden.',
-
# Special:ListGroupRights
'listgrouprights' => 'Rechten van gebruikersgroepen',
'listgrouprights-summary' => 'Op deze pagina staan de gebruikersgroepen in deze wiki beschreven, met hun bijbehorende rechten.
'listusers-noresult' => 'Ingen brukarnamn vart funne.',
'listusers-blocked' => '(konto blokkert)',
-# Special:ActiveUsers
-'activeusers' => 'Liste over aktive brukarar',
-'activeusers-intro' => 'Dette er ei liste over brukarar som har hatt ei eller anna form for aktivitet innanfor {{PLURAL:$1|den siste dagen|dei siste dagane}}.',
-'activeusers-count' => '{{PLURAL:$1|Éi handling|$1 handlingar}} {{PLURAL:$3|det siste døgeret|dei siste $3 døgra}}',
-'activeusers-from' => 'Vis brukarar frå og med:',
-'activeusers-hidebots' => 'Skjul botar',
-'activeusers-hidesysops' => 'Skjul administratorar',
-'activeusers-noresult' => 'Ingen brukarar funne.',
-
# Special:ListGroupRights
'listgrouprights' => 'Rettar for brukargrupper',
'listgrouprights-summary' => 'Detter ei liste som viser brukargruppene som er definerte på wikien, og kva rettar dei har. Det kan finnast [[{{MediaWiki:Listgrouprights-helppage}}|meir informasjon]] om dei ulike rettane.',
'listusers-noresult' => 'ଜଣେ ବି ସଭ୍ୟ ମିଳିଲେ ନାହିଁ ।',
'listusers-blocked' => '(ଅଟକାଯାଇଥିବା)',
-# Special:ActiveUsers
-'activeusers' => 'ସଚଳ ସଭ୍ୟଙ୍କ ତାଲିକା',
-'activeusers-intro' => 'ବିଗତ $1 {{PLURAL:$1|ଦିନ|ଦିନ}} ଭିତରେ କିଛି ପ୍ରକାରର କାମ କରିଥିବା ସଭ୍ୟମାନଙ୍କର ତାଲିକା ।',
-'activeusers-count' => 'ବିଗତ {{PLURAL:$3|ଦିନ|$3 ଦିନରେ}}ରେ $1ଟି {{PLURAL:$1|ସମ୍ପାଦନା|ସମ୍ପାଦନାଗୁଡିକ}}',
-'activeusers-from' => 'ଏହି ନାମରେ ଆରମ୍ଭ ହେଉଥିବା ସଭ୍ୟମାନଙ୍କୁ ଦେଖାଇବେ:',
-'activeusers-hidebots' => 'ଆପେଆପେ ଚାଳିତ ସଭ୍ୟମାନଙ୍କୁ ଲୁଚାନ୍ତୁ',
-'activeusers-hidesysops' => 'ପରିଚାଳକମାନଙ୍କୁ ଲୁଚାଇବେ',
-'activeusers-noresult' => 'ଜଣେ ବି ସଭ୍ୟ ମିଳିଲେ ନାହିଁ ।',
-
# Special:ListGroupRights
'listgrouprights' => 'ସଭ୍ୟ ଗୋଠ ଅଧିକାରସମୂହ',
'listgrouprights-summary' => 'ତଳେ ଉଇକି ସ୍ଥିର କରାଯାଇଥିବା ଏକ ଏକ ବ୍ୟବହାରକାରୀ ଗୋଠର ତାଲିକା ଦିଆଯାଇଛି, ସେଥିରେ ସେମାନଙ୍କ ବ୍ୟବହାର ଅଧିକାର ବାବଦରେ ମଧ୍ୟ ଦିଆଯାଇଛି ।
'listusers-noresult' => 'Nie znaleziono żadnego użytkownika.',
'listusers-blocked' => '({{GENDER:$1|zablokowany|zablokowana|zablokowany}})',
-# Special:ActiveUsers
-'activeusers' => 'Lista aktywnych użytkowników',
-'activeusers-intro' => 'Poniżej znajduje się lista użytkowników, którzy byli aktywni w ciągu {{PLURAL:$1|ostatniego dnia|ostatnich $1 dni}}.',
-'activeusers-count' => 'w ciągu {{PLURAL:$3|ostatniego dnia|ostatnich $3 dni}} {{GENDER:$2|wykonał|wykonała|wykonał}} $1 {{PLURAL:$1|edycję|edycje|edycji}}',
-'activeusers-from' => 'Pokaż użytkowników zaczynając od',
-'activeusers-hidebots' => 'Ukryj boty',
-'activeusers-hidesysops' => 'Ukryj administratorów',
-'activeusers-noresult' => 'Nie odnaleziono żadnego użytkownika.',
-
# Special:ListGroupRights
'listgrouprights' => 'Uprawnienia grup użytkowników',
'listgrouprights-summary' => 'Poniżej znajduje się spis zdefiniowanych na tej wiki grup użytkowników, z wyszczególnieniem przydzielonych im uprawnień.
'listusers-noresult' => 'Não foram encontrados utilizadores.',
'listusers-blocked' => '(bloqueado)',
-# Special:ActiveUsers
-'activeusers' => 'Utilizadores activos',
-'activeusers-intro' => 'Esta é uma lista dos utilizadores com qualquer tipo de actividade {{PLURAL:$1|no último dia|nos últimos $1 dias}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|ação|ações}} {{PLURAL:$3|no último dia|nos últimos $3 dias}}',
-'activeusers-from' => 'Mostrar utilizadores começando por:',
-'activeusers-hidebots' => 'Esconder robôs',
-'activeusers-hidesysops' => 'Esconder administradores',
-'activeusers-noresult' => 'Nenhum utilizador encontrado.',
-
# Special:ListGroupRights
'listgrouprights' => 'Privilégios dos grupos de utilizadores',
'listgrouprights-summary' => 'A seguinte lista contém os grupos de utilizadores definidos nesta wiki, com os respectivos privilégios de acesso.
'listusers-blocked' => 'Used on [[Special:ActiveUsers]] when a user has been blocked.
* $1 is a user name for use with GENDER (optional)',
-# Special:ActiveUsers
-'activeusers' => 'Title of [[Special:ActiveUsers]]',
-'activeusers-intro' => 'Used as introduction in [[Special:ActiveUsers]]. Parameters:
-* $1 - number of days (<code>$wgActiveUserDays</code>)',
-'activeusers-count' => "Used in [[Special:ActiveUsers]] to show the active user's recent action count in brackets ([]).
-* $1 is the number of recent actions
-* $2 is the user's name for use with GENDER (optional)
-* $3 is the maximum number of days of the RecentChangesList",
-'activeusers-from' => 'Used as label for checkbox in the form on [[Special:ActiveUsers]].
-
-identical with {{msg-mw|listusersfrom}}
-
-See also:
-* {{msg-mw|activeusers|legend for the form}}
-* {{msg-mw|activeusers-hidebots|label for checkbox}}
-* {{msg-mw|activeusers-hidesysops|label for checkbox}}',
-'activeusers-hidebots' => 'Used as label for checkbox in the form on [[Special:ActiveUsers]].
-
-See also:
-* {{msg-mw|activeusers|legend for the form}}
-* {{msg-mw|activeusers-from|label for input box}}
-* {{msg-mw|activeusers-hidesysops|label for checkbox}}',
-'activeusers-hidesysops' => 'Used as label for checkbox in the form on [[Special:ActiveUsers]].
-
-See also:
-* {{msg-mw|activeusers|legend for the form}}
-* {{msg-mw|activeusers-from|label for input box}}
-* {{msg-mw|activeusers-hidebots|label for checkbox}}',
-'activeusers-noresult' => 'identical with {{msg-mw|listusers-noresult}}',
-
# Special:ListGroupRights
'listgrouprights' => 'The name of the special page [[Special:ListGroupRights]].',
'listgrouprights-summary' => 'The description used on [[Special:ListGroupRights]].',
* {{msg-mw|Thumbnail-dest-create}}
* {{msg-mw|Thumbnail dest directory}}
* {{msg-mw|Thumbnail invalid params}}
+* {{msg-mw|Thumbnail image-missing}}
* {{msg-mw|Djvu no xml}}
* {{msg-mw|Djvu page error}}
* {{msg-mw|Svg-long-error}}
'listusers-noresult' => 'Ruraqqa manam tarisqachu.',
'listusers-blocked' => "(hark'asqa)",
-# Special:ActiveUsers
-'activeusers' => "Llamk'achkaq ruraqkuna",
-'activeusers-intro' => "Kay qatiqpiqa ruraqkunatam rikunki, qhipaq $1 {{PLURAL:$1|p'unchawpi|p'unchawkunapi}} kay wikipi imatapas ruraq.",
-'activeusers-count' => "$1 {{PLURAL:$1|llamk'apusqa|llamk'apusqakuna}} ñaqha {{PLURAL:$3|p'unchawpi|$3 p'unchawkunapi}}",
-'activeusers-from' => 'Ruraqkunata rikuchiy, kaywan qallarispa:',
-'activeusers-hidebots' => 'Rurana antachakunata pakay',
-'activeusers-hidesysops' => 'Kamachiqkunata pakay',
-'activeusers-noresult' => 'Ruraqkunataqa manam tarinichu.',
-
# Special:ListGroupRights
'listgrouprights' => 'Ruraq huñup hayñinkuna',
'listgrouprights-summary' => "Kay qatiq sutisuyupiqa kay wikipi sut'ichasqa ruraq huñukunatam, kikinpa chayamuna hayñinkunatawan rikunki.
'listusers-noresult' => 'Nici un utilizator găsit.',
'listusers-blocked' => '(blocat{{GENDER:$1||ă|}})',
-# Special:ActiveUsers
-'activeusers' => 'Listă utilizatori activi',
-'activeusers-intro' => 'Aceasta este o listă cu utilizatorii care au avut orice fel de activitate în {{PLURAL:$1|ultima zi|ultimele $1 zile}}.',
-'activeusers-count' => '{{PLURAL:$1|o acțiune|$1 acțiuni|$1 de acțiuni}} în {{PLURAL:$3|ultima zi|ultimele $3 zile|ultimele $3 de zile}}',
-'activeusers-from' => 'Afișează utilizatori începând cu:',
-'activeusers-hidebots' => 'Ascunde roboții',
-'activeusers-hidesysops' => 'Ascunde administratorii',
-'activeusers-noresult' => 'Niciun utilizator găsit.',
-
# Special:ListGroupRights
'listgrouprights' => 'Permisiuni grupuri de utilizatori',
'listgrouprights-summary' => 'Mai jos se află o listă a grupurilor de utilizatori definite în acest wiki, împreună cu permisiunile de acces asociate.
'listusers-noresult' => 'Nisciune utende acchiete.',
'listusers-blocked' => '(bloccate)',
-# Special:ActiveUsers
-'activeusers' => "Liste de l'utinde attive",
-'activeusers-intro' => "Queste jè 'n'elenghe de utinde ca avene fatte certe tipe de attività fine a l'urteme $1 {{PLURAL:$1|sciurne|sciurne}}.",
-'activeusers-count' => "$1 {{PLURAL:$1|cangiamende|cangiaminde}} jndr'à l'urteme {{PLURAL:$3|sciurne}}",
-'activeusers-from' => "Fà vedè l'utinde partenne da:",
-'activeusers-hidebots' => 'Scunne le bot',
-'activeusers-hidesysops' => 'Scunne le amministrature',
-'activeusers-noresult' => 'Nisciune utende acchiate.',
-
# Special:ListGroupRights
'listgrouprights' => 'Deritte de le gruppe utinde',
'listgrouprights-summary' => "'A liste ca ste vide ète 'na liste de le gruppe utinde ccreiate sus a sta Uicchi, cu le lore deritte d'accesse associate.
'listusers-noresult' => 'Не найдено участников.',
'listusers-blocked' => '(заблокирован{{GENDER:$1||а}})',
-# Special:ActiveUsers
-'activeusers' => 'Список активных участников',
-'activeusers-intro' => 'Это список участников, совершавших какие-либо действия за {{PLURAL:$1|последний $1 день|последние $1 дня|последние $1 дней}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|правка|правки|правок}} за {{PLURAL:$3|$3 последний день|последние $3 дня|последние $3 дней}}',
-'activeusers-from' => 'Показать участников, начиная с:',
-'activeusers-hidebots' => 'Скрыть ботов',
-'activeusers-hidesysops' => 'Скрыть администраторов',
-'activeusers-noresult' => 'Не найдено участников.',
-
# Special:ListGroupRights
'listgrouprights' => 'Права групп участников',
'listgrouprights-summary' => 'Ниже представлен список определённых в этой вики групп участников, указаны соответствующие им права доступа.
'listusers-noresult' => 'Ni najdenih uporabnikov.',
'listusers-blocked' => '(blokiran)',
-# Special:ActiveUsers
-'activeusers' => 'Seznam aktivnih uporabnikov',
-'activeusers-intro' => 'Seznam uporabnikov, ki so bili kakor koli aktivni v {{PLURAL:$1|zadnjem $1 dnevu|zadnjih $1 dneh}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|dejanje|dejanji|dejanja|dejanj}} v {{PLURAL:$3|preteklem dnevu|preteklih $3 dneh}}',
-'activeusers-from' => 'Prikaži uporabnike začenši z:',
-'activeusers-hidebots' => 'Skrij bote',
-'activeusers-hidesysops' => 'Skrij administratorje',
-'activeusers-noresult' => 'Noben uporabnik ni bil najden.',
-
# Special:ListGroupRights
'listgrouprights' => 'Pravice uporabniških skupin',
'listgrouprights-summary' => 'Tu je na razpolago seznam uporabniških skupin na tem wikiju z navedbo dodeljenih pravic dostopa.
'listusers-noresult' => 'Корисник није пронађен.',
'listusers-blocked' => '({{GENDER:$1|блокиран|блокирана|блокиран}})',
-# Special:ActiveUsers
-'activeusers' => 'Списак активних корисника',
-'activeusers-intro' => 'Ово је списак корисника који су били активни {{PLURAL:$1|претходни дан|у последња $1 дана|у последњих $1 дана}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|измена|измене|измена}} {{PLURAL:$3|претходни дан|у последња $3 дана|у последњих $3 дана}}',
-'activeusers-from' => 'Прикажи кориснике почев од:',
-'activeusers-hidebots' => 'Сакриј ботове',
-'activeusers-hidesysops' => 'Сакриј администраторе',
-'activeusers-noresult' => 'Корисник није пронађен.',
-
# Special:ListGroupRights
'listgrouprights' => 'Права корисничких група',
'listgrouprights-summary' => 'Следи списак корисничких група на овом викију, заједно с правима приступа.
'listusers-noresult' => 'Ingen användare hittades.',
'listusers-blocked' => '(blockerad)',
-# Special:ActiveUsers
-'activeusers' => 'Lista över aktiva användare',
-'activeusers-intro' => 'Detta är en lista på användare som har haft någon form av aktivitet inom de senaste $1 {{PLURAL:$1|dygnet|dygnen}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|handling|handlingar}} {{PLURAL:$3|det senaste dygnet|de senaste $3 dygnen}}',
-'activeusers-from' => 'Visa användare från och med:',
-'activeusers-hidebots' => 'Göm botar',
-'activeusers-hidesysops' => 'Dölj administratörer',
-'activeusers-noresult' => 'Inga användare funna.',
-
# Special:ListGroupRights
'listgrouprights' => 'Behörigheter för användargrupper',
'listgrouprights-summary' => 'Följande lista visar vilka användargrupper som är definierade på den här wikin och vilka behörigheter grupperna har.
'listusers-noresult' => 'Mtumiaji hakupatikana.',
'listusers-blocked' => '(imezuiwa)',
-# Special:ActiveUsers
-'activeusers' => 'Orodha ya watumiaji hai',
-'activeusers-intro' => 'Hii ni orodha ya watumiaji walioshughulika jambo fulani ndani ya siku $1 {{PLURAL:$1|iliyopita|zilizopita}}.',
-'activeusers-count' => '{{PLURAL:$1|haririo|maharirio}} $1 katika siku $3 {{PLURAL:$3|iliyopita|zilizopita}}',
-'activeusers-from' => 'Onyesha watumiaji kuanzia:',
-'activeusers-hidebots' => 'Ficha boti',
-'activeusers-hidesysops' => 'Ficha wakabidhi',
-'activeusers-noresult' => 'Watumiaji hawakupatikana.',
-
# Special:ListGroupRights
'listgrouprights' => 'Wezo za kundi za watumiaji',
'listgrouprights-summary' => 'Inafuata orodha ya kundi za watumiaji wa wiki hii, pamoja na maelezo ya wezo zao za kushughulika mambo.
'listusers-noresult' => 'ஒரு பயனரும் இல்லை.',
'listusers-blocked' => '(தடை செய்யப்பட்டுள்ளது)',
-# Special:ActiveUsers
-'activeusers' => 'தொடர்பங்களிப்பாளர்களின் பட்டியல்',
-'activeusers-intro' => 'கடைசி $1 {{PLURAL:$1|நாள்|நாட்கள்}} ஏதேனும் செயலை செய்த பயனர்களின் பட்டியல் இது.',
-'activeusers-count' => '$1 {{PLURAL:$1|திருத்தம்|திருத்தங்கள்}} கடைசி {{PLURAL:$3|நாள்|$3 நாட்கள்}}',
-'activeusers-from' => 'பின்வரும் எழுத்துடன் தொடங்கும் பயனர்களைக் காட்டு:',
-'activeusers-hidebots' => 'தானியங்கிகளை மறை',
-'activeusers-hidesysops' => 'நிர்வாகிகளை மறை',
-'activeusers-noresult' => 'எந்தவொரு பயனர்களும் காணப்படவில்லை.',
-
# Special:ListGroupRights
'listgrouprights' => 'பயனர் குழு உரிமைகள்',
'listgrouprights-key' => '<span class="listgrouprights-granted">உரிமை வழங்கப்பட்டது</span>
# Special:ListUsers
'listusers-submit' => 'Hatudu',
-# Special:ActiveUsers
-'activeusers-hidebots' => 'Subar bot sira',
-'activeusers-hidesysops' => 'Subar administradór sira',
-
# Special:ListGroupRights
'listgrouprights-group' => 'Grupu',
'listgrouprights-rights' => 'Priviléjiu',
'listusers-noresult' => 'ไม่พบผู้ใช้',
'listusers-blocked' => '(ถูกบล็อก)',
-# Special:ActiveUsers
-'activeusers' => 'รายการผู้ใช้ที่มีความเคลื่อนไหว',
-'activeusers-intro' => 'นี่คือรายการผู้ใช้ที่มีกิจกรรมใด ๆ ในช่วง $1 วันที่ผ่านมา',
-'activeusers-count' => '{{PLURAL:$1|ปฏิบัติการล่าสุด|ปฏิบัติการล่าสุด $1 รายการ}} ในช่วง $3 วันที่ผ่านมา',
-'activeusers-from' => 'แสดงผู้ใช้เริ่มจาก:',
-'activeusers-hidebots' => 'ซ่อนบอต',
-'activeusers-hidesysops' => 'ซ่อนผู้ดูแลระบบ',
-'activeusers-noresult' => 'ไม่พบผู้ใช้',
-
# Special:ListGroupRights
'listgrouprights' => 'สิทธิกลุ่มผู้ใช้',
'listgrouprights-summary' => 'ด้านล่างเป็นรายการกลุ่มผู้ใช้ที่นิยามบนวิกินี้ และสิทธิการเข้าถึงที่เกี่ยวข้อง
'listusers-noresult' => 'Не знайдено користувачів.',
'listusers-blocked' => '({{GENDER:$1|заблокований|заблокована|заблокований}})',
-# Special:ActiveUsers
-'activeusers' => 'Список активних користувачів',
-'activeusers-intro' => 'Це список користувачів, які здійснювали які-небудь дії за {{PLURAL:$1|останній $1 день|останні $1 дні|останні $1 днів}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|дія|дії|дій}} за {{PLURAL:$3|останній $3 день|останні $3 дні|останні $3 днів}}',
-'activeusers-from' => 'Показувати користувачів, починаючи з:',
-'activeusers-hidebots' => 'Приховати ботів',
-'activeusers-hidesysops' => 'Приховати адміністраторів',
-'activeusers-noresult' => 'Не знайдено користувачів.',
-
# Special:ListGroupRights
'listgrouprights' => 'Права груп користувачів',
'listgrouprights-summary' => 'Нижче наведений список груп користувачів у цій вікі і права для кожної групи.
'listusers-noresult' => 'Foydalanuvchilar topilmadi.',
'listusers-blocked' => '(chetlashtirilgan)',
-# Special:ActiveUsers
-'activeusers' => 'Faol foydalanuvchilar roʻyxati',
-'activeusers-from' => 'Quyidagidan boshlanuvchi foydalanuvchilarni koʻrsatish:',
-'activeusers-hidebots' => 'Botlarni yashirish',
-'activeusers-hidesysops' => 'Maʼmurlarni yashirish',
-'activeusers-noresult' => 'Foydalanuvchilar topilmadi.',
-
# Special:ListGroupRights
'listgrouprights' => 'Foydalanuvchilar guruhi huquqlari',
'listgrouprights-group' => 'Guruh',
'listusers-noresult' => 'Không thấy thành viên.',
'listusers-blocked' => '(bị cấm)',
-# Special:ActiveUsers
-'activeusers' => 'Danh sách thành viên tích cực',
-'activeusers-intro' => 'Dánh sách này liệt kê các thành viên đã hoạt động cách nào đó trong $1 ngày qua.',
-'activeusers-count' => '$1 tác vụ trong {{PLURAL:$3|ngày|$3 ngày}} qua',
-'activeusers-from' => 'Hiển thị thành viên bắt đầu từ:',
-'activeusers-hidebots' => 'Ẩn robot',
-'activeusers-hidesysops' => 'Ẩn bảo quản viên',
-'activeusers-noresult' => 'Không thấy thành viên.',
-
# Special:ListGroupRights
'listgrouprights' => 'Nhóm thành viên',
'listgrouprights-summary' => 'Dưới đây là danh sách nhóm thành viên được định nghĩa tại wiki này, với mức độ truy cập của từng nhóm.
'listusers-noresult' => 'Waray gumaramit nga nahiagian.',
'listusers-blocked' => '(ginpugngan)',
-# Special:ActiveUsers
-'activeusers' => 'Taramdan hin mga gumaramit nga nanggigios',
-'activeusers-hidebots' => 'Igtago an mga bot',
-'activeusers-hidesysops' => 'Igtago an mga magdudumara',
-'activeusers-noresult' => 'Waray gumaramit nga nahiagian.',
-
# Special:ListGroupRights
'listgrouprights-group' => 'Hugpo',
'listgrouprights-rights' => 'Mga katungod',
'listusers-noresult' => 'קיין באניצער נישט געטראפֿן.',
'listusers-blocked' => '(בלאקירט)',
-# Special:ActiveUsers
-'activeusers' => 'ליסטע פֿון אַקטיווע באַניצער',
-'activeusers-intro' => 'דאָס איז א ליסטע פֿון באַניצער וואָס זענען געווען אַקטיוו אינערהאָלב $1 {{PLURAL:$1|דעם לעצטן טאָג|די לעצטע $1 טעג}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|פעולה|פעולות}} אין {{PLURAL:$3|דעם לעצטן טאָג|די לעצטע $3 טעג}}',
-'activeusers-from' => 'ווײַזן באַניצער אָנהייבנדיג פון:',
-'activeusers-hidebots' => 'באַהאַלטן באטן',
-'activeusers-hidesysops' => 'באַהאַלטן סיסאפן',
-'activeusers-noresult' => 'קיין באניצער נישט געטראפֿן.',
-
# Special:ListGroupRights
'listgrouprights' => 'באַניצער גרופע רעכטן',
'listgrouprights-summary' => "פֿאלגנד איז א רשימה פֿון באַניצער גרופעס דעפֿינירט אויף דער דאָזיקער וויקי, מיט זײַערע אַסאציאירטע צוטריט רעכטן.
'listusers-noresult' => '找不到用户。',
'listusers-blocked' => '(已封禁)',
-# Special:ActiveUsers
-'activeusers' => '活跃用户列表',
-'activeusers-intro' => '这个列表列出了最近$1天进行过操作的用户。',
-'activeusers-count' => '最近$3天内有$1次编辑',
-'activeusers-from' => '显示用户开始于:',
-'activeusers-hidebots' => '隐藏机器人',
-'activeusers-hidesysops' => '隐藏管理员',
-'activeusers-noresult' => '找不到用户。',
-
# Special:ListGroupRights
'listgrouprights' => '用户组权限',
'listgrouprights-summary' => '以下面是一个在这个维基中所定义出来的用户权限列表,以及它们的访问权。
'listusers-noresult' => '找不到用戶。',
'listusers-blocked' => '(已封禁)',
-# Special:ActiveUsers
-'activeusers' => '活躍用戶列表',
-'activeusers-intro' => '這個是在最近$1天之內有一些動作的用戶列表。',
-'activeusers-count' => '最近$3天內有$1次編輯',
-'activeusers-from' => '顯示用戶開始於:',
-'activeusers-hidebots' => '隱藏機器人',
-'activeusers-hidesysops' => '隱藏管理員',
-'activeusers-noresult' => '找不到用戶。',
-
# Special:ListGroupRights
'listgrouprights' => '用戶群組權限',
'listgrouprights-summary' => '以下面是一個在這個wiki中定義出來的用戶權限清單,以及它們的存取權。
foreach ( $result as $row ) {
$title = Title::makeTitle( $row->page_namespace, $row->page_title );
- $url = $title->getFullUrl();
+ $url = $title->getFullURL();
$text = $title->getPrefixedText();
$this->output( "$url $text\n" );
}
# - https://github.com/senchalabs/jsduck/wiki/Custom-tags
require 'jsduck/meta_tag'
+class SourceTag < JsDuck::MetaTag
+ def initialize
+ # This defines the name of the @tag
+ @name = 'source'
+ end
+
+ # Generate HTML output for this tag.
+ # One can make use of the #format method to easily support
+ # Markdown and {@link} tags inside the contents of the tag.
+ #
+ # @param tags All matches of this tag on one class.
+ def to_html(tags)
+ '<h3 class="pa">Source</h3>' + tags.map {|tag| format(tag) }.join("\n")
+ end
+end
+
class ContextTag < JsDuck::MetaTag
def initialize
@name = 'context'
{
"name": "jQuery",
"groups": [
- {
- "name": "Core",
- "classes": ["jQuery", "jQuery.Event", "jQuery.Promise", "jQuery.Deferred", "jQuery.jqXHR"]
- },
{
"name": "Plugins",
"classes": ["jQuery.plugin.*"]
]
},
{
- "name": "Misc",
+ "name": "Upstream",
"groups": [
{
- "name": "Native",
+ "name": "jQuery",
+ "classes": ["jQuery", "jQuery.Event", "jQuery.Callbacks", "jQuery.Promise", "jQuery.Deferred", "jQuery.jqXHR", "QUnit"]
+ },
+ {
+ "name": "JavaScript",
"classes": ["Array", "Boolean", "Date", "Function", "Number", "Object", "RegExp", "String"]
}
]
/**
* @class jQuery
+ * @source <http://api.jquery.com/>
*/
/**
* @method ajax
+ * @source <http://api.jquery.com/jQuery.ajax/>
* @return {jqXHR}
*/
/**
* @class jQuery.Event
+ * @source <http://api.jquery.com/Types/#Event>
+ */
+
+/**
+ * @class jQuery.Callbacks
+ * @source <http://api.jquery.com/jQuery.Callbacks/>
*/
/**
* @class jQuery.Promise
+ * @source <http://api.jquery.com/Types/#Promise>
*/
/**
* @class jQuery.Deferred
* @mixins jQuery.Promise
+ * @source <http://api.jquery.com/jQuery.Deferred/>
*/
/**
* @class jQuery.jqXHR
+ * @source <http://api.jquery.com/Types/#jqXHR>
* @alternateClassName jqXHR
*/
+
+
+/**
+ * @class QUnit
+ * @source <http://api.qunitjs.com/>
+ */
} elseif ( $page !== '' ) {
$title = Title::newFromText( $page );
if ( $title ) {
- $url = $title->getInternalUrl();
+ $url = $title->getInternalURL();
$this->output( "$url\n" );
$urls[] = $url;
if ( $this->getOption( 'purge' ) ) {
$conds = array( 'page_namespace' => $namespace );
}
while ( true ) {
- $res = $dbr->select( 'page',
+ $res = $dbr->select( 'page',
array( 'page_id', 'page_namespace', 'page_title' ),
$conds + array( 'page_id > ' . $dbr->addQuotes( $startId ) ),
__METHOD__,
$urls = array();
foreach ( $res as $row ) {
$title = Title::makeTitle( $row->page_namespace, $row->page_title );
- $url = $title->getInternalUrl();
+ $url = $title->getInternalURL();
$urls[] = $url;
$startId = $row->page_id;
}
'ss_good_articles' => 'Number of articles',
'ss_total_pages' => 'Total pages',
'ss_users' => 'Number of users',
+ 'ss_active_users' => 'Active users',
'ss_images' => 'Number of images',
);
position: absolute;
left: 0;
top: 0;
- z-index: 0;
+ z-index: 3;
}
#p-personal {
width: 100%;
* even if using different parameters.
*
* @param DatabaseBase $db The database connection
- * @param String $prefix The prefix to use for the new table set (aka schema).
+ * @param String $prefix The prefix to use for the new table set (aka schema).
*
* @throws MWException if the database table prefix is already $prefix
*/
$wgUser->mFrom = 'defaults';
$wgUser->mOptionsLoaded = true;
// The user's data is ignored because the variant is set in the URL.
- $wgUser->setOption( 'variant', 'tg-latn' );
+ $wgUser->setOption( 'variant', 'tg-latn' );
$this->assertEquals( 'tg', $this->lc->getPreferredVariant() );
}
$router->add( array( 'qwerty' => "/qwerty/$1" ), array( 'qwerty' => '$key' ) );
$router->add( "/$2/$1", array( 'restricted-to-y' => '$2' ), array( '$2' => 'y' ) );
- foreach ( array(
- '/Foo' => array( 'title' => 'Foo' ),
- '/Bar' => array( 'ping' => 'pong' ),
- '/Baz' => array( 'marco' => 'polo' ),
- '/asdf-foo' => array( 'title' => 'qwerty-foo' ),
- '/qwerty-bar' => array( 'title' => 'asdf-bar' ),
- '/a/Foo' => array( 'title' => 'Foo' ),
- '/asdf/Foo' => array( 'title' => 'Foo' ),
- '/qwerty/Foo' => array( 'title' => 'Foo', 'qwerty' => 'qwerty' ),
- '/baz/Foo' => array( 'title' => 'Foo', 'unrestricted' => 'baz' ),
- '/y/Foo' => array( 'title' => 'Foo', 'restricted-to-y' => 'y' ),
- ) as $path => $result ) {
+ foreach (
+ array(
+ '/Foo' => array( 'title' => 'Foo' ),
+ '/Bar' => array( 'ping' => 'pong' ),
+ '/Baz' => array( 'marco' => 'polo' ),
+ '/asdf-foo' => array( 'title' => 'qwerty-foo' ),
+ '/qwerty-bar' => array( 'title' => 'asdf-bar' ),
+ '/a/Foo' => array( 'title' => 'Foo' ),
+ '/asdf/Foo' => array( 'title' => 'Foo' ),
+ '/qwerty/Foo' => array( 'title' => 'Foo', 'qwerty' => 'qwerty' ),
+ '/baz/Foo' => array( 'title' => 'Foo', 'unrestricted' => 'baz' ),
+ '/y/Foo' => array( 'title' => 'Foo', 'restricted-to-y' => 'y' ),
+ ) as $path => $result
+ ) {
$this->assertEquals( $router->parse( $path ), $result );
}
}
*/
function testIsUtf8WithPhpFallbackImplementation( $expected, $string ) {
$this->assertEquals( $expected,
- StringUtils::isUtf8( $string, /** disable mbstring: */ true ),
+ StringUtils::isUtf8( $string, /** disable mbstring: */true ),
'Testing string "' . $this->escaped( $string ) . '" with pure PHP implementation'
);
}
array( $FAIL, "\xff" ),
array( $FAIL, "\xfe\xfe\xff\xff" ),
- /**
+ /*
# The PHP implementation does not handle characters
# being represented in a form which is too long :(
array( $FAIL, "\xf0\x8F\xbf\xbf" ),
array( $FAIL, "\xf8\x87\xbf\xbf" ),
array( $FAIL, "\xfc\x83\xbf\xbf\xbf\xbf" ),
- **/
+ */
# non characters
array( $PASS, "\xef\xbf\xbe" ),
'action' => 'login',
'lgname' => 'Apitestnew',
'lgpassword' => $password,
- )
- );
+ ) );
$result = $ret[0];
$this->assertNotInternalType( 'bool', $result );
$this->assertEquals( 'NeedToken', $a );
$token = $result['login']['token'];
- $ret = $this->doApiRequest( array(
- 'action' => 'login',
- 'lgtoken' => $token,
- 'lgname' => 'Apitestnew',
- 'lgpassword' => $password,
- ), $ret[2]
+ $ret = $this->doApiRequest(
+ array(
+ 'action' => 'login',
+ 'lgtoken' => $token,
+ 'lgname' => 'Apitestnew',
+ 'lgpassword' => $password,
+ ),
+ $ret[2]
);
$result = $ret[0];
$this->assertEquals( 'Success', $a );
// log out to destroy the session
- $ret = $this->doApiRequest( array(
- 'action' => 'logout',
- ), $ret[2]
+ $ret = $this->doApiRequest(
+ array(
+ 'action' => 'logout',
+ ),
+ $ret[2]
);
$this->assertEquals( array(), $ret[0] );
}
"action" => "login",
"lgname" => $user->username,
"lgpassword" => "bad",
- )
- );
+ ) );
$result = $ret[0];
$token = $result["login"]["token"];
$ret = $this->doApiRequest(
- array(
+ array(
"action" => "login",
"lgtoken" => $token,
"lgname" => $user->username,
'title' => 'AQBT-All',
'links' => array(
array( 'ns' => 0, 'title' => 'AQBT-Links' ),
- ) ) ) ) );
+ )
+ )
+ ) )
+ );
private static $templates = array(
array( 'prop' => 'templates', 'titles' => 'AQBT-All' ),
'title' => 'AQBT-All',
'templates' => array(
array( 'ns' => 10, 'title' => 'Template:AQBT-T' ),
- ) ) ) ) );
+ )
+ )
+ ) )
+ );
private static $categories = array(
array( 'prop' => 'categories', 'titles' => 'AQBT-All' ),
'title' => 'AQBT-All',
'categories' => array(
array( 'ns' => 14, 'title' => 'Category:AQBT-Cat' ),
- ) ) ) ) );
+ )
+ )
+ ) )
+ );
private static $allpages = array(
array( 'list' => 'allpages', 'apprefix' => 'AQBT-' ),
array( 'pageid' => 2, 'ns' => 0, 'title' => 'AQBT-Categories' ),
array( 'pageid' => 3, 'ns' => 0, 'title' => 'AQBT-Links' ),
array( 'pageid' => 4, 'ns' => 0, 'title' => 'AQBT-Templates' ),
- ) ) );
+ ) )
+ );
private static $alllinks = array(
array( 'list' => 'alllinks', 'alprefix' => 'AQBT-' ),
array( 'ns' => 0, 'title' => 'AQBT-Categories' ),
array( 'ns' => 0, 'title' => 'AQBT-Links' ),
array( 'ns' => 0, 'title' => 'AQBT-Templates' ),
- ) ) );
+ ) )
+ );
private static $alltransclusions = array(
array( 'list' => 'alltransclusions', 'atprefix' => 'AQBT-' ),
array( 'alltransclusions' => array(
array( 'ns' => 10, 'title' => 'Template:AQBT-T' ),
array( 'ns' => 10, 'title' => 'Template:AQBT-T' ),
- ) ) );
+ ) )
+ );
private static $allcategories = array(
array( 'list' => 'allcategories', 'acprefix' => 'AQBT-' ),
array( 'allcategories' => array(
array( '*' => 'AQBT-Cat' ),
- ) ) );
+ ) )
+ );
private static $backlinks = array(
array( 'list' => 'backlinks', 'bltitle' => 'AQBT-Links' ),
array( 'backlinks' => array(
array( 'pageid' => 1, 'ns' => 0, 'title' => 'AQBT-All' ),
- ) ) );
+ ) )
+ );
private static $embeddedin = array(
array( 'list' => 'embeddedin', 'eititle' => 'Template:AQBT-T' ),
array( 'embeddedin' => array(
array( 'pageid' => 1, 'ns' => 0, 'title' => 'AQBT-All' ),
array( 'pageid' => 4, 'ns' => 0, 'title' => 'AQBT-Templates' ),
- ) ) );
+ ) )
+ );
private static $categorymembers = array(
array( 'list' => 'categorymembers', 'cmtitle' => 'Category:AQBT-Cat' ),
array( 'categorymembers' => array(
array( 'pageid' => 1, 'ns' => 0, 'title' => 'AQBT-All' ),
array( 'pageid' => 2, 'ns' => 0, 'title' => 'AQBT-Categories' ),
- ) ) );
+ ) )
+ );
private static $generatorAllpages = array(
array( 'generator' => 'allpages', 'gapprefix' => 'AQBT-' ),
'pageid' => 4,
'ns' => 0,
'title' => 'AQBT-Templates' ),
- ) ) );
+ ) )
+ );
private static $generatorLinks = array(
array( 'generator' => 'links', 'titles' => 'AQBT-Links' ),
'pageid' => 4,
'ns' => 0,
'title' => 'AQBT-Templates' ),
- ) ) );
+ ) )
+ );
private static $generatorLinksPropLinks = array(
array( 'prop' => 'links' ),
array( 'pages' => array(
'1' => array( 'links' => array(
array( 'ns' => 0, 'title' => 'AQBT-Links' ),
- ) ) ) ) );
+ ) )
+ ) )
+ );
private static $generatorLinksPropTemplates = array(
array( 'prop' => 'templates' ),
array( 'ns' => 10, 'title' => 'Template:AQBT-T' ) ) ),
'4' => array( 'templates' => array(
array( 'ns' => 10, 'title' => 'Template:AQBT-T' ) ) ),
- ) ) );
+ ) )
+ );
/**
* Test basic props
*/
public function testA() {
$this->mVerbose = false;
- $mk = function( $g, $p, $gDir ) {
+ $mk = function ( $g, $p, $gDir ) {
return array(
'generator' => 'allpages',
'gapprefix' => 'AQCT73462-',
);
};
// generator + 1 prop + 1 list
- $data = $this->query( $mk(99,99,true), 1, 'g1p', false );
- $this->checkC( $data, $mk(1,1,true), 6, 'g1p-11t' );
- $this->checkC( $data, $mk(2,2,true), 3, 'g1p-22t' );
- $this->checkC( $data, $mk(1,1,false), 6, 'g1p-11f' );
- $this->checkC( $data, $mk(2,2,false), 3, 'g1p-22f' );
+ $data = $this->query( $mk( 99, 99, true ), 1, 'g1p', false );
+ $this->checkC( $data, $mk( 1, 1, true ), 6, 'g1p-11t' );
+ $this->checkC( $data, $mk( 2, 2, true ), 3, 'g1p-22t' );
+ $this->checkC( $data, $mk( 1, 1, false ), 6, 'g1p-11f' );
+ $this->checkC( $data, $mk( 2, 2, false ), 3, 'g1p-22f' );
}
}
*/
public function test1List() {
$this->mVerbose = false;
- $mk = function( $l ) {
+ $mk = function ( $l ) {
return array(
'list' => 'allpages',
'apprefix' => 'AQCT-',
'aplimit' => "$l",
);
};
- $data = $this->query( $mk(99), 1, '1L', false );
+ $data = $this->query( $mk( 99 ), 1, '1L', false );
// 1 list
- $this->checkC( $data, $mk(1), 5, '1L-1' );
- $this->checkC( $data, $mk(2), 3, '1L-2' );
- $this->checkC( $data, $mk(3), 2, '1L-3' );
- $this->checkC( $data, $mk(4), 2, '1L-4' );
- $this->checkC( $data, $mk(5), 1, '1L-5' );
+ $this->checkC( $data, $mk( 1 ), 5, '1L-1' );
+ $this->checkC( $data, $mk( 2 ), 3, '1L-2' );
+ $this->checkC( $data, $mk( 3 ), 2, '1L-3' );
+ $this->checkC( $data, $mk( 4 ), 2, '1L-4' );
+ $this->checkC( $data, $mk( 5 ), 1, '1L-5' );
}
/**
*/
public function test2Lists() {
$this->mVerbose = false;
- $mk = function( $l1, $l2 ) {
+ $mk = function ( $l1, $l2 ) {
return array(
'list' => 'allpages|alltransclusions',
'apprefix' => 'AQCT-',
);
};
// 2 lists
- $data = $this->query( $mk(99,99), 1, '2L', false );
- $this->checkC( $data, $mk(1,1), 5, '2L-11' );
- $this->checkC( $data, $mk(2,2), 3, '2L-22' );
- $this->checkC( $data, $mk(3,3), 2, '2L-33' );
- $this->checkC( $data, $mk(4,4), 2, '2L-44' );
- $this->checkC( $data, $mk(5,5), 1, '2L-55' );
+ $data = $this->query( $mk( 99, 99 ), 1, '2L', false );
+ $this->checkC( $data, $mk( 1, 1 ), 5, '2L-11' );
+ $this->checkC( $data, $mk( 2, 2 ), 3, '2L-22' );
+ $this->checkC( $data, $mk( 3, 3 ), 2, '2L-33' );
+ $this->checkC( $data, $mk( 4, 4 ), 2, '2L-44' );
+ $this->checkC( $data, $mk( 5, 5 ), 1, '2L-55' );
}
/**
*/
public function testGen1Prop() {
$this->mVerbose = false;
- $mk = function( $g, $p ) {
+ $mk = function ( $g, $p ) {
return array(
'generator' => 'allpages',
'gapprefix' => 'AQCT-',
);
};
// generator + 1 prop
- $data = $this->query( $mk(99,99), 1, 'G1P', false );
- $this->checkC( $data, $mk(1,1), 11, 'G1P-11' );
- $this->checkC( $data, $mk(2,2), 6, 'G1P-22' );
- $this->checkC( $data, $mk(3,3), 4, 'G1P-33' );
- $this->checkC( $data, $mk(4,4), 3, 'G1P-44' );
- $this->checkC( $data, $mk(5,5), 2, 'G1P-55' );
+ $data = $this->query( $mk( 99, 99 ), 1, 'G1P', false );
+ $this->checkC( $data, $mk( 1, 1 ), 11, 'G1P-11' );
+ $this->checkC( $data, $mk( 2, 2 ), 6, 'G1P-22' );
+ $this->checkC( $data, $mk( 3, 3 ), 4, 'G1P-33' );
+ $this->checkC( $data, $mk( 4, 4 ), 3, 'G1P-44' );
+ $this->checkC( $data, $mk( 5, 5 ), 2, 'G1P-55' );
}
/**
*/
public function testGen2Prop() {
$this->mVerbose = false;
- $mk = function( $g, $p1, $p2 ) {
+ $mk = function ( $g, $p1, $p2 ) {
return array(
'generator' => 'allpages',
'gapprefix' => 'AQCT-',
);
};
// generator + 2 props
- $data = $this->query( $mk(99,99,99), 1, 'G2P', false );
- $this->checkC( $data, $mk(1,1,1), 16, 'G2P-111' );
- $this->checkC( $data, $mk(2,2,2), 9, 'G2P-222' );
- $this->checkC( $data, $mk(3,3,3), 6, 'G2P-333' );
- $this->checkC( $data, $mk(4,4,4), 4, 'G2P-444' );
- $this->checkC( $data, $mk(5,5,5), 2, 'G2P-555' );
- $this->checkC( $data, $mk(5,1,1), 10, 'G2P-511' );
- $this->checkC( $data, $mk(4,2,2), 7, 'G2P-422' );
- $this->checkC( $data, $mk(2,3,3), 7, 'G2P-233' );
- $this->checkC( $data, $mk(2,4,4), 5, 'G2P-244' );
- $this->checkC( $data, $mk(1,5,5), 5, 'G2P-155' );
+ $data = $this->query( $mk( 99, 99, 99 ), 1, 'G2P', false );
+ $this->checkC( $data, $mk( 1, 1, 1 ), 16, 'G2P-111' );
+ $this->checkC( $data, $mk( 2, 2, 2 ), 9, 'G2P-222' );
+ $this->checkC( $data, $mk( 3, 3, 3 ), 6, 'G2P-333' );
+ $this->checkC( $data, $mk( 4, 4, 4 ), 4, 'G2P-444' );
+ $this->checkC( $data, $mk( 5, 5, 5 ), 2, 'G2P-555' );
+ $this->checkC( $data, $mk( 5, 1, 1 ), 10, 'G2P-511' );
+ $this->checkC( $data, $mk( 4, 2, 2 ), 7, 'G2P-422' );
+ $this->checkC( $data, $mk( 2, 3, 3 ), 7, 'G2P-233' );
+ $this->checkC( $data, $mk( 2, 4, 4 ), 5, 'G2P-244' );
+ $this->checkC( $data, $mk( 1, 5, 5 ), 5, 'G2P-155' );
}
/**
*/
public function testGen1Prop1List() {
$this->mVerbose = false;
- $mk = function( $g, $p, $l ) {
+ $mk = function ( $g, $p, $l ) {
return array(
'generator' => 'allpages',
'gapprefix' => 'AQCT-',
);
};
// generator + 1 prop + 1 list
- $data = $this->query( $mk(99,99,99), 1, 'G1P1L', false );
- $this->checkC( $data, $mk(1,1,1), 11, 'G1P1L-111' );
- $this->checkC( $data, $mk(2,2,2), 6, 'G1P1L-222' );
- $this->checkC( $data, $mk(3,3,3), 4, 'G1P1L-333' );
- $this->checkC( $data, $mk(4,4,4), 3, 'G1P1L-444' );
- $this->checkC( $data, $mk(5,5,5), 2, 'G1P1L-555' );
- $this->checkC( $data, $mk(5,5,1), 4, 'G1P1L-551' );
- $this->checkC( $data, $mk(5,5,2), 2, 'G1P1L-552' );
+ $data = $this->query( $mk( 99, 99, 99 ), 1, 'G1P1L', false );
+ $this->checkC( $data, $mk( 1, 1, 1 ), 11, 'G1P1L-111' );
+ $this->checkC( $data, $mk( 2, 2, 2 ), 6, 'G1P1L-222' );
+ $this->checkC( $data, $mk( 3, 3, 3 ), 4, 'G1P1L-333' );
+ $this->checkC( $data, $mk( 4, 4, 4 ), 3, 'G1P1L-444' );
+ $this->checkC( $data, $mk( 5, 5, 5 ), 2, 'G1P1L-555' );
+ $this->checkC( $data, $mk( 5, 5, 1 ), 4, 'G1P1L-551' );
+ $this->checkC( $data, $mk( 5, 5, 2 ), 2, 'G1P1L-552' );
}
/**
* Test smart continue - generator=allpages, prop=links|templates,
- * list=alllinks|alltransclusions, meta=siteinfo
+ * list=alllinks|alltransclusions, meta=siteinfo
* @medium
*/
public function testGen2Prop2List1Meta() {
$this->mVerbose = false;
- $mk = function( $g, $p1, $p2, $l1, $l2 ) {
+ $mk = function ( $g, $p1, $p2, $l1, $l2 ) {
return array(
'generator' => 'allpages',
'gapprefix' => 'AQCT-',
);
};
// generator + 1 prop + 1 list
- $data = $this->query( $mk(99,99,99,99,99), 1, 'G2P2L1M', false );
- $this->checkC( $data, $mk(1,1,1,1,1), 16, 'G2P2L1M-11111' );
- $this->checkC( $data, $mk(2,2,2,2,2), 9, 'G2P2L1M-22222' );
- $this->checkC( $data, $mk(3,3,3,3,3), 6, 'G2P2L1M-33333' );
- $this->checkC( $data, $mk(4,4,4,4,4), 4, 'G2P2L1M-44444' );
- $this->checkC( $data, $mk(5,5,5,5,5), 2, 'G2P2L1M-55555' );
- $this->checkC( $data, $mk(5,5,5,1,1), 4, 'G2P2L1M-55511' );
- $this->checkC( $data, $mk(5,5,5,2,2), 2, 'G2P2L1M-55522' );
- $this->checkC( $data, $mk(5,1,1,5,5), 10, 'G2P2L1M-51155' );
- $this->checkC( $data, $mk(5,2,2,5,5), 5, 'G2P2L1M-52255' );
+ $data = $this->query( $mk( 99, 99, 99, 99, 99 ), 1, 'G2P2L1M', false );
+ $this->checkC( $data, $mk( 1, 1, 1, 1, 1 ), 16, 'G2P2L1M-11111' );
+ $this->checkC( $data, $mk( 2, 2, 2, 2, 2 ), 9, 'G2P2L1M-22222' );
+ $this->checkC( $data, $mk( 3, 3, 3, 3, 3 ), 6, 'G2P2L1M-33333' );
+ $this->checkC( $data, $mk( 4, 4, 4, 4, 4 ), 4, 'G2P2L1M-44444' );
+ $this->checkC( $data, $mk( 5, 5, 5, 5, 5 ), 2, 'G2P2L1M-55555' );
+ $this->checkC( $data, $mk( 5, 5, 5, 1, 1 ), 4, 'G2P2L1M-55511' );
+ $this->checkC( $data, $mk( 5, 5, 5, 2, 2 ), 2, 'G2P2L1M-55522' );
+ $this->checkC( $data, $mk( 5, 1, 1, 5, 5 ), 10, 'G2P2L1M-51155' );
+ $this->checkC( $data, $mk( 5, 2, 2, 5, 5 ), 5, 'G2P2L1M-52255' );
}
/**
*/
public function testSameGenAndProp() {
$this->mVerbose = false;
- $mk = function( $g, $gDir, $p, $pDir ) {
+ $mk = function ( $g, $gDir, $p, $pDir ) {
return array(
'titles' => 'AQCT-1',
'generator' => 'templates',
);
};
// generator + 1 prop
- $data = $this->query( $mk(99,true,99,true), 1, 'G=P', false );
+ $data = $this->query( $mk( 99, true, 99, true ), 1, 'G=P', false );
- $this->checkC( $data, $mk(1,true,1,true), 4, 'G=P-1t1t' );
- $this->checkC( $data, $mk(2,true,2,true), 2, 'G=P-2t2t' );
- $this->checkC( $data, $mk(3,true,3,true), 2, 'G=P-3t3t' );
- $this->checkC( $data, $mk(1,true,3,true), 4, 'G=P-1t3t' );
- $this->checkC( $data, $mk(3,true,1,true), 2, 'G=P-3t1t' );
+ $this->checkC( $data, $mk( 1, true, 1, true ), 4, 'G=P-1t1t' );
+ $this->checkC( $data, $mk( 2, true, 2, true ), 2, 'G=P-2t2t' );
+ $this->checkC( $data, $mk( 3, true, 3, true ), 2, 'G=P-3t3t' );
+ $this->checkC( $data, $mk( 1, true, 3, true ), 4, 'G=P-1t3t' );
+ $this->checkC( $data, $mk( 3, true, 1, true ), 2, 'G=P-3t1t' );
- $this->checkC( $data, $mk(1,true,1,false), 4, 'G=P-1t1f' );
- $this->checkC( $data, $mk(2,true,2,false), 2, 'G=P-2t2f' );
- $this->checkC( $data, $mk(3,true,3,false), 2, 'G=P-3t3f' );
- $this->checkC( $data, $mk(1,true,3,false), 4, 'G=P-1t3f' );
- $this->checkC( $data, $mk(3,true,1,false), 2, 'G=P-3t1f' );
+ $this->checkC( $data, $mk( 1, true, 1, false ), 4, 'G=P-1t1f' );
+ $this->checkC( $data, $mk( 2, true, 2, false ), 2, 'G=P-2t2f' );
+ $this->checkC( $data, $mk( 3, true, 3, false ), 2, 'G=P-3t3f' );
+ $this->checkC( $data, $mk( 1, true, 3, false ), 4, 'G=P-1t3f' );
+ $this->checkC( $data, $mk( 3, true, 1, false ), 2, 'G=P-3t1f' );
- $this->checkC( $data, $mk(1,false,1,true), 4, 'G=P-1f1t' );
- $this->checkC( $data, $mk(2,false,2,true), 2, 'G=P-2f2t' );
- $this->checkC( $data, $mk(3,false,3,true), 2, 'G=P-3f3t' );
- $this->checkC( $data, $mk(1,false,3,true), 4, 'G=P-1f3t' );
- $this->checkC( $data, $mk(3,false,1,true), 2, 'G=P-3f1t' );
+ $this->checkC( $data, $mk( 1, false, 1, true ), 4, 'G=P-1f1t' );
+ $this->checkC( $data, $mk( 2, false, 2, true ), 2, 'G=P-2f2t' );
+ $this->checkC( $data, $mk( 3, false, 3, true ), 2, 'G=P-3f3t' );
+ $this->checkC( $data, $mk( 1, false, 3, true ), 4, 'G=P-1f3t' );
+ $this->checkC( $data, $mk( 3, false, 1, true ), 2, 'G=P-3f1t' );
- $this->checkC( $data, $mk(1,false,1,false), 4, 'G=P-1f1f' );
- $this->checkC( $data, $mk(2,false,2,false), 2, 'G=P-2f2f' );
- $this->checkC( $data, $mk(3,false,3,false), 2, 'G=P-3f3f' );
- $this->checkC( $data, $mk(1,false,3,false), 4, 'G=P-1f3f' );
- $this->checkC( $data, $mk(3,false,1,false), 2, 'G=P-3f1f' );
+ $this->checkC( $data, $mk( 1, false, 1, false ), 4, 'G=P-1f1f' );
+ $this->checkC( $data, $mk( 2, false, 2, false ), 2, 'G=P-2f2f' );
+ $this->checkC( $data, $mk( 3, false, 3, false ), 2, 'G=P-3f3f' );
+ $this->checkC( $data, $mk( 1, false, 3, false ), 4, 'G=P-1f3f' );
+ $this->checkC( $data, $mk( 3, false, 1, false ), 2, 'G=P-3f1f' );
}
/**
*/
public function testSameGenList() {
$this->mVerbose = false;
- $mk = function( $g, $gDir, $l, $pDir ) {
+ $mk = function ( $g, $gDir, $l, $pDir ) {
return array(
'generator' => 'allpages',
'gapprefix' => 'AQCT-',
);
};
// generator + 1 list
- $data = $this->query( $mk(99,true,99,true), 1, 'G=L', false );
+ $data = $this->query( $mk( 99, true, 99, true ), 1, 'G=L', false );
- $this->checkC( $data, $mk(1,true,1,true), 5, 'G=L-1t1t' );
- $this->checkC( $data, $mk(2,true,2,true), 3, 'G=L-2t2t' );
- $this->checkC( $data, $mk(3,true,3,true), 2, 'G=L-3t3t' );
- $this->checkC( $data, $mk(1,true,3,true), 5, 'G=L-1t3t' );
- $this->checkC( $data, $mk(3,true,1,true), 5, 'G=L-3t1t' );
- $this->checkC( $data, $mk(1,true,1,false), 5, 'G=L-1t1f' );
- $this->checkC( $data, $mk(2,true,2,false), 3, 'G=L-2t2f' );
- $this->checkC( $data, $mk(3,true,3,false), 2, 'G=L-3t3f' );
- $this->checkC( $data, $mk(1,true,3,false), 5, 'G=L-1t3f' );
- $this->checkC( $data, $mk(3,true,1,false), 5, 'G=L-3t1f' );
- $this->checkC( $data, $mk(1,false,1,true), 5, 'G=L-1f1t' );
- $this->checkC( $data, $mk(2,false,2,true), 3, 'G=L-2f2t' );
- $this->checkC( $data, $mk(3,false,3,true), 2, 'G=L-3f3t' );
- $this->checkC( $data, $mk(1,false,3,true), 5, 'G=L-1f3t' );
- $this->checkC( $data, $mk(3,false,1,true), 5, 'G=L-3f1t' );
- $this->checkC( $data, $mk(1,false,1,false), 5, 'G=L-1f1f' );
- $this->checkC( $data, $mk(2,false,2,false), 3, 'G=L-2f2f' );
- $this->checkC( $data, $mk(3,false,3,false), 2, 'G=L-3f3f' );
- $this->checkC( $data, $mk(1,false,3,false), 5, 'G=L-1f3f' );
- $this->checkC( $data, $mk(3,false,1,false), 5, 'G=L-3f1f' );
+ $this->checkC( $data, $mk( 1, true, 1, true ), 5, 'G=L-1t1t' );
+ $this->checkC( $data, $mk( 2, true, 2, true ), 3, 'G=L-2t2t' );
+ $this->checkC( $data, $mk( 3, true, 3, true ), 2, 'G=L-3t3t' );
+ $this->checkC( $data, $mk( 1, true, 3, true ), 5, 'G=L-1t3t' );
+ $this->checkC( $data, $mk( 3, true, 1, true ), 5, 'G=L-3t1t' );
+ $this->checkC( $data, $mk( 1, true, 1, false ), 5, 'G=L-1t1f' );
+ $this->checkC( $data, $mk( 2, true, 2, false ), 3, 'G=L-2t2f' );
+ $this->checkC( $data, $mk( 3, true, 3, false ), 2, 'G=L-3t3f' );
+ $this->checkC( $data, $mk( 1, true, 3, false ), 5, 'G=L-1t3f' );
+ $this->checkC( $data, $mk( 3, true, 1, false ), 5, 'G=L-3t1f' );
+ $this->checkC( $data, $mk( 1, false, 1, true ), 5, 'G=L-1f1t' );
+ $this->checkC( $data, $mk( 2, false, 2, true ), 3, 'G=L-2f2t' );
+ $this->checkC( $data, $mk( 3, false, 3, true ), 2, 'G=L-3f3t' );
+ $this->checkC( $data, $mk( 1, false, 3, true ), 5, 'G=L-1f3t' );
+ $this->checkC( $data, $mk( 3, false, 1, true ), 5, 'G=L-3f1t' );
+ $this->checkC( $data, $mk( 1, false, 1, false ), 5, 'G=L-1f1f' );
+ $this->checkC( $data, $mk( 2, false, 2, false ), 3, 'G=L-2f2f' );
+ $this->checkC( $data, $mk( 3, false, 3, false ), 2, 'G=L-3f3f' );
+ $this->checkC( $data, $mk( 1, false, 3, false ), 5, 'G=L-1f3f' );
+ $this->checkC( $data, $mk( 3, false, 1, false ), 5, 'G=L-3f1f' );
}
}
/**
* Run query() and compare against expected values
*/
- protected function checkC( $expected, $params, $expectedCount, $id, $continue = true ) {
+ protected function checkC( $expected, $params, $expectedCount, $id, $continue = true ) {
$result = $this->query( $params, $expectedCount, $id, $continue );
$this->assertResult( $expected, $result, $id );
}
*/
protected function query( $params, $expectedCount, $id, $useContinue = true ) {
if ( isset( $params['action'] ) ) {
- $this->assertEquals( 'query', $params['action'], 'Invalid query action');
+ $this->assertEquals( 'query', $params['action'], 'Invalid query action' );
} else {
$params['action'] = 'query';
}
$continue = array();
do {
$request = array_merge( $params, $continue );
- uksort( $request, function( $a, $b ) {
+ uksort( $request, function ( $a, $b ) {
// put 'continue' params at the end - lazy method
$a = strpos( $a, 'continue' ) !== false ? 'zzz ' . $a : $a;
$b = strpos( $b, 'continue' ) !== false ? 'zzz ' . $b : $b;
//$reqStr = str_replace( '&', ' & ', $reqStr );
$this->assertLessThan( $expectedCount, $count, "$id more data: $reqStr" );
if ( $this->mVerbose ) {
- print ("$id (#$count): $reqStr\n");
+ print ( "$id (#$count): $reqStr\n" );
}
try {
$data = $this->doApiRequest( $request );
} elseif ( !$useContinue ) {
$this->assertFalse( 'Non-smart query must be requested all at once' );
}
- } while( true );
+ } while ( true );
}
private function printResult( $data ) {
$q = $data['query'];
$print = array();
- if (isset($q['pages'])) {
- foreach ($q['pages'] as $p) {
+ if ( isset( $q['pages'] ) ) {
+ foreach ( $q['pages'] as $p ) {
$m = $p['title'];
- if (isset($p['links'])) {
- $m .= '/[' . implode(',', array_map(
- function ($v) {
+ if ( isset( $p['links'] ) ) {
+ $m .= '/[' . implode( ',', array_map(
+ function ( $v ) {
return $v['title'];
},
- $p['links'])) . ']';
+ $p['links'] ) ) . ']';
}
- if (isset($p['categories'])) {
- $m .= '/(' . implode(',', array_map(
- function ($v) {
- return str_replace('Category:', '', $v['title']);
+ if ( isset( $p['categories'] ) ) {
+ $m .= '/(' . implode( ',', array_map(
+ function ( $v ) {
+ return str_replace( 'Category:', '', $v['title'] );
},
- $p['categories'])) . ')';
+ $p['categories'] ) ) . ')';
}
$print[] = $m;
}
}
- if (isset($q['allcategories'])) {
- $print[] = '*Cats/(' . implode(',', array_map(
- function ($v) { return $v['*']; },
- $q['allcategories'])) . ')';
+ if ( isset( $q['allcategories'] ) ) {
+ $print[] = '*Cats/(' . implode( ',', array_map(
+ function ( $v ) {
+ return $v['*'];
+ },
+ $q['allcategories'] ) ) . ')';
}
self::GetItems( $q, 'allpages', 'Pages', $print );
self::GetItems( $q, 'alllinks', 'Links', $print );
self::GetItems( $q, 'alltransclusions', 'Trnscl', $print );
- print(' ' . implode(' ', $print) . "\n");
+ print( ' ' . implode( ' ', $print ) . "\n" );
}
private static function GetItems( $q, $moduleName, $name, &$print ) {
- if (isset($q[$moduleName])) {
- $print[] = "*$name/[" . implode(',',
- array_map( function ($v) { return $v['title']; },
- $q[$moduleName])) . ']';
+ if ( isset( $q[$moduleName] ) ) {
+ $print[] = "*$name/[" . implode( ',',
+ array_map( function ( $v ) {
+ return $v['title'];
+ },
+ $q[$moduleName] ) ) . ']';
}
}
$this->assertEquals( $results, $newResult, 'Repeated result must be the same as before' );
} else {
$sort = null;
- foreach( $newResult as $key => $value ) {
+ foreach ( $newResult as $key => $value ) {
if ( !$numericIds && $sort === null ) {
if ( !is_array( $value ) ) {
$sort = false;
} elseif ( array_key_exists( 'title', $value ) ) {
- $sort = function( $a, $b ) {
+ $sort = function ( $a, $b ) {
return strcmp( $a['title'], $b['title'] );
};
} else {
protected function merge( /*...*/ ) {
$request = array();
$expected = array();
- foreach ( func_get_args() as $v ) {
+ foreach ( func_get_args() as $v ) {
list( $req, $exp ) = $this->validateRequestExpectedPair( $v );
$request = array_merge_recursive( $request, $req );
$this->mergeExpected( $expected, $exp );
*/
private function validateRequestExpectedPair( $v ) {
$this->assertType( 'array', $v, self::PARAM_ASSERT );
- $this->assertEquals( 2, count($v), self::PARAM_ASSERT );
+ $this->assertEquals( 2, count( $v ), self::PARAM_ASSERT );
$this->assertArrayHasKey( 0, $v, self::PARAM_ASSERT );
$this->assertArrayHasKey( 1, $v, self::PARAM_ASSERT );
$this->assertType( 'array', $v[0], self::PARAM_ASSERT );
private function mergeExpected( &$all, $item ) {
foreach ( $item as $k => $v ) {
if ( array_key_exists( $k, $all ) ) {
- if ( is_array ( $all[$k] ) ) {
+ if ( is_array( $all[$k] ) ) {
$this->mergeExpected( $all[$k], $v );
} else {
$this->assertEquals( $all[$k], $v );
global $wgContLang;
$title = Title::newFromText(
- ($lang == $wgContLang->getCode()) ? $title : "$title/$lang",
+ ( $lang == $wgContLang->getCode() ) ? $title : "$title/$lang",
NS_MEDIAWIKI
);
$wikiPage = new WikiPage( $title );
} catch ( MWException $ex ) {
if ( !$shouldFail ) {
$this->fail( "ContentHandler::makeContent failed unexpectedly: " . $ex->getMessage() );
- }
- else {
+ } else {
// dummy, so we don't get the "test did not perform any assertions" message.
$this->assertTrue( true );
}
}
} else {
$this->singleBackend = new FSFileBackend( array(
- 'name' => 'localtesting',
+ 'name' => 'localtesting',
'lockManager' => 'fsLockManager',
#'parallelize' => 'implicit',
'containerPaths' => array(
) );
}
$this->multiBackend = new FileBackendMultiWrite( array(
- 'name' => 'localtesting',
+ 'name' => 'localtesting',
'lockManager' => 'fsLockManager',
'parallelize' => 'implicit',
- 'backends' => array(
+ 'backends' => array(
array(
- 'name' => 'localmultitesting1',
- 'class' => 'FSFileBackend',
- 'lockManager' => 'nullLockManager',
+ 'name' => 'localmultitesting1',
+ 'class' => 'FSFileBackend',
+ 'lockManager' => 'nullLockManager',
'containerPaths' => array(
'unittest-cont1' => "{$tmpPrefix}-localtestingmulti1-cont1",
'unittest-cont2' => "{$tmpPrefix}-localtestingmulti1-cont2" ),
'isMultiMaster' => false
),
array(
- 'name' => 'localmultitesting2',
- 'class' => 'FSFileBackend',
- 'lockManager' => 'nullLockManager',
+ 'name' => 'localmultitesting2',
+ 'class' => 'FSFileBackend',
+ 'lockManager' => 'nullLockManager',
'containerPaths' => array(
'unittest-cont1' => "{$tmpPrefix}-localtestingmulti2-cont1",
'unittest-cont2' => "{$tmpPrefix}-localtestingmulti2-cont2" ),
$status = $this->prepare( array( 'dir' => dirname( $path ) ) );
$this->assertGoodStatus( $status,
"Preparing $path succeeded without warnings ($backendName)." );
- $createOps[] = array( 'op' => 'create', 'dst' => $path, 'content' => mt_rand(0, 50000) );
+ $createOps[] = array( 'op' => 'create', 'dst' => $path, 'content' => mt_rand( 0, 50000 ) );
$copyOps[] = array( 'op' => 'copy', 'src' => $path, 'dst' => "$path-2" );
$moveOps[] = array( 'op' => 'move', 'src' => "$path-2", 'dst' => "$path-3" );
$purgeOps[] = array( 'op' => 'delete', 'src' => $path );
foreach ( $srcs as $i => $source ) {
$this->prepare( array( 'dir' => dirname( $source ) ) );
$ops[] = array(
- 'op' => 'create', // operation
- 'dst' => $source, // source
+ 'op' => 'create', // operation
+ 'dst' => $source, // source
'content' => $srcsContent[$i]
);
$expContent .= $srcsContent[$i];
}
$iter = $this->backend->getFileList( array( 'dir' => "$base/unittest-cont1/not/exists" ) );
- foreach ( $iter as $iter ) {} // no errors
+ foreach ( $iter as $iter ) {
+ // no errors
+ }
}
public function testGetDirectoryList() {
}
$iter = $this->backend->getDirectoryList( array( 'dir' => "$base/unittest-cont1/not/exists" ) );
- foreach ( $iter as $file ) {} // no errors
+ foreach ( $iter as $file ) {
+ // no errors
+ }
+
$items = is_array( $iter ) ? $iter : iterator_to_array( $iter );
$this->assertEquals( array(), $items, "Directory listing is empty." );
"subdir2/subdir/sub/120-px-file.txt",
);
- for ( $i=0; $i<25; $i++ ) {
+ for ( $i = 0; $i < 25; $i++ ) {
$status = $this->backend->lockFiles( $paths, LockManager::LOCK_EX );
$this->assertEquals( print_r( array(), true ), print_r( $status->errors, true ),
"Locking of files succeeded ($backendName) ($i)." );
foreach ( $variants as $q => $settings ) {
try {
$this->$q = JobQueue::factory( $settings + $baseConfig );
- if ( ! ( $this->$q instanceof JobQueueDB ) ) {
+ if ( !( $this->$q instanceof JobQueueDB ) ) {
$this->$q->setTestingPrefix( 'unittests-' . wfRandomString( 32 ) );
}
} catch ( MWException $e ) {}; // unsupported? (@TODO: what if it was another error?)
protected function tearDown() {
parent::tearDown();
- foreach ( array(
- 'queueRand', 'queueRandTTL', 'queueTimestamp', 'queueTimestampTTL',
- 'queueFifo', 'queueFifoTTL'
- ) as $q ) {
+ foreach (
+ array(
+ 'queueRand', 'queueRandTTL', 'queueTimestamp', 'queueTimestampTTL',
+ 'queueFifo', 'queueFifoTTL'
+ ) as $q
+ ) {
if ( $this->$q ) {
do {
$job = $this->$q->pop();
$this->markTestSkipped( $desc );
}
-
$this->assertTrue( $queue->isEmpty(), "Queue is empty ($desc)" );
$queue->flushCaches();
$this->assertEquals( 0, $queue->getSize(), "Queue is empty ($desc)" );
$this->assertEquals( 0, $queue->getAcquiredCount(), "Queue is empty ($desc)" );
- $this->assertTrue( $queue->batchPush(
- array( $this->newDedupedJob(), $this->newDedupedJob(), $this->newDedupedJob() ) ),
+ $this->assertTrue(
+ $queue->batchPush(
+ array( $this->newDedupedJob(), $this->newDedupedJob(), $this->newDedupedJob() )
+ ),
"Push worked ($desc)" );
$this->assertFalse( $queue->isEmpty(), "Queue is not empty ($desc)" );
$this->assertEquals( 1, $queue->getSize(), "Queue size is correct ($desc)" );
$this->assertEquals( 0, $queue->getAcquiredCount(), "No jobs active ($desc)" );
- $this->assertTrue( $queue->batchPush(
- array( $this->newDedupedJob(), $this->newDedupedJob(), $this->newDedupedJob() ) ),
- "Push worked ($desc)" );
+ $this->assertTrue(
+ $queue->batchPush(
+ array( $this->newDedupedJob(), $this->newDedupedJob(), $this->newDedupedJob() )
+ ),
+ "Push worked ($desc)"
+ );
$this->assertFalse( $queue->isEmpty(), "Queue is not empty ($desc)" );
$this->markTestSkipped( $desc );
}
-
$this->assertTrue( $queue->isEmpty(), "Queue is empty ($desc)" );
$queue->flushCaches();
$this->markTestSkipped( $desc );
}
-
$this->assertTrue( $queue->isEmpty(), "Queue is empty ($desc)" );
$queue->flushCaches();
/** @dataProvider providePlural */
function testPlural( $result, $value ) {
- $forms = array( 'one', 'few', 'many', 'other' );
+ $forms = array( 'one', 'few', 'many', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
}
public static function providePlural() {
- return array (
+ return array(
array( 'one', 1 ),
array( 'many', 11 ),
array( 'one', 91 ),
/** @dataProvider providePluralTwoForms */
function testPluralTwoForms( $result, $value ) {
- $forms = array( 'one', 'other' );
+ $forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
}
public static function providePlural() {
- return array (
+ return array(
array( 'other', 0 ),
array( 'one', 1 ),
array( 'few', 2 ),
class LanguageCuTest extends LanguageClassesTestCase {
/** @dataProvider providePlural */
function testPlural( $result, $value ) {
- $forms = array( 'one', 'two', 'few', 'other' );
+ $forms = array( 'one', 'two', 'few', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
}
public static function providePlural() {
- return array (
+ return array(
array( 'other', 0 ),
array( 'one', 1 ),
array( 'two', 2 ),
}
public static function providePlural() {
- return array (
+ return array(
array( 'zero', 0 ),
array( 'one', 1 ),
array( 'two', 2 ),
}
public static function providePlural() {
- return array (
+ return array(
array( 'other', 0 ),
array( 'one', 1 ),
array( 'two', 2 ),
}
public static function providerPlural() {
- return array (
+ return array(
array( 'other', 0 ),
array( 'one', 1 ),
array( 'two', 2 ),
}
public static function providerPluralExplicit() {
- return array (
- array( 'other', 0 ),
- array( 'one', 1 ),
- array( 'two', 2 ),
- array( 'Form11', 11 ),
- array( 'Form12', 12 ),
- array( 'few', 3 ),
- array( 'few', 19 ),
- array( 'other', 200 ),
+ return array(
+ array( 'other', 0 ),
+ array( 'one', 1 ),
+ array( 'two', 2 ),
+ array( 'Form11', 11 ),
+ array( 'Form12', 12 ),
+ array( 'few', 3 ),
+ array( 'few', 19 ),
+ array( 'other', 200 ),
);
}
}
function testPlural( $result, $value ) {
// This is not compatible with CLDR plural rules http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html#gv
// What does this mean? Is there a hard-coded override for gv somewhere? -Ryan Kaldari 2013-01-28
- $forms = array( 'Form 1', 'Form 2', 'Form 3', 'Form 4' );
+ $forms = array( 'Form 1', 'Form 2', 'Form 3', 'Form 4' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
}
public static function providePlural() {
- return array (
+ return array(
array( 'Form 4', 0 ),
array( 'Form 2', 1 ),
array( 'Form 3', 2 ),
}
public static function provideTwoPluralForms() {
- return array (
+ return array(
array( 'other', 0 ), // Zero - plural
array( 'one', 1 ), // Singular
array( 'other', 2 ), // No third form provided, use it as plural
}
public static function provideThreePluralForms() {
- return array (
+ return array(
array( 'other', 0 ), // Zero - plural
array( 'one', 1 ), // Singular
array( 'two', 2 ), // Dual
}
public static function provideFourPluralForms() {
- return array (
+ return array(
array( 'other', 0 ), // Zero - plural
array( 'one', 1 ), // Singular
array( 'two', 2 ), // Dual
// The comments in the beginning of the line help avoid RTL problems
// with text editors.
public static function provideGrammar() {
- return array (
+ return array(
array(
- /* result */ 'וויקיפדיה',
- /* word */ 'ויקיפדיה',
- /* case */ 'תחילית',
+ /* result */'וויקיפדיה',
+ /* word */'ויקיפדיה',
+ /* case */'תחילית',
),
array(
- /* result */ 'וולפגנג',
- /* word */ 'וולפגנג',
- /* case */ 'prefixed',
+ /* result */'וולפגנג',
+ /* word */'וולפגנג',
+ /* case */'prefixed',
),
array(
- /* result */ 'קובץ',
- /* word */ 'הקובץ',
- /* case */ 'תחילית',
+ /* result */'קובץ',
+ /* word */'הקובץ',
+ /* case */'תחילית',
),
array(
- /* result */ '־Wikipedia',
- /* word */ 'Wikipedia',
- /* case */ 'תחילית',
+ /* result */'־Wikipedia',
+ /* word */'Wikipedia',
+ /* case */'תחילית',
),
array(
- /* result */ '־1995',
- /* word */ '1995',
- /* case */ 'תחילית',
+ /* result */'־1995',
+ /* word */'1995',
+ /* case */'תחילית',
),
);
}
}
public static function providePlural() {
- return array (
+ return array(
array( 'many', 0 ),
array( 'one', 1 ),
array( 'few', 2 ),
}
public static function providePlural() {
- return array (
+ return array(
array( 'other', 0 ),
array( 'one', 1 ),
array( 'other', 2 ),
}
public static function providePlural() {
- return array (
+ return array(
array( 'zero', 0 ),
array( 'one', 1 ),
array( 'other', 2 ),
class LanguageLtTest extends LanguageClassesTestCase {
/** @dataProvider providePlural */
function testPlural( $result, $value ) {
- $forms = array( 'one', 'few', 'other' );
+ $forms = array( 'one', 'few', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
}
public static function providePlural() {
- return array (
+ return array(
array( 'other', 0 ),
array( 'one', 1 ),
array( 'few', 2 ),
/** @dataProvider providePluralTwoForms */
function testOneFewPlural( $result, $value ) {
- $forms = array( 'one', 'other' );
+ $forms = array( 'one', 'other' );
// This fails for 21, but not sure why.
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
public static function providePluralTwoForms() {
- return array (
+ return array(
array( 'one', 1 ),
array( 'other', 2 ),
array( 'other', 15 ),
}
public static function providePlural() {
- return array (
+ return array(
array( 'zero', 0 ),
array( 'one', 1 ),
array( 'other', 11 ),
}
public static function providePlural() {
- return array (
+ return array(
array( 'other', 0 ),
array( 'one', 1 ),
array( 'other', 11 ),
}
public static function providePlural() {
- return array (
- array( 'few', 0 ),
- array( 'one', 1 ),
- array( 'few', 2 ),
- array( 'few', 19 ),
+ return array(
+ array( 'few', 0 ),
+ array( 'one', 1 ),
+ array( 'few', 2 ),
+ array( 'few', 19 ),
array( 'other', 20 ),
array( 'other', 99 ),
array( 'other', 100 ),
}
public static function providePlural() {
- return array (
- array( 'few', 0 ),
- array( 'one', 1 ),
- array( 'few', 2 ),
- array( 'few', 10 ),
- array( 'many', 11 ),
- array( 'many', 19 ),
+ return array(
+ array( 'few', 0 ),
+ array( 'one', 1 ),
+ array( 'few', 2 ),
+ array( 'few', 10 ),
+ array( 'many', 11 ),
+ array( 'many', 19 ),
array( 'other', 20 ),
array( 'other', 99 ),
array( 'other', 100 ),
}
public static function providerPluralTwoForms() {
- return array (
- array( 'other', 0 ),
- array( 'one', 1 ),
- array( 'other', 2 ),
- array( 'other', 10 ),
- array( 'other', 11 ),
- array( 'other', 19 ),
- array( 'other', 20 ),
- array( 'other', 99 ),
- array( 'other', 100 ),
- array( 'other', 101 ),
- array( 'other', 102 ),
- array( 'other', 110 ),
- array( 'other', 111 ),
- array( 'other', 119 ),
- array( 'other', 120 ),
- array( 'other', 201 ),
+ return array(
+ array( 'other', 0 ),
+ array( 'one', 1 ),
+ array( 'other', 2 ),
+ array( 'other', 10 ),
+ array( 'other', 11 ),
+ array( 'other', 19 ),
+ array( 'other', 20 ),
+ array( 'other', 99 ),
+ array( 'other', 100 ),
+ array( 'other', 101 ),
+ array( 'other', 102 ),
+ array( 'other', 110 ),
+ array( 'other', 111 ),
+ array( 'other', 119 ),
+ array( 'other', 120 ),
+ array( 'other', 201 ),
);
}
}
}
public static function providePlural() {
- return array (
- array( 'one', 0 ),
- array( 'one', 1 ),
+ return array(
+ array( 'one', 0 ),
+ array( 'one', 1 ),
array( 'other', 2 ),
);
}
}
public static function providePlural() {
- return array (
- array( 'many', 0 ),
- array( 'one', 1 ),
- array( 'few', 2 ),
- array( 'few', 3 ),
- array( 'few', 4 ),
- array( 'many', 5 ),
- array( 'many', 9 ),
- array( 'many', 10 ),
- array( 'many', 11 ),
- array( 'many', 21 ),
- array( 'few', 22 ),
- array( 'few', 23 ),
- array( 'few', 24 ),
- array( 'many', 25 ),
- array( 'many', 200 ),
- array( 'many', 201 ),
+ return array(
+ array( 'many', 0 ),
+ array( 'one', 1 ),
+ array( 'few', 2 ),
+ array( 'few', 3 ),
+ array( 'few', 4 ),
+ array( 'many', 5 ),
+ array( 'many', 9 ),
+ array( 'many', 10 ),
+ array( 'many', 11 ),
+ array( 'many', 21 ),
+ array( 'few', 22 ),
+ array( 'few', 23 ),
+ array( 'few', 24 ),
+ array( 'many', 25 ),
+ array( 'many', 200 ),
+ array( 'many', 201 ),
);
}
}
public static function providerPluralTwoForms() {
- return array (
- array( 'other', 0 ),
- array( 'one', 1 ),
- array( 'other', 2 ),
- array( 'other', 3 ),
- array( 'other', 4 ),
- array( 'other', 5 ),
- array( 'other', 9 ),
- array( 'other', 10 ),
- array( 'other', 11 ),
- array( 'other', 21 ),
- array( 'other', 22 ),
- array( 'other', 23 ),
- array( 'other', 24 ),
- array( 'other', 25 ),
- array( 'other', 200 ),
- array( 'other', 201 ),
+ return array(
+ array( 'other', 0 ),
+ array( 'one', 1 ),
+ array( 'other', 2 ),
+ array( 'other', 3 ),
+ array( 'other', 4 ),
+ array( 'other', 5 ),
+ array( 'other', 9 ),
+ array( 'other', 10 ),
+ array( 'other', 11 ),
+ array( 'other', 21 ),
+ array( 'other', 22 ),
+ array( 'other', 23 ),
+ array( 'other', 24 ),
+ array( 'other', 25 ),
+ array( 'other', 200 ),
+ array( 'other', 201 ),
);
}
}
}
public static function providePlural() {
- return array (
- array( 'few', 0 ),
- array( 'one', 1 ),
- array( 'few', 2 ),
- array( 'few', 19 ),
+ return array(
+ array( 'few', 0 ),
+ array( 'one', 1 ),
+ array( 'few', 2 ),
+ array( 'few', 19 ),
array( 'other', 20 ),
array( 'other', 99 ),
array( 'other', 100 ),
}
public static function providePlural() {
- return array (
+ return array(
array( 'one', 1 ),
array( 'many', 11 ),
array( 'one', 91 ),
/** @dataProvider providePluralTwoForms */
function testPluralTwoForms( $result, $value ) {
- $forms = array( 'one', 'other' );
+ $forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
}
public static function providePlural() {
- return array (
+ return array(
array( 'other', 0 ),
array( 'one', 1 ),
array( 'two', 2 ),
}
public static function providerPluralTwoForms() {
- return array (
+ return array(
array( 'other', 0 ),
array( 'one', 1 ),
array( 'other', 2 ),
}
public static function providePlural() {
- return array (
+ return array(
array( 'many', 0 ),
- array( 'one', 1 ),
+ array( 'one', 1 ),
array( 'few', 2 ),
array( 'few', 4 ),
array( 'many', 5 ),
}
public static function providePlural() {
- return array (
+ return array(
array( 'other', 0 ),
array( 'one', 1 ),
array( 'few', 2 ),
}
public static function providerPlural() {
- return array (
- array( 'other', 0 ),
- array( 'one', 1 ),
- array( 'two', 2 ),
- array( 'few', 3 ),
- array( 'few', 4 ),
+ return array(
+ array( 'other', 0 ),
+ array( 'one', 1 ),
+ array( 'two', 2 ),
+ array( 'few', 3 ),
+ array( 'few', 4 ),
array( 'other', 5 ),
array( 'other', 99 ),
array( 'other', 100 ),
}
public static function providePlural() {
- return array (
+ return array(
array( 'other', 0 ),
array( 'one', 1 ),
array( 'two', 2 ),
}
public static function providerPluralTwoForms() {
- return array (
+ return array(
array( 'other', 0 ),
array( 'one', 1 ),
array( 'other', 2 ),
}
public static function providePlural() {
- return array (
+ return array(
array( 'one', 1 ),
array( 'many', 11 ),
array( 'one', 91 ),
return $this->getLang()
->mConverter
->convertTo(
- $text, $variant
- );
+ $text, $variant
+ );
}
function convertToCyrillic( $text ) {
}
public static function providePlural() {
- return array (
- array( 'one', 0 ),
- array( 'one', 1 ),
+ return array(
+ array( 'one', 0 ),
+ array( 'one', 1 ),
array( 'other', 2 ),
);
}
}
public static function providePlural() {
- return array (
- array( 'one', 0 ),
- array( 'one', 1 ),
+ return array(
+ array( 'one', 0 ),
+ array( 'one', 1 ),
array( 'other', 2 ),
);
}
}
public static function providePlural() {
- return array (
+ return array(
array( 'one', 1 ),
array( 'many', 11 ),
array( 'one', 91 ),
}
public static function providePlural() {
- return array (
- array( 'one', 0 ),
- array( 'one', 1 ),
+ return array(
+ array( 'one', 0 ),
+ array( 'one', 1 ),
array( 'other', 2 ),
);
}
// Bug 44192 Do not attempt to send a real e-mail
Hooks::clear( 'AlternateUserMailer' );
- Hooks::register( 'AlternateUserMailer',
- function() { return false; }
+ Hooks::register(
+ 'AlternateUserMailer',
+ function () {
+ return false;
+ }
);
}
# ** Baz|Fred
array(
'text' => 'Fred',
- 'href' => Title::newFromText( 'Baz' )->getLocalUrl(),
+ 'href' => Title::newFromText( 'Baz' )->getLocalURL(),
'id' => 'n-Fred',
'active' => null,
),
array(
'text' => 'title-to-display',
- 'href' => Title::newFromText( 'page-to-go-to' )->getLocalUrl(),
+ 'href' => Title::newFromText( 'page-to-go-to' )->getLocalURL(),
'id' => 'n-title-to-display',
'active' => null,
),
}
protected function setUp() {
- global $wgParser, $wgParserConf, $IP, $messageMemc, $wgMemc,
- $wgUser, $wgLang, $wgOut, $wgRequest, $wgStyleDirectory, $wgEnableParserCache,
- $wgNamespaceAliases, $wgNamespaceProtection, $parserMemc;
+ global $wgParser, $wgParserConf, $IP, $messageMemc, $wgMemc, $wgUser,
+ $wgLang, $wgOut, $wgRequest, $wgStyleDirectory,
+ $wgEnableParserCache, $wgNamespaceAliases, $wgNamespaceProtection,
+ $parserMemc;
$tmpGlobals = array();
/**
* CompletenessTest
+ *
+ * Adds toggle checkbox to header
*/
- // Adds toggle checkbox to header
QUnit.config.urlConfig.push( {
id: 'completenesstest',
label: 'Run CompletenessTest',
/**
* Test environment recommended for all QUnit test modules
+ *
+ * Whether to log environment changes to the console
*/
- // Whether to log environment changes to the console
QUnit.config.urlConfig.push( 'mwlogenv' );
/**