* [[media:...]] links for non-trusted formats.
*/
$wgTrustedMediaFormats = array(
- MEDIATYPE_BITMAP, //all bitmap formats
- MEDIATYPE_AUDIO, //all audio formats
- MEDIATYPE_VIDEO, //all plain video formats
- "image/svg+xml", //svg (only needed if inline rendering of svg is not supported)
- "application/pdf", //PDF files
- #"application/x-shockwave-flash", //flash/shockwave movie
+ MEDIATYPE_BITMAP, // all bitmap formats
+ MEDIATYPE_AUDIO, // all audio formats
+ MEDIATYPE_VIDEO, // all plain video formats
+ "image/svg+xml", // svg (only needed if inline rendering of svg is not supported)
+ "application/pdf", // PDF files
+ # "application/x-shockwave-flash", //flash/shockwave movie
);
/**
*/
$wgAntivirusSetup = array(
- #setup for clamav
+ # setup for clamav
'clamav' => array(
'command' => 'clamscan --no-summary ',
'codemap' => array(
*/
$wgParserConf = array(
'class' => 'Parser',
- #'preprocessorClass' => 'Preprocessor_Hash',
+ # 'preprocessorClass' => 'Preprocessor_Hash',
);
/**
$wgGroupPermissions['*']['viewmyprivateinfo'] = true;
$wgGroupPermissions['*']['editmyprivateinfo'] = true;
$wgGroupPermissions['*']['editmyoptions'] = true;
-#$wgGroupPermissions['*']['patrolmarks'] = false; // let anons see what was patrolled
+# $wgGroupPermissions['*']['patrolmarks'] = false; // let anons see what was patrolled
// Implicit group for all logged-in accounts
$wgGroupPermissions['user']['move'] = true;
$wgGroupPermissions['sysop']['movefile'] = true;
$wgGroupPermissions['sysop']['unblockself'] = true;
$wgGroupPermissions['sysop']['suppressredirect'] = true;
-#$wgGroupPermissions['sysop']['pagelang'] = true;
-#$wgGroupPermissions['sysop']['upload_by_url'] = true;
+# $wgGroupPermissions['sysop']['pagelang'] = true;
+# $wgGroupPermissions['sysop']['upload_by_url'] = true;
$wgGroupPermissions['sysop']['mergehistory'] = true;
$wgGroupPermissions['sysop']['managechangetags'] = true;
$wgGroupPermissions['bureaucrat']['userrights'] = true;
$wgGroupPermissions['bureaucrat']['noratelimit'] = true;
// Permission to change users' groups assignments across wikis
-#$wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true;
+# $wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true;
// Permission to export pages including linked pages regardless of $wgExportMaxLinkDepth
-#$wgGroupPermissions['bureaucrat']['override-export-depth'] = true;
+# $wgGroupPermissions['bureaucrat']['override-export-depth'] = true;
-#$wgGroupPermissions['sysop']['deletelogentry'] = true;
-#$wgGroupPermissions['sysop']['deleterevision'] = true;
+# $wgGroupPermissions['sysop']['deletelogentry'] = true;
+# $wgGroupPermissions['sysop']['deleterevision'] = true;
// To hide usernames from users and Sysops
-#$wgGroupPermissions['suppress']['hideuser'] = true;
+# $wgGroupPermissions['suppress']['hideuser'] = true;
// To hide revisions/log items from users and Sysops
-#$wgGroupPermissions['suppress']['suppressrevision'] = true;
+# $wgGroupPermissions['suppress']['suppressrevision'] = true;
// To view revisions/log items hidden from users and Sysops
-#$wgGroupPermissions['suppress']['viewsuppressed'] = true;
+# $wgGroupPermissions['suppress']['viewsuppressed'] = true;
// For private suppression log access
-#$wgGroupPermissions['suppress']['suppressionlog'] = true;
+# $wgGroupPermissions['suppress']['suppressionlog'] = true;
/**
* The developer group is deprecated, but can be activated if need be
define( 'DBO_TRX', 8 ); // automatically start transaction on first query
define( 'DBO_DEFAULT', 16 );
define( 'DBO_PERSISTENT', 32 );
-define( 'DBO_SYSDBA', 64 ); //for oracle maintenance
+define( 'DBO_SYSDBA', 64 ); // for oracle maintenance
define( 'DBO_DDLMODE', 128 ); // when using schema files: mostly for Oracle
define( 'DBO_SSL', 256 );
define( 'DBO_COMPRESS', 512 );
/**@{
* Antivirus result codes, for use in $wgAntivirusSetup.
*/
-define( 'AV_NO_VIRUS', 0 ); #scan ok, no virus found
-define( 'AV_VIRUS_FOUND', 1 ); #virus found!
-define( 'AV_SCAN_ABORTED', -1 ); #scan aborted, the file is probably immune
-define( 'AV_SCAN_FAILED', false ); #scan failed (scanner not found or error in scanner)
+define( 'AV_NO_VIRUS', 0 ); # scan ok, no virus found
+define( 'AV_VIRUS_FOUND', 1 ); # virus found!
+define( 'AV_SCAN_ABORTED', -1 ); # scan aborted, the file is probably immune
+define( 'AV_SCAN_FAILED', false ); # scan failed (scanner not found or error in scanner)
/**@}*/
/**@{
global $wgUser;
$this->edittime = $this->mArticle->getTimestamp();
- $content = $this->getContentObject( false ); #TODO: track content object?!
+ $content = $this->getContentObject( false ); # TODO: track content object?!
if ( $content === false ) {
return false;
}
$title = Title::newFromText( $preload );
# Check for existence to avoid getting MediaWiki:Noarticletext
if ( $title === null || !$title->exists() || !$title->userCan( 'read', $wgUser ) ) {
- //TODO: somehow show a warning to the user!
+ // TODO: somehow show a warning to the user!
return $handler->makeEmptyContent();
}
$title = $page->getRedirectTarget();
# Same as before
if ( $title === null || !$title->exists() || !$title->userCan( 'read', $wgUser ) ) {
- //TODO: somehow show a warning to the user!
+ // TODO: somehow show a warning to the user!
return $handler->makeEmptyContent();
}
$page = WikiPage::factory( $title );
$content = $page->getContent( Revision::RAW );
if ( !$content ) {
- //TODO: somehow show a warning to the user!
+ // TODO: somehow show a warning to the user!
return $handler->makeEmptyContent();
}
$converted = $content->convert( $handler->getModelID() );
if ( !$converted ) {
- //TODO: somehow show a warning to the user!
+ // TODO: somehow show a warning to the user!
wfDebug( "Attempt to preload incompatible content: " .
"can't convert " . $content->getModel() .
" to " . $handler->getModelID() );
# user preference is active, pass a hidden tag as wpIgnoreBlankSummary. This will stop the
# user being bounced back more than once in the event that a summary
# is not required.
- #####
+ # ####
# For a bit more sophisticated detection of blank summaries, hash the
# automatic one and pass that in the hidden field wpAutoSummary.
if ( $this->missingSummary || ( $this->section == 'new' && $this->nosummary ) ) {
if ( $this->section != '' && $this->section != 'new' ) {
if ( !$this->summary && !$this->preview && !$this->diff ) {
- $sectionTitle = self::extractSectionTitle( $this->textbox1 ); //FIXME: use Content object
+ $sectionTitle = self::extractSectionTitle( $this->textbox1 ); // FIXME: use Content object
if ( $sectionTitle !== false ) {
$this->summary = "/* $sectionTitle */ ";
}
if ( $oldid ) {
- #$diffText = $de->getDiff( wfMessage( 'revisionasof',
- # $wgLang->timeanddate( $timestamp ),
- # $wgLang->date( $timestamp ),
- # $wgLang->time( $timestamp ) )->text(),
- # wfMessage( 'currentrev' )->text() );
+ # $diffText = $de->getDiff( wfMessage( 'revisionasof',
+ # $wgLang->timeanddate( $timestamp ),
+ # $wgLang->date( $timestamp ),
+ # $wgLang->time( $timestamp ) )->text(),
+ # wfMessage( 'currentrev' )->text() );
$diffText = '';
// Don't bother generating the diff if we won't be able to show it
$html = nl2br( htmlspecialchars( $text ) );
}
} else {
- //XXX: we could get an HTML representation of the content via getParserOutput, but that may
+ // XXX: we could get an HTML representation of the content via getParserOutput, but that may
// contain JS magic and generally may not be suitable for inclusion in a feed.
// Perhaps Content should have a getDescriptiveHtml method and/or a getSourceText method.
- //Compare also ApiFeedContributions::feedItemDesc
+ // Compare also ApiFeedContributions::feedItemDesc
$html = null;
}
MediaWiki\restoreWarnings();
if ( !$ok ) {
- //directory may have been created on another request since we last checked
+ // directory may have been created on another request since we last checked
if ( is_dir( $dir ) ) {
return true;
}
public function getFinalUrl() {
$headers = $this->getResponseHeaders();
- //return full url (fix for incorrect but handled relative location)
+ // return full url (fix for incorrect but handled relative location)
if ( isset( $headers['location'] ) ) {
$locations = $headers['location'];
$domain = '';
if ( isset( $url['host'] ) ) {
$domain = $url['scheme'] . '://' . $url['host'];
- break; //found correct URI (with host)
+ break; // found correct URI (with host)
} else {
$foundRelativeURI = true;
}
// No rootpage
$this->setImportTitleFactory( new NaiveImportTitleFactory() );
} elseif ( $rootpage !== '' ) {
- $rootpage = rtrim( $rootpage, '/' ); //avoid double slashes
+ $rootpage = rtrim( $rootpage, '/' ); // avoid double slashes
$title = Title::newFromText( $rootpage );
if ( !$title || $title->isExternal() ) {
'page' => $pageId,
'content_model' => $this->getModel(),
'content_format' => $this->getFormat(),
- //XXX: just set 'content' => $this->getContent()?
+ // XXX: just set 'content' => $this->getContent()?
'text' => $this->getContent()->serialize( $this->getFormat() ),
'comment' => $this->getComment(),
'user' => $userId,
'log_namespace' => $this->getTitle()->getNamespace(),
'log_title' => $this->getTitle()->getDBkey(),
'log_comment' => $this->getComment(),
- #'log_user_text' => $this->user_text,
+ # 'log_user_text' => $this->user_text,
'log_params' => $this->params ),
__METHOD__
);
'log_action' => $this->action,
'log_timestamp' => $dbw->timestamp( $this->timestamp ),
'log_user' => User::idFromName( $this->user_text ),
- #'log_user_text' => $this->user_text,
+ # 'log_user_text' => $this->user_text,
'log_namespace' => $this->getTitle()->getNamespace(),
'log_title' => $this->getTitle()->getDBkey(),
'log_comment' => $this->getComment(),
*/
static function matchEntry( Content $content, $filterEntry ) {
if ( !( $content instanceof TextContent ) ) {
- //TODO: handle other types of content too.
+ // TODO: handle other types of content too.
// Maybe create ContentHandler::matchFilter( LinkFilter ).
// Think about a common base class for LinkFilter and MagicWord.
return 0;
$ts,
$da
) ) {
- #TS_ISO_8601_BASIC
+ # TS_ISO_8601_BASIC
} elseif ( preg_match(
'/^(\d{4})\-(\d\d)\-(\d\d) (\d\d):(\d\d):(\d\d)\.*\d*[\+\- ](\d\d)$/',
$ts,
continue;
}
- #print "processing MIME INFO line $s<br>";
+ # print "processing MIME INFO line $s<br>";
$match = array();
if ( preg_match( '!\[\s*(\w+)\s*\]!', $s, $match ) ) {
if ( $m ) {
# normalize
- $m = preg_replace( '![;, ].*$!', '', $m ); #strip charset, etc
+ $m = preg_replace( '![;, ].*$!', '', $m ); # strip charset, etc
$m = trim( $m );
$m = strtolower( $m );
* @return array|null
*/
static function loadPreferenceValues( $user, $context, &$defaultPreferences ) {
- ## Remove preferences that wikis don't want to use
+ # # Remove preferences that wikis don't want to use
foreach ( $context->getConfig()->get( 'HiddenPrefs' ) as $pref ) {
if ( isset( $defaultPreferences[$pref] ) ) {
unset( $defaultPreferences[$pref] );
}
}
- ## Make sure that form fields have their parent set. See bug 41337.
+ # # Make sure that form fields have their parent set. See bug 41337.
$dummyForm = new HTMLForm( array(), $context );
$disable = !$user->isAllowed( 'editmyoptions' );
$defaultOptions = User::getDefaultOptions();
- ## Prod in defaults from the user
+ # # Prod in defaults from the user
foreach ( $defaultPreferences as $name => &$info ) {
$prefFromUser = self::getOptionFromUser( $name, $info, $user );
if ( $disable && !in_array( $name, self::$saveBlacklist ) ) {
// retrieving user name for GENDER and misc.
$userName = $user->getName();
- ## User info #####################################
+ # # User info #####################################
// Information panel
$defaultPreferences['username'] = array(
'type' => 'info',
'section' => 'personal/signature'
);
- ## Email stuff
+ # # Email stuff
if ( $config->get( 'EnableEmail' ) ) {
if ( $canViewPrivateInfo ) {
* @return void
*/
static function skinPreferences( $user, IContextSource $context, &$defaultPreferences ) {
- ## Skin #####################################
+ # # Skin #####################################
// Skin selector, if there is at least one valid skin
$skinOptions = self::generateSkinOptions( $user, $context );
* @param array $defaultPreferences
*/
static function filesPreferences( $user, IContextSource $context, &$defaultPreferences ) {
- ## Files #####################################
+ # # Files #####################################
$defaultPreferences['imagesize'] = array(
'type' => 'select',
'options' => self::getImageSizes( $context ),
* @return void
*/
static function datetimePreferences( $user, IContextSource $context, &$defaultPreferences ) {
- ## Date and time #####################################
+ # # Date and time #####################################
$dateOptions = self::getDateOptions( $context );
if ( $dateOptions ) {
$defaultPreferences['date'] = array(
* @param array $defaultPreferences
*/
static function renderingPreferences( $user, IContextSource $context, &$defaultPreferences ) {
- ## Diffs ####################################
+ # # Diffs ####################################
$defaultPreferences['diffonly'] = array(
'type' => 'toggle',
'section' => 'rendering/diffs',
'label-message' => 'tog-norollbackdiff',
);
- ## Page Rendering ##############################
+ # # Page Rendering ##############################
if ( $context->getConfig()->get( 'AllowUserCssPrefs' ) ) {
$defaultPreferences['underline'] = array(
'type' => 'select',
* @param array $defaultPreferences
*/
static function editingPreferences( $user, IContextSource $context, &$defaultPreferences ) {
- ## Editing #####################################
+ # # Editing #####################################
$defaultPreferences['editsectiononrightclick'] = array(
'type' => 'toggle',
'section' => 'editing/advancedediting',
static function rcPreferences( $user, IContextSource $context, &$defaultPreferences ) {
$config = $context->getConfig();
$rcMaxAge = $config->get( 'RCMaxAge' );
- ## RecentChanges #####################################
+ # # RecentChanges #####################################
$defaultPreferences['rcdays'] = array(
'type' => 'float',
'label-message' => 'recentchangesdays',
$config = $context->getConfig();
$watchlistdaysMax = ceil( $config->get( 'RCMaxAge' ) / ( 3600 * 24 ) );
- ## Watchlist #####################################
+ # # Watchlist #####################################
if ( $user->isAllowed( 'editmywatchlist' ) ) {
$editWatchlistLinks = array();
$editWatchlistModes = array(
if ( $this->mTitle !== null ) {
return $this->mTitle;
}
- //rev_id is defined as NOT NULL, but this revision may not yet have been inserted.
+ // rev_id is defined as NOT NULL, but this revision may not yet have been inserted.
if ( $this->mId !== null ) {
$dbr = wfGetDB( DB_SLAVE );
$row = $dbr->selectRow(
);
if ( $wgContentHandlerUseDB ) {
- //NOTE: Store null for the default model and format, to save space.
- //XXX: Makes the DB sensitive to changed defaults.
+ // NOTE: Store null for the default model and format, to save space.
+ // XXX: Makes the DB sensitive to changed defaults.
// Make this behavior optional? Only in miser mode?
$model = $this->getContentModel();
protected function checkContentModel() {
global $wgContentHandlerUseDB;
- $title = $this->getTitle(); //note: may return null for revisions that have not yet been inserted.
+ $title = $this->getTitle(); // note: may return null for revisions that have not yet been inserted.
$model = $this->getContentModel();
$format = $this->getContentFormat();
$badtag = true;
} elseif ( in_array( $t, $tagstack ) && !isset( $htmlnest[$t] ) ) {
$badtag = true;
- # Is it a self closed htmlpair ? (bug 5487)
+ # Is it a self closed htmlpair ? (bug 5487)
} elseif ( $brace == '/>' && isset( $htmlpairs[$t] ) ) {
$badtag = true;
} elseif ( isset( $htmlsingleonly[$t] ) ) {
$out = array();
foreach ( $attribs as $attribute => $value ) {
- #allow XML namespace declaration if RDFa is enabled
+ # allow XML namespace declaration if RDFa is enabled
if ( $wgAllowRdfaAttributes && preg_match( self::XMLNS_ATTRIBUTE_PATTERN, $attribute ) ) {
if ( !preg_match( self::EVIL_URI_PATTERN, $value ) ) {
$out[$attribute] = $value;
|| $attribute === 'itemref' || $attribute === 'itemscope'
|| $attribute === 'itemtype'
) {
- //Paranoia. Allow "simple" values but suppress javascript
+ // Paranoia. Allow "simple" values but suppress javascript
if ( preg_match( self::EVIL_URI_PATTERN, $value ) ) {
continue;
}
# validation code that can be used by tag hook handlers, etc
if ( $attribute === 'href' || $attribute === 'src' ) {
if ( !preg_match( $hrefExp, $value ) ) {
- continue; //drop any href or src attributes not using an allowed protocol.
+ continue; // drop any href or src attributes not using an allowed protocol.
// NOTE: this also drops all relative URLs
}
}
# rbc
'rb' => $common,
'rp' => $common,
- 'rt' => $common, #array_merge( $common, array( 'rbspan' ) ),
+ 'rt' => $common, # array_merge( $common, array( 'rbspan' ) ),
'rtc' => $common,
# MathML root element, where used for extensions
* @return TitleFormatter
*/
private static function getTitleFormatter() {
- //NOTE: we know that getTitleParser() returns a MediaWikiTitleCodec,
+ // NOTE: we know that getTitleParser() returns a MediaWikiTitleCodec,
// which implements TitleFormatter.
return self::getTitleParser();
}
$this->mRestrictions['move'] = explode( ',', trim( $temp[0] ) );
} else {
$restriction = trim( $temp[1] );
- if ( $restriction != '' ) { //some old entries are empty
+ if ( $restriction != '' ) { // some old entries are empty
$this->mRestrictions[$temp[0]] = explode( ',', $restriction );
}
}
'editmyuserjs',
'editmywatchlist',
'editsemiprotected',
- 'editusercssjs', #deprecated
+ 'editusercssjs', # deprecated
'editusercss',
'edituserjs',
'hideuser',
protected static $mAllRights = false;
/** Cache variables */
- //@{
+ // @{
public $mId;
/** @var string */
public $mName;
protected $mOptionOverrides;
/** @var string */
protected $mPasswordExpires;
- //@}
+ // @}
/**
* Bool Whether the cache variables have been loaded.
*/
- //@{
+ // @{
public $mOptionsLoaded;
/**
* Array with already loaded items or true if all items have been loaded.
*/
protected $mLoadedItems = array();
- //@}
+ // @}
/**
* String Initialization data source if mLoadedItems!==true. May be one of:
}
/** @name newFrom*() static factory methods */
- //@{
+ // @{
/**
* Static factory method for creation from username.
return $user;
}
- //@}
+ // @}
/**
* Get the username corresponding to a given user ID
* @return bool
*/
public function isValidPassword( $password ) {
- //simple boolean wrapper for getPasswordValidity
+ // simple boolean wrapper for getPasswordValidity
return $this->getPasswordValidity( $password ) === true;
}
);
$status = Status::newGood();
- $result = false; //init $result to false for the internal checks
+ $result = false; // init $result to false for the internal checks
if ( !Hooks::run( 'isValidPassword', array( $password, &$result, $this ) ) ) {
$status->error( $result );
return $status;
} else {
$status->error( $result );
- return $status; //the isValidPassword hook set a string $result and returned true
+ return $status; // the isValidPassword hook set a string $result and returned true
}
}
# is b0rked anyway in some browsers, just return nothing. When it's
# re-enabled, fix this code to not output required for e-mail
# registration.
- #$ret = array( 'required' );
+ # $ret = array( 'required' );
$ret = array();
# We can't actually do this right now, because Opera 9.6 will print out
xml_parser_set_option( $parser, XML_OPTION_CASE_FOLDING, false );
if ( !xml_parse( $parser, $text, true ) ) {
- //$err = xml_error_string( xml_get_error_code( $parser ) );
- //$position = xml_get_current_byte_index( $parser );
- //$fragment = $this->extractFragment( $html, $position );
- //$this->mXmlError = "$err at byte $position:\n$fragment";
+ // $err = xml_error_string( xml_get_error_code( $parser ) );
+ // $position = xml_get_current_byte_index( $parser );
+ // $fragment = $this->extractFragment( $html, $position );
+ // $this->mXmlError = "$err at byte $position:\n$fragment";
xml_parser_free( $parser );
return false;
}
return;
}
- #NOTE: Permission errors already handled by Action::checkExecute.
+ # NOTE: Permission errors already handled by Action::checkExecute.
if ( $result == array( array( 'readonlytext' ) ) ) {
throw new ReadOnlyError;
}
- #XXX: Would be nice if ErrorPageError could take multiple errors, and/or a status object.
+ # XXX: Would be nice if ErrorPageError could take multiple errors, and/or a status object.
# Right now, we only show the first error
foreach ( $result as $error ) {
throw new ErrorPageError( 'rollbackfailed', $error[0], array_slice( $error, 1 ) );
$desc = implode( $paramPrefix, $desc );
}
- //handle shorthand
+ // handle shorthand
if ( !is_array( $paramSettings ) ) {
$paramSettings = array(
self::PARAM_DFLT => $paramSettings,
);
}
- //handle missing type
+ // handle missing type
if ( !isset( $paramSettings[ApiBase::PARAM_TYPE] ) ) {
$dflt = isset( $paramSettings[ApiBase::PARAM_DFLT] )
? $paramSettings[ApiBase::PARAM_DFLT]
// only textual content has a "source view".
$html = nl2br( htmlspecialchars( $content->getNativeData() ) );
} else {
- //XXX: we could get an HTML representation of the content via getParserOutput, but that may
+ // XXX: we could get an HTML representation of the content via getParserOutput, but that may
// contain JS magic and generally may not be suitable for inclusion in a feed.
// Perhaps Content should have a getDescriptiveHtml method and/or a getSourceText method.
- //Compare also FeedUtils::formatDiffRow.
+ // Compare also FeedUtils::formatDiffRow.
$html = '';
}
$this->getMain()->getRequest()->response()->header( "Content-Type: $mime; charset=utf-8" );
- //Set X-Frame-Options API results (bug 39180)
+ // Set X-Frame-Options API results (bug 39180)
$apiFrameOptions = $this->getConfig()->get( 'ApiFrameOptions' );
if ( $apiFrameOptions ) {
$this->getMain()->getRequest()->response()->header( "X-Frame-Options: $apiFrameOptions" );
$this->reportUnusedParams();
if ( !$this->mInternalMode ) {
- //append Debug information
+ // append Debug information
MWDebug::appendDebugInfoToApiResult( $this->getContext(), $this->getResult() );
// Print result data
'reason' => $params['reason']
);
- //NOTE: we assume that if the old title exists, it's because it was re-created as
+ // NOTE: we assume that if the old title exists, it's because it was re-created as
// a redirect to the new title. This is not safe, but what we did before was
// even worse: we just determined whether a redirect should have been created,
// and reported that it was created if it should have, without any checks.
* @return Content
*/
private function getContent( WikiPage $page, $pageId = null ) {
- $content = $page->getContent( Revision::RAW ); //XXX: really raw?
+ $content = $page->getContent( Revision::RAW ); // XXX: really raw?
if ( $this->section !== false && $content !== null ) {
$content = $this->getSectionContent(
$this->addOption( 'LIMIT', $limit + 1 );
$res = $this->select( __METHOD__ );
- //Get gender information
+ // Get gender information
if ( MWNamespace::hasGenderDistinction( $params['namespace'] ) ) {
$users = array();
foreach ( $res as $row ) {
$users[] = $row->page_title;
}
GenderCache::singleton()->doQuery( $users, __METHOD__ );
- $res->rewind(); //reset
+ $res->rewind(); // reset
}
$count = 0;
// iterate over $images to handle continue param correct
foreach ( $images as $image => $pageId ) {
if ( !isset( $sha1s[$image] ) ) {
- continue; //file does not exist
+ continue; // file does not exist
}
$sha1 = $sha1s[$image];
$dupFiles = $filesBySha1s[$sha1];
foreach ( $dupFiles as $dupFile ) {
$dupName = $dupFile->getName();
if ( $image == $dupName && $dupFile->isLocal() ) {
- continue; //ignore the local file itself
+ continue; // ignore the local file itself
}
if ( $skipUntilThisDup !== false && $dupName < $skipUntilThisDup ) {
- continue; //skip to pos after the image from continue param
+ continue; // skip to pos after the image from continue param
}
$skipUntilThisDup = false;
if ( ++$count > $params['limit'] ) {
- $fit = false; //break outer loop
+ $fit = false; // break outer loop
// We're one over limit which shows that
// there are additional images to be had. Stop here...
$this->setContinueEnumParameter( 'continue', $image . '|' . $dupName );
}
if ( !$canShowField( File::DELETED_FILE ) ) {
- //Early return, tidier than indenting all following things one level
+ // Early return, tidier than indenting all following things one level
return $vals;
}
);
}
- //FIXME: (follow-up) To allow extensions to add to the language links, we need
+ // FIXME: (follow-up) To allow extensions to add to the language links, we need
// to load them all, add the extra links, then apply paging.
// Should not be terrible, it's not going to be more than a few hundred links.
$text = null;
if ( $this->expandTemplates && !$this->parseContent ) {
- #XXX: implement template expansion for all content types in ContentHandler?
+ # XXX: implement template expansion for all content types in ContentHandler?
if ( $content->getModel() === CONTENT_MODEL_WIKITEXT ) {
$text = $content->getNativeData();
$this->mAttribs['rc_timestamp'] = $dbw->timestamp( $this->mAttribs['rc_timestamp'] );
$this->mAttribs['rc_id'] = $dbw->nextSequenceValue( 'recentchanges_rc_id_seq' );
- ## If we are using foreign keys, an entry of 0 for the page_id will fail, so use NULL
+ # # If we are using foreign keys, an entry of 0 for the page_id will fail, so use NULL
if ( $dbw->cascadingDeletes() && $this->mAttribs['rc_cur_id'] == 0 ) {
unset( $this->mAttribs['rc_cur_id'] );
}
$type, $action, $target, $logComment, $params, $newId = 0, $actionCommentIRC = '' ) {
global $wgRequest;
- ## Get pageStatus for email notification
+ # # Get pageStatus for email notification
switch ( $type . '-' . $action ) {
case 'delete-delete':
$pageStatus = 'deleted';
* @deprecated since 1.25, use UtfNormal\Constants instead
*/
define( 'UTF8_REPLACEMENT', "\xef\xbf\xbd" /*codepointToUtf8( UNICODE_REPLACEMENT )*/ );
-#define( 'UTF8_REPLACEMENT', '!' );
+# define( 'UTF8_REPLACEMENT', '!' );
/**
* @deprecated since 1.25, use UtfNormal\Constants instead
*/
public function convert( $toModel, $lossy = '' ) {
if ( $this->getModel() === $toModel ) {
- //nothing to do, shorten out.
+ // nothing to do, shorten out.
return $this;
}
* @return DifferenceEngine
*/
public function createDifferenceEngine( IContextSource $context, $old = 0, $new = 0,
- $rcid = 0, //FIXME: Deprecated, no longer used
+ $rcid = 0, // FIXME: Deprecated, no longer used
$refreshCache = false, $unhide = false ) {
// hook: get difference engine
* @return Message The message object.
*/
public function getNativeData() {
- //NOTE: Message objects are mutable. Cloning here makes MessageContent immutable.
+ // NOTE: Message objects are mutable. Cloning here makes MessageContent immutable.
return clone $this->mMessage;
}
}
$this->db->dropTable( $tbl, __METHOD__ );
wfDebug( __METHOD__ . " dropping {$newTableName}\n" );
- //Dropping the oldTable because the prefix was changed
+ // Dropping the oldTable because the prefix was changed
}
# Create new table
$preLimitTail .= $this->makeOrderBy( $options );
// if (isset($options['LIMIT'])) {
- // $tailOpts .= $this->limitResult('', $options['LIMIT'],
- // isset($options['OFFSET']) ? $options['OFFSET']
- // : false);
+ // $tailOpts .= $this->limitResult('', $options['LIMIT'],
+ // isset($options['OFFSET']) ? $options['OFFSET']
+ // : false);
// }
if ( isset( $noKeyOptions['FOR UPDATE'] ) ) {
if ( !$alias || (string)$alias === (string)$name ) {
return $name;
} else {
- return $name . ' AS ' . $alias; //PostgreSQL needs AS
+ return $name . ' AS ' . $alias; // PostgreSQL needs AS
}
}
MediaWiki\restoreWarnings();
if ( $this->mUser != $this->mDBname ) {
- //change current schema in session
+ // change current schema in session
$this->selectDB( $this->mDBname );
}
* @return string Version information from the database
*/
function getServerVersion() {
- //better version number, fallback on driver
+ // better version number, fallback on driver
$rset = $this->doQuery(
'SELECT version FROM product_component_version ' .
'WHERE UPPER(product) LIKE \'ORACLE DATABASE%\''
$preLimitTail .= $this->makeOrderBy( $options );
- //if ( isset( $options['LIMIT'] ) ) {
- // $tailOpts .= $this->limitResult( '', $options['LIMIT'],
- // isset( $options['OFFSET'] ) ? $options['OFFSET']
- // : false );
- //}
+ // if ( isset( $options['LIMIT'] ) ) {
+ // $tailOpts .= $this->limitResult( '', $options['LIMIT'],
+ // isset( $options['OFFSET'] ) ? $options['OFFSET']
+ // : false );
+ // }
if ( isset( $options['FOR UPDATE'] ) ) {
$postLimitTail .= ' FOR UPDATE OF ' .
return false;
}
- #wfDebugLog( 'connect', var_export( $loads, true ) );
+ # wfDebugLog( 'connect', var_export( $loads, true ) );
# Return a random representative of the remainder
return ArrayUtils::pickRandom( $loads );
* This default implementation does nothing.
*/
public function beginTransaction() {
- //noop
+ // noop
}
/**
* This default implementation does nothing.
*/
public function commitTransaction() {
- //noop
+ // noop
}
/**
* This default implementation does nothing.
*/
public function rollbackTransaction() {
- //noop
+ // noop
}
/**
* Abort the database transaction started via beginTransaction (if any).
*/
public function abortTransaction() {
- if ( $this->mHasTransaction ) { //XXX: actually... maybe always?
+ if ( $this->mHasTransaction ) { // XXX: actually... maybe always?
$this->mDb->rollback( get_class( $this ) . '::abortTransaction' );
$this->mHasTransaction = false;
}
$dbr = $this->getSlaveDB();
$id = $dbr->selectField(
'page', // Table
- 'page_id', //Field
- array( //Conditions
+ 'page_id', // Field
+ array( // Conditions
'page_namespace' => $title->getNamespace(),
'page_title' => $title->getDBkey(),
),
- __METHOD__ //Function name
+ __METHOD__ // Function name
);
return $id;
*/
function findBySha1s( array $hashes ) {
if ( !count( $hashes ) ) {
- return array(); //empty parameter
+ return array(); // empty parameter
}
$dbr = $this->getSlaveDB();
foreach ( $this->foreignRepos as $repo ) {
$result = array_merge_recursive( $result, $repo->findBySha1s( $hashes ) );
}
- //sort the merged (and presorted) sublist of each hash
+ // sort the merged (and presorted) sublist of each hash
foreach ( $result as $hash => $files ) {
usort( $result[$hash], 'File::compare' );
}
wfDebug( __METHOD__ . ': supposed to render ' . $this->getName() .
' (' . $this->getMimeType() . "), but can't!\n" );
- return $this->getURL(); #hm... return NULL?
+ return $this->getURL(); # hm... return NULL?
}
} else {
return $this->getURL();
$type = $this->getMediaType();
$mime = $this->getMimeType();
- #wfDebug( "LocalFile::isSafeFile: type= $type, mime= $mime\n" );
+ # wfDebug( "LocalFile::isSafeFile: type= $type, mime= $mime\n" );
if ( !$type || $type === MEDIATYPE_UNKNOWN ) {
- return false; #unknown type, not trusted
+ return false; # unknown type, not trusted
}
if ( in_array( $type, $wgTrustedMediaFormats ) ) {
return true;
}
if ( $mime === "unknown/unknown" ) {
- return false; #unknown type, not trusted
+ return false; # unknown type, not trusted
}
if ( in_array( $mime, $wgTrustedMediaFormats ) ) {
return true;
* @return bool
*/
function isTrustedFile() {
- #this could be implemented to check a flag in the database,
- #look for signatures, etc
+ # this could be implemented to check a flag in the database,
+ # look for signatures, etc
return false;
}
User::newFromName( 'MediaWiki default' )
);
} catch ( Exception $e ) {
- //using raw, because $wgShowExceptionDetails can not be set yet
+ // using raw, because $wgShowExceptionDetails can not be set yet
$status->fatal( 'config-install-mainpage-failed', $e->getMessage() );
}
}
protected function changeFieldPurgeTable( $table, $field, $newtype, $default ) {
- ## For a cache table, empty it if the field needs to be changed, because the old contents
- ## may be corrupted. If the column is already the desired type, refrain from purging.
+ # # For a cache table, empty it if the field needs to be changed, because the old contents
+ # # may be corrupted. If the column is already the desired type, refrain from purging.
$fi = $this->db->fieldInfo( $table, $field );
if ( is_null( $fi ) ) {
$this->output( "...ERROR: expected column $table.$field to exist\n" );
}
// Base backlink update jobs and per-title update jobs can be de-duplicated.
// If template A changes twice before any jobs run, a clean queue will have:
- // (A base, A base)
+ // (A base, A base)
// The second job is ignored by the queue on insertion.
// Suppose, many pages use template A, and that template itself uses template B.
// An edit to both will first create two base jobs. A clean FIFO queue will have:
- // (A base, B base)
+ // (A base, B base)
// When these jobs run, the queue will have per-title and remnant partition jobs:
- // (titleX,titleY,titleZ,...,A remnant,titleM,titleN,titleO,...,B remnant)
+ // (titleX,titleY,titleZ,...,A remnant,titleM,titleN,titleO,...,B remnant)
// Some these jobs will be the same, and will automatically be ignored by
// the queue upon insertion. Some title jobs will run before the duplicate is
// inserted, so the work will still be done twice in those cases. More titles
if ( $this->getReducePacket() ) {
$data = $this->reduceCount( $data );
}
- //failures in any of this should be silently ignored if ..
+ // failures in any of this should be silently ignored if ..
$written = 0;
try {
$fp = $this->getSender()->open();
public static function formatBlockFlags( $flags, $lang ) {
$flags = trim( $flags );
if ( $flags === '' ) {
- return ''; //nothing to do
+ return ''; // nothing to do
}
$flags = explode( ',', $flags );
$flagsCount = count( $flags );
public function getPreloadTitles() {
$subtype = $this->entry->getSubtype();
if ( $subtype === 'create2' || $subtype === 'byemail' ) {
- //add the user talk to LinkBatch for the userLink
+ // add the user talk to LinkBatch for the userLink
return array( Title::makeTitle( NS_USER_TALK, $this->entry->getTarget()->getText() ) );
}
$xml .= Xml::tags(
'OBJECT',
array(
- #'data' => '',
- #'type' => 'image/x.djvu',
+ # 'data' => '',
+ # 'type' => 'image/x.djvu',
'height' => $m[2],
'width' => $m[1],
- #'usemap' => '',
+ # 'usemap' => '',
),
"\n" .
Xml::element( 'PARAM', array( 'name' => 'DPI', 'value' => $m[3] ) ) . "\n" .
$this->charCodeString( 'GPSProcessingMethod' );
$this->charCodeString( 'GPSAreaInformation' );
- //ComponentsConfiguration should really be an array instead of a string...
- //This turns a string of binary numbers into an array of numbers.
+ // ComponentsConfiguration should really be an array instead of a string...
+ // This turns a string of binary numbers into an array of numbers.
if ( isset( $this->mFilteredExifData['ComponentsConfiguration'] ) ) {
$val = $this->mFilteredExifData['ComponentsConfiguration'];
for ( $i = 0; $i < $strLen; $i++ ) {
$ccVals[$i] = ord( substr( $val, $i, 1 ) );
}
- $ccVals['_type'] = 'ol'; //this is for formatting later.
+ $ccVals['_type'] = 'ol'; // this is for formatting later.
$this->mFilteredExifData['ComponentsConfiguration'] = $ccVals;
}
- //GPSVersion(ID) is treated as the wrong type by php exif support.
- //Go through each byte turning it into a version string.
- //For example: "\x02\x02\x00\x00" -> "2.2.0.0"
+ // GPSVersion(ID) is treated as the wrong type by php exif support.
+ // Go through each byte turning it into a version string.
+ // For example: "\x02\x02\x00\x00" -> "2.2.0.0"
- //Also change exif tag name from GPSVersion (what php exif thinks it is)
- //to GPSVersionID (what the exif standard thinks it is).
+ // Also change exif tag name from GPSVersion (what php exif thinks it is)
+ // to GPSVersionID (what the exif standard thinks it is).
if ( isset( $this->mFilteredExifData['GPSVersion'] ) ) {
$val = $this->mFilteredExifData['GPSVersion'];
if ( isset( $this->mFilteredExifData[$prop] ) ) {
if ( strlen( $this->mFilteredExifData[$prop] ) <= 8 ) {
- //invalid. Must be at least 9 bytes long.
+ // invalid. Must be at least 9 bytes long.
$this->debug( $this->mFilteredExifData[$prop], __FUNCTION__, false );
unset( $this->mFilteredExifData[$prop] );
switch ( $charCode ) {
case "\x4A\x49\x53\x00\x00\x00\x00\x00":
- //JIS
+ // JIS
$charset = "Shift-JIS";
break;
case "UNICODE\x00":
$charset = "UTF-16" . $this->byteOrder;
break;
- default: //ascii or undefined.
+ default: // ascii or undefined.
$charset = "";
break;
}
} else {
// if valid utf-8, assume that, otherwise assume windows-1252
$valCopy = $val;
- UtfNormal\Validator::quickIsNFCVerify( $valCopy ); //validates $valCopy.
+ UtfNormal\Validator::quickIsNFCVerify( $valCopy ); // validates $valCopy.
if ( $valCopy !== $val ) {
MediaWiki\suppressWarnings();
$val = iconv( 'Windows-1252', 'UTF-8//IGNORE', $val );
}
}
- //trim and check to make sure not only whitespace.
+ // trim and check to make sure not only whitespace.
$val = trim( $val );
if ( strlen( $val ) === 0 ) {
- //only whitespace.
+ // only whitespace.
$this->debug( $this->mFilteredExifData[$prop], __FUNCTION__, "$prop: Is only whitespace" );
unset( $this->mFilteredExifData[$prop] );
return;
}
- //all's good.
+ // all's good.
$this->mFilteredExifData[$prop] = $val;
}
}
if ( isset( $exif['MEDIAWIKI_EXIF_VERSION'] )
&& $exif['MEDIAWIKI_EXIF_VERSION'] == 1
) {
- //back-compatible but old
+ // back-compatible but old
wfDebug( __METHOD__ . ": back-compat version\n" );
return self::METADATA_COMPATIBLE;
$type = 'ul'; // default unordered list.
}
- //This is done differently as the tag is an array.
+ // This is done differently as the tag is an array.
if ( $tag == 'GPSTimeStamp' && count( $vals ) === 3 ) {
- //hour min sec array
+ // hour min sec array
$h = explode( '/', $vals[0] );
$m = explode( '/', $vals[1] );
'mode' => ( $val & bindec( '00011000' ) ) >> 3,
'function' => ( $val & bindec( '00100000' ) ) >> 5,
'redeye' => ( $val & bindec( '01000000' ) ) >> 6,
-// 'reserved' => ($val & bindec( '10000000' )) >> 7,
+// 'reserved' => ($val & bindec( '10000000' )) >> 7,
);
$flashMsgs = array();
# We do not need to handle unknown values since all are used.
}
break;
- //The GPS...Ref values are kept for compatibility, probably won't be reached.
+ // The GPS...Ref values are kept for compatibility, probably won't be reached.
case 'GPSLatitudeRef':
case 'GPSDestLatitudeRef':
switch ( $val ) {
case 'Software':
if ( is_array( $val ) ) {
- //if its a software, version array.
+ // if its a software, version array.
$val = $this->msg( 'exif-software-version-value', $val[0], $val[1] )->text();
} else {
$val = $this->exifMsg( $tag, '', $val );
$lowLang = strtolower( $lang );
$langName = Language::fetchLanguageName( $lowLang );
if ( $langName === '' ) {
- //try just the base language name. (aka en-US -> en ).
+ // try just the base language name. (aka en-US -> en ).
list( $langPrefix ) = explode( '-', $lowLang, 2 );
$langName = Language::fetchLanguageName( $langPrefix );
if ( $langName === '' ) {
// Found a frame
$frameCount++;
- ## Skip bounding box
+ # # Skip bounding box
fread( $fh, 8 );
- ## Read BPP
+ # # Read BPP
$buf = fread( $fh, 1 );
$bpp = self::decodeBPP( $buf );
- ## Read GCT
+ # # Read GCT
self::readGCT( $fh, $bpp );
fread( $fh, 1 );
self::skipBlock( $fh );
}
$c = '';
- //charset info contained in tag 1:90.
+ // charset info contained in tag 1:90.
if ( isset( $parsed['1#090'] ) && isset( $parsed['1#090'][0] ) ) {
$c = self::getCharset( $parsed['1#090'][0] );
if ( $c === false ) {
- //Unknown charset. refuse to parse.
- //note: There is a different between
- //unknown and no charset specified.
+ // Unknown charset. refuse to parse.
+ // note: There is a different between
+ // unknown and no charset specified.
return array();
}
unset( $parsed['1#090'] );
$software = self::convIPTC( $val, $c );
if ( count( $software ) !== 1 ) {
- //according to iim standard this cannot have multiple values
- //so if there is more than one, something weird is happening,
- //and we skip it.
+ // according to iim standard this cannot have multiple values
+ // so if there is more than one, something weird is happening,
+ // and we skip it.
wfDebugLog( 'iptc', 'IPTC: Wrong count on 2:65 Software field' );
break;
}
if ( isset( $parsed['2#070'] ) ) {
- //if a version is set for the software.
+ // if a version is set for the software.
$softwareVersion = self::convIPTC( $parsed['2#070'], $c );
unset( $parsed['2#070'] );
$data['Software'] = array( array( $software[0], $softwareVersion[0] ) );
// according to spec.
// Should potentially store timezone as well.
case '2#055':
- //Date created (not date digitized).
- //Maps to exif DateTimeOriginal
+ // Date created (not date digitized).
+ // Maps to exif DateTimeOriginal
if ( isset( $parsed['2#060'] ) ) {
$time = $parsed['2#060'];
} else {
break;
case '2#062':
- //Date converted to digital representation.
- //Maps to exif DateTimeDigitized
+ // Date converted to digital representation.
+ // Maps to exif DateTimeDigitized
if ( isset( $parsed['2#063'] ) ) {
$time = $parsed['2#063'];
} else {
break;
case '2#030':
- //Date released.
+ // Date released.
if ( isset( $parsed['2#035'] ) ) {
$time = $parsed['2#035'];
} else {
break;
case '2#037':
- //Date expires.
+ // Date expires.
if ( isset( $parsed['2#038'] ) ) {
$time = $parsed['2#038'];
} else {
case '2#000': /* iim version */
// unlike other tags, this is a 2-byte binary number.
- //technically this is required if there is iptc data
- //but in practise it isn't always there.
+ // technically this is required if there is iptc data
+ // but in practise it isn't always there.
if ( strlen( $val[0] ) == 2 ) {
- //if is just to be paranoid.
+ // if is just to be paranoid.
$versionValue = ord( substr( $val[0], 0, 1 ) ) * 256;
$versionValue += ord( substr( $val[0], 1, 1 ) );
$data['iimVersion'] = $versionValue;
case '2#085':
case '2#038':
case '2#035':
- //ignore. Handled elsewhere.
+ // ignore. Handled elsewhere.
break;
default:
*/
private static function timeHelper( $date, $time, $c ) {
if ( count( $date ) === 1 ) {
- //the standard says this should always be 1
- //just double checking.
+ // the standard says this should always be 1
+ // just double checking.
list( $date ) = self::convIPTC( $date, $c );
} else {
return null;
list( $time ) = self::convIPTC( $time, $c );
$dateOnly = false;
} else {
- $time = '000000+0000'; //placeholder
+ $time = '000000+0000'; // placeholder
$dateOnly = true;
}
&& substr( $date, 4, 2 ) !== '00'
&& substr( $date, 6, 2 ) !== '00'
) ) {
- //something wrong.
+ // something wrong.
// Note, this rejects some valid dates according to iptc spec
// for example: the date 00000400 means the photo was taken in
// April, but the year and day is unknown. We don't process these
return null;
}
if ( $dateOnly ) {
- //return the date only
+ // return the date only
return substr( $finalTimestamp, 0, 10 );
} else {
return $finalTimestamp;
wfDebugLog( 'iptc', __METHOD__ . " Error converting iptc data charset $charset to utf-8" );
}
} else {
- //treat as utf-8 if is valid utf-8. otherwise pretend its windows-1252
+ // treat as utf-8 if is valid utf-8. otherwise pretend its windows-1252
// most of the time if there is no 1:90 tag, it is either ascii, latin1, or utf-8
$oldData = $data;
- UtfNormal\Validator::quickIsNFCVerify( $data ); //make $data valid utf-8
+ UtfNormal\Validator::quickIsNFCVerify( $data ); // make $data valid utf-8
if ( $data === $oldData ) {
- return $data; //if validation didn't change $data
+ return $data; // if validation didn't change $data
} else {
return self::convIPTCHelper( $oldData, 'Windows-1252' );
}
*/
static function getCharset( $tag ) {
- //According to iim standard, charset is defined by the tag 1:90.
- //in which there are iso 2022 escape sequences to specify the character set.
- //the iim standard seems to encourage that all necessary escape sequences are
- //in the 1:90 tag, but says it doesn't have to be.
+ // According to iim standard, charset is defined by the tag 1:90.
+ // in which there are iso 2022 escape sequences to specify the character set.
+ // the iim standard seems to encourage that all necessary escape sequences are
+ // in the 1:90 tag, but says it doesn't have to be.
- //This is in need of more testing probably. This is definitely not complete.
- //however reading the docs of some other iptc software, it appears that most iptc software
- //only recognizes utf-8. If 1:90 tag is not present content is
+ // This is in need of more testing probably. This is definitely not complete.
+ // however reading the docs of some other iptc software, it appears that most iptc software
+ // only recognizes utf-8. If 1:90 tag is not present content is
// usually ascii or iso-8859-1 (and sometimes utf-8), but no guarantee.
- //This also won't work if there are more than one escape sequence in the 1:90 tag
- //or if something is put in the G2, or G3 charsets, etc. It will only reliably recognize utf-8.
+ // This also won't work if there are more than one escape sequence in the 1:90 tag
+ // or if something is put in the G2, or G3 charsets, etc. It will only reliably recognize utf-8.
// This is just going through the charsets mentioned in appendix C of the iim standard.
// \x1b = ESC.
switch ( $tag ) {
- case "\x1b%G": //utf-8
- //Also call things that are compatible with utf-8, utf-8 (e.g. ascii)
+ case "\x1b%G": // utf-8
+ // Also call things that are compatible with utf-8, utf-8 (e.g. ascii)
case "\x1b(B": // ascii
case "\x1b(@": // iso-646-IRV (ascii in latest version, $ different in older version)
$c = 'UTF-8';
break;
- case "\x1b(A": //like ascii, but british.
+ case "\x1b(A": // like ascii, but british.
$c = 'ISO646-GB';
break;
- case "\x1b(C": //some obscure sweedish/finland encoding
+ case "\x1b(C": // some obscure sweedish/finland encoding
$c = 'ISO-IR-8-1';
break;
case "\x1b(D":
$c = 'ISO-IR-8-2';
break;
- case "\x1b(E": //some obscure danish/norway encoding
+ case "\x1b(E": // some obscure danish/norway encoding
$c = 'ISO-IR-9-1';
break;
case "\x1b(F":
case "\x1b(K":
$c = "ISO646-DE";
break;
- case "\x1b(N": //crylic
+ case "\x1b(N": // crylic
$c = "ISO_5427";
break;
- case "\x1b(`": //iso646-NO
+ case "\x1b(`": // iso646-NO
$c = "NS_4551-1";
break;
- case "\x1b(f": //iso646-FR
+ case "\x1b(f": // iso646-FR
$c = "NF_Z_62-010";
break;
case "\x1b(g":
- $c = "PT2"; //iso646-PT2
+ $c = "PT2"; // iso646-PT2
break;
case "\x1b(h":
$c = "ES2";
break;
- case "\x1b(i": //iso646-HU
+ case "\x1b(i": // iso646-HU
$c = "MSZ_7795.3";
break;
case "\x1b(w":
break;
default:
wfDebugLog( 'iptc', __METHOD__ . 'Unknown charset in iptc 1:90: ' . bin2hex( $tag ) );
- //at this point just give up and refuse to parse iptc?
+ // at this point just give up and refuse to parse iptc?
$c = false;
}
return $c;
}
# Removed for ProofreadPage
- #$width = intval( $width );
+ # $width = intval( $width );
return "{$width}px";
}
function convertMetadataVersion( $metadata, $version = 1 ) {
if ( !is_array( $metadata ) ) {
- //unserialize to keep return parameter consistent.
+ // unserialize to keep return parameter consistent.
MediaWiki\suppressWarnings();
$ret = unserialize( $metadata );
MediaWiki\restoreWarnings();
$this->charset = 'UTF-8';
break;
default:
- //this should be impossible to get to
+ // this should be impossible to get to
throw new RuntimeException( "Invalid BOM" );
}
} else {
}
}
if ( $this->charset !== 'UTF-8' ) {
- //don't convert if already utf-8
+ // don't convert if already utf-8
MediaWiki\suppressWarnings();
$content = iconv( $this->charset, 'UTF-8//IGNORE', $content );
MediaWiki\restoreWarnings();
),
'creator' => array(
'map_group' => 'general',
- 'map_name' => 'Artist', //map with exif Artist, iptc byline (2:80)
+ 'map_name' => 'Artist', // map with exif Artist, iptc byline (2:80)
'mode' => XMPReader::MODE_SEQ,
),
'date' => array(
'mode' => XMPReader::MODE_SIMPLE,
),
),
- //Note, this property affects how jpeg metadata is extracted.
+ // Note, this property affects how jpeg metadata is extracted.
'http://ns.adobe.com/xmp/note/' => array(
'HasExtendedXMP' => array(
'map_group' => 'special',
return;
}
- //check if its in a numeric range
+ // check if its in a numeric range
$inRange = false;
if ( isset( $info['rangeLow'] )
&& isset( $info['rangeHigh'] )
return;
}
if ( !preg_match( '/^[-A-Za-z0-9]{2,}$/D', $val ) ) {
- //this is a rather naive check.
+ // this is a rather naive check.
$this->logger->info( __METHOD__ . " Expected Lang code but got $val" );
$val = null;
}
return;
}
- if ( !isset( $res[4] ) ) { //hour
- //just have the year month day (if that)
+ if ( !isset( $res[4] ) ) { // hour
+ // just have the year month day (if that)
$val = $res[1];
if ( isset( $res[2] ) ) {
$val .= ':' . $res[2];
}
if ( !isset( $res[7] ) || $res[7] === 'Z' ) {
- //if hour is set, then minute must also be or regex above will fail.
+ // if hour is set, then minute must also be or regex above will fail.
$val = $res[1] . ':' . $res[2] . ':' . $res[3]
. ' ' . $res[4] . ':' . $res[5];
if ( isset( $res[6] ) && $res[6] !== '' ) {
# Pre-fill content with error message so that if something
# fails we'll have something telling us what we intended.
- //XXX: this isn't page content but a UI message. horrible.
+ // XXX: this isn't page content but a UI message. horrible.
$this->mContentObject = new MessageContent( 'missing-revision', array( $oldid ) );
if ( $oldid ) {
* @return ParserOutput|bool ParserOutput or false if the given revision ID is not found
*/
public function getParserOutput( $oldid = null, User $user = null ) {
- //XXX: bypasses mParserOptions and thus setParserOptions()
+ // XXX: bypasses mParserOptions and thus setParserOptions()
if ( $user === null ) {
$parserOptions = $this->getParserOptions();
*/
public function __get( $fname ) {
if ( property_exists( $this->mPage, $fname ) ) {
- #wfWarn( "Access to raw $fname field " . __CLASS__ );
+ # wfWarn( "Access to raw $fname field " . __CLASS__ );
return $this->mPage->$fname;
}
trigger_error( 'Inaccessible property via __get(): ' . $fname, E_USER_NOTICE );
*/
public function __set( $fname, $fvalue ) {
if ( property_exists( $this->mPage, $fname ) ) {
- #wfWarn( "Access to raw $fname field of " . __CLASS__ );
+ # wfWarn( "Access to raw $fname field of " . __CLASS__ );
$this->mPage->$fname = $fvalue;
// Note: extensions may want to toss on new fields
} elseif ( !in_array( $fname, array( 'mContext', 'mPage' ) ) ) {
*/
public function __call( $fname, $args ) {
if ( is_callable( array( $this->mPage, $fname ) ) ) {
- #wfWarn( "Call to " . __CLASS__ . "::$fname; please use WikiPage instead" );
+ # wfWarn( "Call to " . __CLASS__ . "::$fname; please use WikiPage instead" );
return call_user_func_array( array( $this->mPage, $fname ), $args );
}
trigger_error( 'Inaccessible function via __call(): ' . $fname, E_USER_ERROR );
) {
ContentHandler::deprecated( __METHOD__, '1.21' );
- //NOTE: keep condition in sync with condition in replaceSectionContent!
+ // NOTE: keep condition in sync with condition in replaceSectionContent!
if ( strval( $sectionId ) === '' ) {
// Whole-page edit; let the whole text through
return $text;
}
$user = is_null( $user ) ? $wgUser : $user;
- //XXX: check $user->getId() here???
+ // XXX: check $user->getId() here???
// Use a sane default for $serialFormat, see bug 57026
if ( $serialFormat === null ) {
// split the given option to its variable
if ( self::matchAgainstMagicword( 'rawsuffix', $arg1 ) ) {
- //{{pagesincategory:|raw[|type]}}
+ // {{pagesincategory:|raw[|type]}}
$raw = $arg1;
$type = $magicWords->matchStartToEnd( $arg2 );
} else {
- //{{pagesincategory:[|type[|raw]]}}
+ // {{pagesincategory:[|type[|raw]]}}
$type = $magicWords->matchStartToEnd( $arg1 );
$raw = $arg2;
}
- if ( !$type ) { //backward compatibility
+ if ( !$type ) { // backward compatibility
$type = 'pagesincategory_all';
}
# The redirect status and length is passed to getLinkColour via the LinkCache
# Use formal parameters instead
$colours[$pdbk] = Linker::getLinkColour( $title, $threshold );
- //add id to the extension todolist
+ // add id to the extension todolist
$linkcolour_ids[$s->page_id] = $pdbk;
}
unset( $res );
}
if ( count( $linkcolour_ids ) ) {
- //pass an array of page_ids to an extension
+ // pass an array of page_ids to an extension
Hooks::run( 'GetLinkColours', array( $linkcolour_ids, &$colours ) );
}
* @throws MWException
*/
public function newPartNodeArray( $values ) {
- //NOTE: DOM manipulation is slower than building & parsing XML! (or so Tim sais)
+ // NOTE: DOM manipulation is slower than building & parsing XML! (or so Tim sais)
$xml = "<list>";
foreach ( $values as $k => $val ) {
$stack = new PPDStack;
- $searchBase = "[{<\n"; #}
+ $searchBase = "[{<\n"; # }
// For fast reverse searches
$revText = strrev( $text );
$lengthText = strlen( $text );
$fakeLineStart = true;
while ( true ) {
- //$this->memCheck();
+ // $this->memCheck();
if ( $findOnlyinclude ) {
// Ignore all input up to the next <onlyinclude>
$fakeLineStart = true;
while ( true ) {
- //$this->memCheck();
+ // $this->memCheck();
if ( $findOnlyinclude ) {
// Ignore all input up to the next <onlyinclude>
) {
$out .= $contextNode->firstChild->value;
} else {
- //$out .= '';
+ // $out .= '';
}
} elseif ( $contextNode->name == 'ext' ) {
# Extension tag
'wgRevokePermissions' => 'array_plus_2d',
'wgHooks' => 'array_merge_recursive',
// credits are handled in the ExtensionRegistry
- //'wgExtensionCredits' => 'array_merge_recursive',
+ // 'wgExtensionCredits' => 'array_merge_recursive',
'wgExtraGenderNamespaces' => 'array_plus',
'wgNamespacesWithSubpages' => 'array_plus',
'wgNamespaceContentModels' => 'array_plus',
wfDebug( "parseQuery received: $term \n" );
- ## No backslashes allowed
+ # # No backslashes allowed
$term = preg_replace( '/\\\/', '', $term );
- ## Collapse parens into nearby words:
+ # # Collapse parens into nearby words:
$term = preg_replace( '/\s*\(\s*/', ' (', $term );
$term = preg_replace( '/\s*\)\s*/', ') ', $term );
- ## Treat colons as word separators:
+ # # Treat colons as word separators:
$term = preg_replace( '/:/', ' ', $term );
$searchstring = '';
}
}
- ## Strip out leading junk
+ # # Strip out leading junk
$searchstring = preg_replace( '/^[\s\&\|]+/', '', $searchstring );
- ## Remove any doubled-up operators
+ # # Remove any doubled-up operators
$searchstring = preg_replace( '/([\!\&\|]) +(?:[\&\|] +)+/', "$1 ", $searchstring );
- ## Remove any non-spaced operators (e.g. "Zounds!")
+ # # Remove any non-spaced operators (e.g. "Zounds!")
$searchstring = preg_replace( '/([^ ])[\!\&\|]/', "$1", $searchstring );
- ## Remove any trailing whitespace or operators
+ # # Remove any trailing whitespace or operators
$searchstring = preg_replace( '/[\s\!\&\|]+$/', '', $searchstring );
- ## Remove unnecessary quotes around everything
+ # # Remove unnecessary quotes around everything
$searchstring = preg_replace( '/^[\'"](.*)[\'"]$/', "$1", $searchstring );
- ## Quote the whole thing
+ # # Quote the whole thing
$searchstring = $this->db->addQuotes( $searchstring );
wfDebug( "parseQuery returned: $searchstring \n" );
# Get the SQL fragment for the given term
$searchstring = $this->parseQuery( $term );
- ## We need a separate query here so gin does not complain about empty searches
+ # # We need a separate query here so gin does not complain about empty searches
$sql = "SELECT to_tsquery($searchstring)";
$res = $this->db->query( $sql );
if ( !$res ) {
- ## TODO: Better output (example to catch: one 'two)
+ # # TODO: Better output (example to catch: one 'two)
die( "Sorry, that was not a valid search string. Please go back and try again" );
}
$top = $res->fetchRow();
$top = $top[0];
$this->searchTerms = array();
- if ( $top === "" ) { ## e.g. if only stopwords are used XXX return something better
+ if ( $top === "" ) { # # e.g. if only stopwords are used XXX return something better
$query = "SELECT page_id, page_namespace, page_title, 0 AS score " .
"FROM page p, revision r, pagecontent c WHERE p.page_latest = r.rev_id " .
"AND r.rev_text_id = c.old_id AND 1=0";
"AND r.rev_text_id = c.old_id AND $fulltext @@ to_tsquery($searchstring)";
}
- ## Namespaces - defaults to 0
+ # # Namespaces - defaults to 0
if ( !is_null( $this->namespaces ) ) { // null -> search all
if ( count( $this->namespaces ) < 1 ) {
$query .= ' AND page_namespace = 0';
return $query;
}
- ## Most of the work of these two functions are done automatically via triggers
+ # # Most of the work of these two functions are done automatically via triggers
function update( $pageid, $title, $text ) {
- ## We don't want to index older revisions
+ # # We don't want to index older revisions
$sql = "UPDATE pagecontent SET textvector = NULL WHERE textvector IS NOT NULL and old_id IN " .
"(SELECT DISTINCT rev_text_id FROM revision WHERE rev_page = " . intval( $pageid ) .
" ORDER BY rev_text_id DESC OFFSET 1)";
}
}
- //@todo: export <data>
- //@todo: export <config>
+ // @todo: export <data>
+ // @todo: export <config>
fwrite( $this->sink, "\t" . Xml::closeElement( 'site' ) . "\n" );
}
$site->addLocalId( $idType, $id );
}
- //@todo: import <data>
- //@todo: import <config>
+ // @todo: import <data>
+ // @todo: import <config>
return $site;
}
* @return array
*/
protected function getSerializationData() {
- //NOTE: When changing the structure, either implement unserialize() to handle the
+ // NOTE: When changing the structure, either implement unserialize() to handle the
// old structure too, or update SERIAL_VERSION_ID to kill any caches.
return array_merge(
parent::getSerializationData(),
'closure_expansion' => false,
) );
} elseif ( $rec instanceof SpecialPage ) {
- $page = $rec; //XXX: we should deep clone here
+ $page = $rec; // XXX: we should deep clone here
} else {
$page = null;
}
$content = $rev->getContent();
if ( $content instanceof TextContent ) {
- //XXX: in the future, this could be stored as structured data, defining a list of book sources
+ // XXX: in the future, this could be stored as structured data, defining a list of book sources
$text = $content->getNativeData();
$this->getOutput()->addWikiText( str_replace( 'MAGICNUMBER', $this->isbn, $text ) );
}
function getIndexField() {
-# return array( 'abc' => 'cat_title', 'count' => 'cat_pages' );
+# return array( 'abc' => 'cat_title', 'count' => 'cat_pages' );
return 'cat_title';
}
return $this->mDefaultQuery;
}
-# protected function getOrderTypeMessages() {
-# return array( 'abc' => 'special-categories-sort-abc',
-# 'count' => 'special-categories-sort-count' );
-# }
+# protected function getOrderTypeMessages() {
+# return array( 'abc' => 'special-categories-sort-abc',
+# 'count' => 'special-categories-sort-count' );
+# }
protected function getDefaultDirections() {
-# return array( 'abc' => false, 'count' => true );
+# return array( 'abc' => false, 'count' => true );
return false;
}
*/
private function cleanupWatchlist() {
if ( !count( $this->badItems ) ) {
- return; //nothing to do
+ return; // nothing to do
}
$dbw = wfGetDB( DB_MASTER );
$exporter->allPages();
} else {
foreach ( $pages as $page ) {
- #Bug 8824: Only export pages the user can read
+ # Bug 8824: Only export pages the user can read
$title = Title::newFromText( $page );
if ( is_null( $title ) ) {
// @todo Perhaps output an <error> tag or something.
private function formatPermissions( $permissions, $revoke, $add, $remove, $addSelf, $removeSelf ) {
$r = array();
foreach ( $permissions as $permission => $granted ) {
- //show as granted only if it isn't revoked to prevent duplicate display of permissions
+ // show as granted only if it isn't revoked to prevent duplicate display of permissions
if ( $granted && ( !isset( $revoke[$permission] ) || !$revoke[$permission] ) ) {
$r[] = $this->msg( 'listgrouprights-right-display',
User::getRightDescription( $permission ),
* @return string
*/
function formatRow( $row ) {
- if ( $row->user_id == 0 ) { #Bug 16487
+ if ( $row->user_id == 0 ) { # Bug 16487
return '';
}
$newText = $nt->getPrefixedText();
if ( $ot->exists() ) {
- //NOTE: we assume that if the old title exists, it's because it was re-created as
+ // NOTE: we assume that if the old title exists, it's because it was re-created as
// a redirect to the new title. This is not safe, but what we did before was
// even worse: we just determined whether a redirect should have been created,
// and reported that it was created if it should have, without any checks.
protected function feedItemDesc( $row ) {
$revision = Revision::newFromId( $row->rev_id );
if ( $revision ) {
- //XXX: include content model/type in feed item?
+ // XXX: include content model/type in feed item?
return '<p>' . htmlspecialchars( $revision->getUserText() ) .
$this->msg( 'colon-separator' )->inContentLanguage()->escaped() .
htmlspecialchars( FeedItem::stripComment( $revision->getComment() ) ) .
list( $namespace, $prefixKey, $prefix ) = $prefixList;
list( /* $fromNS */, $fromKey, ) = $fromList;
- ### @todo FIXME: Should complain if $fromNs != $namespace
+ # ## @todo FIXME: Should complain if $fromNs != $namespace
$dbr = wfGetDB( DB_SLAVE );
)
);
- ### @todo FIXME: Side link to previous
+ # ## @todo FIXME: Side link to previous
$n = 0;
if ( $res->numRows() > 0 ) {
$titleSnippet
);
- //If page content is not readable, just return the title.
- //This is not quite safe, but better than showing excerpts from non-readable pages
- //Note that hiding the entry entirely would screw up paging.
+ // If page content is not readable, just return the title.
+ // This is not quite safe, but better than showing excerpts from non-readable pages
+ // Note that hiding the entry entirely would screw up paging.
if ( !$title->userCan( 'read', $this->getUser() ) ) {
return "<li>{$link}</li>\n";
}
$user = User::newFromName( $revision->getUserText( Revision::RAW ), false );
$content = $revision->getContent( Revision::RAW );
- //NOTE: article ID may not be known yet. prepareSave() should not modify the database.
+ // NOTE: article ID may not be known yet. prepareSave() should not modify the database.
$status = $content->prepareSave( $article, 0, -1, $user );
if ( !$status->isOK() ) {
$parts = explode( '/', $par, 2 );
$this->limit = (int)$parts[0];
// @todo FIXME: nlinks is ignored
- //$nlinks = isset( $parts[1] ) && $parts[1] === 'nlinks';
+ // $nlinks = isset( $parts[1] ) && $parts[1] === 'nlinks';
$this->offset = 0;
} else {
- //$nlinks = true;
+ // $nlinks = true;
}
$this->setListoutput( $inc );
$this->shownavigation = !$inc;
"{$this->config['tidyBin']} -config {$this->config['tidyConfigFile']} " .
$this->config['tidyCommandLine'] . $opts, $descriptorspec, $pipes );
- //NOTE: At least on linux, the process will be created even if tidy is not installed.
+ // NOTE: At least on linux, the process will be created even if tidy is not installed.
// This means that missing tidy will be treated as a validation failure.
if ( is_resource( $process ) ) {
* @return string
*/
public function getPageUrl( TitleValue $page, $params = array() ) {
- //TODO: move the code from Linker::linkUrl here!
- //The below is just a rough estimation!
+ // TODO: move the code from Linker::linkUrl here!
+ // The below is just a rough estimation!
$name = $this->formatter->getPrefixedText( $page );
$name = str_replace( ' ', '_', $name );
MWNamespace::hasGenderDistinction( $namespace )
) {
- //NOTE: we are assuming here that the title text is a user name!
+ // NOTE: we are assuming here that the title text is a user name!
$gender = $this->genderCache->getGenderOf( $text, __METHOD__ );
$name = $this->language->getGenderNsText( $namespace, $gender );
} else {
# Disallow Talk:File:x type titles...
throw new MalformedTitleException( 'title-invalid-talk-namespace', $text );
} elseif ( Interwiki::isValidInterwiki( $x[1] ) ) {
- //TODO: get rid of global state!
+ // TODO: get rid of global state!
# Disallow Talk:Interwiki:x type titles...
throw new MalformedTitleException( 'title-invalid-talk-namespace', $text );
}
'<a href',
'<body',
'<head',
- '<html', #also in safari
+ '<html', # also in safari
'<img',
'<pre',
- '<script', #also in safari
+ '<script', # also in safari
'<table'
);
}
}
- return false; //No scripts detected
+ return false; // No scripts detected
}
/**
$output = trim( $output );
if ( !$output ) {
- $output = true; #if there's no output, return true
+ $output = true; # if there's no output, return true
} elseif ( $msgPattern ) {
$groups = array();
if ( preg_match( $msgPattern, $output, $groups ) ) {
// an instance of UploadStash
private $stash;
- //LocalFile repo
+ // LocalFile repo
private $repo;
/**
// text should be splited by ";" only if a valid variant
// name exist after the markup, for example:
// -{zh-hans:<span style="font-size:120%;">xxx</span>;zh-hant:\
- // <span style="font-size:120%;">yyy</span>;}-
+ // <span style="font-size:120%;">yyy</span>;}-
// we should split it as:
// array(
- // [0] => 'zh-hans:<span style="font-size:120%;">xxx</span>'
- // [1] => 'zh-hant:<span style="font-size:120%;">yyy</span>'
- // [2] => ''
- // )
+ // [0] => 'zh-hans:<span style="font-size:120%;">xxx</span>'
+ // [1] => 'zh-hant:<span style="font-size:120%;">yyy</span>'
+ // [2] => ''
+ // )
$pat = '/;\s*(?=';
foreach ( $this->mVariants as $variant ) {
// zh-hans:xxx;zh-hant:yyy
$roundFrontVowels = array( "ө", "ү", "ö", "ü" );
$unroundBackVowels = array( "а", "ы", "я", "a", "y" );
$roundBackVowels = array( "ё", "о", "у", "ю", "o", "u" );
- //$voicedPhonemes = array( "д", "б", "з", "ж", "г", "d", "b", "z", "g" );
+ // $voicedPhonemes = array( "д", "б", "з", "ж", "г", "d", "b", "z", "g" );
$unvoicedPhonemes = array( "т", "п", "с", "ш", "к", "ч", "х", "t", "p", "s", "k", "x" );
$directiveUnvoicedStems = array( "т", "п", "с", "ш", "к", "ч", "х", "л",
"м", "н", "ң", "t", "p", "s", "k", "x", "l", "m", "n", "ŋ" );
$directiveVoicedStems = array( "д", "б", "з", "ж", "г", "р", "й", "d", "b", "z", "g", "r", "j" );
- //$allSonants = array("л", "м", "н", "ң", "р", "й");
- //$allNasals = array("м", "н", "ң");
+ // $allSonants = array("л", "м", "н", "ң", "р", "й");
+ // $allNasals = array("м", "н", "ң");
- //Put the word in a form we can play with since we're using UTF-8
+ // Put the word in a form we can play with since we're using UTF-8
preg_match_all( '/./us', $word, $ar );
// Here's the last letter in the word
}
# Save additional script dependant options to display
- # them separately in help
+ # them separately in help
$this->mDependantParameters = array_diff_key( $this->mParams, $this->mGenericParameters );
}
while ( $this->reader->read() ) {
switch ( $this->reader->nodeType ) {
case XMLReader::TEXT:
- //case XMLReader::WHITESPACE:
+ // case XMLReader::WHITESPACE:
case XMLReader::SIGNIFICANT_WHITESPACE:
$buffer .= $this->reader->value;
break;
}
$dbw->freeResult( $res );
# $this->output( "rowOffset: $rowOffset\ttuplesAdded: "
- # . "$tuplesAdded\tnumBadLinks: $numBadLinks\n" );
+ # . "$tuplesAdded\tnumBadLinks: $numBadLinks\n" );
if ( $tuplesAdded != 0 ) {
if ( $reportLinksConvProgress ) {
$this->output( "Inserting $tuplesAdded tuples into $links_temp..." );
function getReport() {
$s = "Title: " . $this->title->getPrefixedDBkey() . "\n" .
-// "Output type: {$this->outputType}\n" .
+// "Output type: {$this->outputType}\n" .
"Entry point: {$this->entryPoint}\n" .
"User: " . ( $this->fancySig ? 'fancy' : 'no-fancy' ) .
' ' . var_export( $this->nickname, true ) . "\n" .
parent::__construct();
global $wgUpdateCompatibleMetadata;
- //make sure to update old, but compatible img_metadata fields.
+ // make sure to update old, but compatible img_metadata fields.
$wgUpdateCompatibleMetadata = true;
$this->mDescription = 'Script to update image metadata records';
if ( false !== strpos( $row->old_flags, 'gzip' )
|| false !== strpos( $row->old_flags, 'object' )
) {
- #print "Already compressed row {$row->old_id}\n";
+ # print "Already compressed row {$row->old_id}\n";
return false;
}
$dbw = wfGetDB( DB_MASTER );
# Don't work with current revisions
# Don't lock the page table for update either -- TS 2006-04-04
- #$tables[] = 'page';
- #$conds[] = 'page_id=rev_page AND rev_id != page_latest';
+ # $tables[] = 'page';
+ # $conds[] = 'page_id=rev_page AND rev_id != page_latest';
for ( $pageId = $startId; $pageId <= $maxPageId; $pageId++ ) {
wfWaitForSlaves();
if ( $text === false ) {
$this->error( "\nError, unable to get text in old_id $oldid" );
- #$dbw->delete( 'old', array( 'old_id' => $oldid ) );
+ # $dbw->delete( 'old', array( 'old_id' => $oldid ) );
}
if ( $extdb == "" && $j == 0 ) {
}
static function getFakeTimestamp( &$parser, &$ts ) {
- $ts = 123; //parsed as '1970-01-01T00:02:03Z'
+ $ts = 123; // parsed as '1970-01-01T00:02:03Z'
return true;
}
}
* @param bool $isHtml
*/
public static function assertTag( $matcher, $actual, $message = '', $isHtml = true ) {
- //trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
+ // trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
self::assertTrue( self::tagMatch( $matcher, $actual, $isHtml ), $message );
}
* @param bool $isHtml
*/
public static function assertNotTag( $matcher, $actual, $message = '', $isHtml = true ) {
- //trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
+ // trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
self::assertFalse( self::tagMatch( $matcher, $actual, $isHtml ), $message );
}
$page->doEditContent( $content, "base text for test" );
$this->forceRevisionDate( $page, '20120101000000' );
- //sanity check
+ // sanity check
$page->clear();
$currentText = ContentHandler::getContentText( $page->getContent() );
$textWithNewSectionAdded = "$text\n$newSection";
return array(
- array( #0
+ array( # 0
$text,
'',
'hello',
'hello'
),
- array( #1
+ array( # 1
$text,
'1',
$sectionOne,
$textWithNewSectionOne,
),
- array( #2
+ array( # 2
$text,
'new',
'hello',
public static function provideAutoMerge() {
$tests = array();
- $tests[] = array( #0: plain conflict
+ $tests[] = array( # 0: plain conflict
"Elmo", # base edit user
"one\n\ntwo\n\nthree\n",
- array( #adam's edit
+ array( # adam's edit
'wpStarttime' => 1,
'wpTextbox1' => "ONE\n\ntwo\n\nthree\n",
),
- array( #berta's edit
+ array( # berta's edit
'wpStarttime' => 2,
'wpTextbox1' => "(one)\n\ntwo\n\nthree\n",
),
'expected edit conflict', # message
);
- $tests[] = array( #1: successful merge
+ $tests[] = array( # 1: successful merge
"Elmo", # base edit user
"one\n\ntwo\n\nthree\n",
- array( #adam's edit
+ array( # adam's edit
'wpStarttime' => 1,
'wpTextbox1' => "ONE\n\ntwo\n\nthree\n",
),
- array( #berta's edit
+ array( # berta's edit
'wpStarttime' => 2,
'wpTextbox1' => "one\n\ntwo\n\nTHREE\n",
),
// generate expected text after merge
$expected = str_replace( 'one', 'ONE', str_replace( 'three', 'THREE', $text ) );
- $tests[] = array( #2: merge in section
+ $tests[] = array( # 2: merge in section
"Elmo", # base edit user
$text,
- array( #adam's edit
+ array( # adam's edit
'wpStarttime' => 1,
'wpTextbox1' => str_replace( 'one', 'ONE', $section ),
'wpSection' => '1'
),
- array( #berta's edit
+ array( # berta's edit
'wpStarttime' => 2,
'wpTextbox1' => str_replace( 'three', 'THREE', $section ),
'wpSection' => '1'
) {
$this->checkHasDiff3();
- //create page
+ // create page
$ns = $this->getDefaultWikitextNS();
$title = Title::newFromText( 'EditPageTest_testAutoMerge', $ns );
$page = WikiPage::factory( $title );
$sampleUTF = "Östergötland_coat_of_arms.png";
- //mb_substr
+ // mb_substr
$substr_params = array(
array( 0, 0 ),
array( 5, -4 ),
);
}
- //mb_strlen
+ // mb_strlen
$this->assertEquals(
mb_strlen( $sampleUTF ),
Fallback::mb_strlen( $sampleUTF ),
'Fallback mb_strlen'
);
- //mb_str(r?)pos
+ // mb_str(r?)pos
$strpos_params = array(
- //array( 'ter' ),
- //array( 'Ö' ),
- //array( 'Ö', 3 ),
- //array( 'oat_', 100 ),
- //array( 'c', -10 ),
- //Broken for now
+ // array( 'ter' ),
+ // array( 'Ö' ),
+ // array( 'Ö', 3 ),
+ // array( 'oat_', 100 ),
+ // array( 'c', -10 ),
+ // Broken for now
);
foreach ( $strpos_params as $param_set ) {
$this->setMwGlobals( array(
'wgDebugLogFile' => $debugLogFile,
- # @todo FIXME: $wgDebugTimestamps should be tested
+ # @todo FIXME: $wgDebugTimestamps should be tested
'wgDebugTimestamps' => false
) );
'gzip;q=1.0' => true,
'foozip' => false,
'foo*zip' => false,
- 'gzip;q=abcde' => true, //is this REALLY valid?
+ 'gzip;q=abcde' => true, // is this REALLY valid?
'gzip;q=12345678.9' => true,
' gzip' => true,
);
* @covers ::wfUrlencode
*/
class WfUrlencodeTest extends MediaWikiTestCase {
- #### TESTS ##############################################################
+ # ### TESTS ##############################################################
/**
* @dataProvider provideURLS
$this->verifyEncodingFor( 'Microsoft-IIS/7', $input, $expected );
}
- #### HELPERS #############################################################
+ # ### HELPERS #############################################################
/**
* Internal helper that actually run the test.
}
}
- #### PROVIDERS ###########################################################
+ # ### PROVIDERS ###########################################################
/**
* Format is either:
*/
public static function provideURLS() {
return array(
- ### RFC 1738 chars
+ # ## RFC 1738 chars
// + is not safe
array( '+', '%2B' ),
// & and = not safe in queries
';@$-_.!*',
),
- ### Other tests
+ # ## Other tests
// slash remain unchanged. %2F seems to break things
array( '/', '/' ),
// T105265
*/
public function testExpandAttributesSkipsNullAndFalse() {
- ### EMPTY ########
+ # ## EMPTY ########
$this->assertEmpty(
Html::expandAttributes( array( 'foo' => null ) ),
'skip keys with null value'
* @covers Html::expandAttributes
*/
public function testExpandAttributesVariousExpansions() {
- ### NOT EMPTY ####
+ # ## NOT EMPTY ####
$this->assertEquals(
' empty_string=""',
Html::expandAttributes( array( 'empty_string' => '' ) ),
* @covers Html::expandAttributes
*/
public function testExpandAttributesListValueAttributes() {
- ### STRING VALUES
+ # ## STRING VALUES
$this->assertEquals(
' class="redundant spaces here"',
Html::expandAttributes( array( 'class' => ' redundant spaces here ' ) ),
Html::expandAttributes( array( 'class' => 'foo bar foo bar bar' ) ),
'Normalization should remove duplicates in string-lists'
);
- ### "EMPTY" ARRAY VALUES
+ # ## "EMPTY" ARRAY VALUES
$this->assertEquals(
' class=""',
Html::expandAttributes( array( 'class' => array() ) ),
Html::expandAttributes( array( 'class' => array( null, '', ' ', ' ' ) ) ),
'Array with null, empty string and spaces'
);
- ### NON-EMPTY ARRAY VALUES
+ # ## NON-EMPTY ARRAY VALUES
$this->assertEquals(
' class="foo bar"',
Html::expandAttributes( array( 'class' => array(
# Will be mapped to Html::element()
$cases = array();
- ### Generic cases, match $attribDefault static array
+ # ## Generic cases, match $attribDefault static array
$cases[] = array( '<area>',
'area', array( 'shape' => 'rect' )
);
'textarea', array( 'wrap' => 'soft' )
);
- ### SPECIFIC CASES
+ # ## SPECIFIC CASES
# <link type="text/css">
$cases[] = array( '<link>',
# (\S+) - host part is made of anything not whitespaces
// commented these out in order to remove @group Broken
// @todo are these valid tests? if so, fix Http::isValidURI so it can handle them
- //array( false, 'http://!"èèè¿¿¿~~\'', 'hostname is made of any non whitespace' ),
- //array( false, 'http://exam:ple.org/', 'hostname can not use colons!' ),
+ // array( false, 'http://!"èèè¿¿¿~~\'', 'hostname is made of any non whitespace' ),
+ // array( false, 'http://exam:ple.org/', 'hostname can not use colons!' ),
# (:[0-9]+)? - port number
array( true, 'http://example.org:80/' ),
//
// array( null, 'http://*.test.com', 'http://www.test.com:80', false ),
// array( '', 'https://*.wikimedia.org/r/#/q/status:open,n,z',
- // 'https://gerrit.wikimedia.org/XXX/r/#/q/status:open,n,z', false ),
+ // 'https://gerrit.wikimedia.org/XXX/r/#/q/status:open,n,z', false ),
);
}
# - optional message
return array(
- ### ANONYMOUS USER ########################################
+ # ## ANONYMOUS USER ########################################
array(
'<a href="/wiki/Special:Contributions/JohnDoe" '
. 'title="Special:Contributions/JohnDoe" '
'Anonymous with IPv4 and an alternative username'
),
- ### Regular user ##########################################
+ # ## Regular user ##########################################
# TODO!
);
}
) );
}
-#### START OF TESTS #########################################################
+# ### START OF TESTS #########################################################
/**
* @todo Write more texts, handle $wgAllowImageMoving setting
$this->assertEquals( NS_MAIN, MWNamespace::getAssociated( NS_TALK ) );
}
- ### Exceptions with getAssociated()
- ### NS_MEDIA and NS_SPECIAL do not have talk pages. MediaWiki raises
- ### an exception for them.
+ # ## Exceptions with getAssociated()
+ # ## NS_MEDIA and NS_SPECIAL do not have talk pages. MediaWiki raises
+ # ## an exception for them.
/**
* @expectedException MWException
* @covers MWNamespace::getAssociated
$this->assertFalse( MWNamespace::isNonincludable( NS_TEMPLATE ) );
}
- ####### HELPERS ###########################################################
+ # ###### HELPERS ###########################################################
function __call( $method, $args ) {
// Call the real method if it exists
if ( method_exists( $this, $method ) ) {
$res = Revision::fetchRevision( $page->getTitle() );
- #note: order is unspecified
+ # note: order is unspecified
$rows = array();
while ( ( $row = $res->fetchObject() ) ) {
$rows[$row->rev_id] = $row;
$this->assertNull( $rev->getContent(),
"getContent() should return null if the revision's text blob could not be loaded." );
- //NOTE: check this twice, once for lazy initialization, and once with the cached value.
+ // NOTE: check this twice, once for lazy initialization, and once with the cached value.
$this->assertNull( $rev->getContent(),
"getContent() should return null if the revision's text blob could not be loaded." );
}
public static function provideUserWasLastToEdit() {
return array(
- array( #0
+ array( # 0
3, true, # actually the last edit
),
- array( #1
+ array( # 1
2, true, # not the current edit, but still by this user
),
- array( #2
+ array( # 2
1, false, # edit by another user
),
- array( #3
+ array( # 3
0, false, # first edit, by this user, but another user edited in the mean time
),
);
}
function dataGetContentModel() {
- //NOTE: we expect the help namespace to always contain wikitext
+ // NOTE: we expect the help namespace to always contain wikitext
return array(
array( 'hello world', 'Help:Hello', null, null, CONTENT_MODEL_WIKITEXT ),
array( 'hello world', 'User:hello/there.css', null, null, CONTENT_MODEL_CSS ),
}
function dataGetContentFormat() {
- //NOTE: we expect the help namespace to always contain wikitext
+ // NOTE: we expect the help namespace to always contain wikitext
return array(
array( 'hello world', 'Help:Hello', null, null, CONTENT_FORMAT_WIKITEXT ),
array( 'hello world', 'Help:Hello', CONTENT_MODEL_CSS, null, CONTENT_FORMAT_CSS ),
}
function dataGetContentHandler() {
- //NOTE: we expect the help namespace to always contain wikitext
+ // NOTE: we expect the help namespace to always contain wikitext
return array(
array( 'hello world', 'Help:Hello', null, null, 'WikitextContentHandler' ),
array( 'hello world', 'User:hello/there.css', null, null, 'CssContentHandler' ),
}
function dataGetContent() {
- //NOTE: we expect the help namespace to always contain wikitext
+ // NOTE: we expect the help namespace to always contain wikitext
return array(
array( 'hello world', 'Help:Hello', null, null, Revision::FOR_PUBLIC, 'hello world' ),
array(
}
function dataGetText() {
- //NOTE: we expect the help namespace to always contain wikitext
+ // NOTE: we expect the help namespace to always contain wikitext
return array(
array( 'hello world', 'Help:Hello', null, null, Revision::FOR_PUBLIC, 'hello world' ),
array( serialize( 'hello world' ), 'Hello', "testing", null, Revision::FOR_PUBLIC, null ),
// and the first call to the setUp method. Because of that you can't access any variables
// you create there from within a data provider."
// http://phpunit.de/manual/3.7/en/writing-tests-for-phpunit.html
-// $status = new Status();
-// $status->warning( 'fooBar!' );
-// $status->warning( 'fooBar2!' );
-// $testCases[ '2StringWarnings' ] = array(
-// $status,
-// array( new Message( 'fooBar!' ), new Message( 'fooBar2!' ) ),
-// "* \$1\n* \$2"
-// );
+// $status = new Status();
+// $status->warning( 'fooBar!' );
+// $status->warning( 'fooBar2!' );
+// $testCases[ '2StringWarnings' ] = array(
+// $status,
+// array( new Message( 'fooBar!' ), new Message( 'fooBar2!' ) ),
+// "* \$1\n* \$2"
+// );
$status = new Status();
$status->warning( new Message( 'fooBar!', array( 'foo', 'bar' ) ) );
$this->assertEquals( $expected, $object->valid() );
}
- //@todo unit test for key()
- //@todo unit test for next()
- //@todo unit test for rewind()
+ // @todo unit test for key()
+ // @todo unit test for next()
+ // @todo unit test for rewind()
}
);
if ( $this->isWikitextNS( NS_MAIN ) ) {
- //NOTE: some content models don't allow moving
+ // NOTE: some content models don't allow moving
// @todo find a Wikitext namespace for testing
$this->setTitle( NS_MAIN );
// XML/HTML character entity references
// Note: Commented out because they are not marked invalid by the PHP test as
// Title::newFromText runs Sanitizer::decodeCharReferencesAndNormalize first.
- //'A é B',
- //'A é B',
- //'A é B',
+ // 'A é B',
+ // 'A é B',
+ // 'A é B',
// Subject of NS_TALK does not roundtrip to NS_MAIN
array( 'Talk:File:Example.svg', 'title-invalid-talk-namespace' ),
// Directory navigation
$this->assertEquals( $expected, $object->valid() );
}
- //@todo unit test for key()
- //@todo unit test for next()
- //@todo unit test for rewind()
+ // @todo unit test for key()
+ // @todo unit test for next()
+ // @todo unit test for rewind()
}
*/
public static function provideEditAppend() {
return array(
- array( #0: append
+ array( # 0: append
'foo', 'append', 'bar', "foobar"
),
- array( #1: prepend
+ array( # 1: prepend
'foo', 'prepend', 'bar', "barfoo"
),
- array( #2: append to empty page
+ array( # 2: append to empty page
'', 'append', 'foo', "foo"
),
- array( #3: prepend to empty page
+ array( # 3: prepend to empty page
'', 'prepend', 'foo', "foo"
),
- array( #4: append to non-existing page
+ array( # 4: append to non-existing page
null, 'append', 'foo', "foo"
),
- array( #5: prepend to non-existing page
+ array( # 5: prepend to non-existing page
null, 'prepend', 'foo', "foo"
),
);
$this->getTokens();
if ( !Title::newFromText( 'Help:UTPage' )->exists() ) {
- $this->markTestSkipped( "The article [[Help:UTPage]] does not exist" ); //TODO: just create it?
+ $this->markTestSkipped( "The article [[Help:UTPage]] does not exist" ); // TODO: just create it?
}
$data = $this->doApiRequest( array(
return strcmp( $a, $b );
} );
$reqStr = http_build_query( $request );
- //$reqStr = str_replace( '&', ' & ', $reqStr );
+ // $reqStr = str_replace( '&', ' & ', $reqStr );
$this->assertLessThan( $expectedCount, $count, "$id more data: $reqStr" );
if ( $this->mVerbose ) {
print "$id (#$count): $reqStr\n";
class GenderCacheTest extends MediaWikiLangTestCase {
function addDBData() {
- //ensure the correct default gender
+ // ensure the correct default gender
$this->mergeMwGlobalArrayValue( 'wgDefaultUserOptions', array( 'gender' => 'unknown' ) );
$user = User::newFromName( 'UTMale' );
$user->addToDatabase();
$user->setPassword( 'UTMalePassword' );
}
- //ensure the right gender
+ // ensure the right gender
$user->setOption( 'gender', 'male' );
$user->saveSettings();
$user->addToDatabase();
$user->setPassword( 'UTFemalePassword' );
}
- //ensure the right gender
+ // ensure the right gender
$user->setOption( 'gender', 'female' );
$user->saveSettings();
$user->addToDatabase();
$user->setPassword( 'UTDefaultGenderPassword' );
}
- //ensure the default gender
+ // ensure the default gender
$user->setOption( 'gender', null );
$user->saveSettings();
}
array( 'UTFemale', 'female' ),
array( 'UTDefaultGender', 'unknown' ),
array( 'UTNotExist', 'unknown' ),
- //some not valid user
+ // some not valid user
array( '127.0.0.1', 'unknown' ),
array( 'user@test', 'unknown' ),
);
public static function dataPreSaveTransform() {
return array(
array(
- #0: no signature resolution
+ # 0: no signature resolution
'hello this is ~~~',
'hello this is ~~~',
),
array(
- #1: rtrim
+ # 1: rtrim
" Foo \n ",
' Foo',
),
$update = $updates[$class];
foreach ( $fieldValues as $field => $value ) {
- $v = $update->$field; #if the field doesn't exist, just crash and burn
+ $v = $update->$field; # if the field doesn't exist, just crash and burn
$this->assertEquals( $value, $v, "unexpected value for field $field in instance of $class" );
}
}
$update = $updates[$class];
foreach ( $fieldValues as $field => $value ) {
- $v = $update->$field; #if the field doesn't exist, just crash and burn
+ $v = $update->$field; # if the field doesn't exist, just crash and burn
$this->assertEquals( $value, $v, "unexpected value for field $field in instance of $class" );
}
}
// Versions tested
$versions = array(
- //'1.13', disabled for now, was totally screwed up
+ // '1.13', disabled for now, was totally screwed up
// SQLite wasn't included in 1.14
'1.15',
'1.16',
) {
$update = new LinksUpdate( $title, $parserOutput );
- //NOTE: make sure LinksUpdate does not generate warnings when called inside a transaction.
+ // NOTE: make sure LinksUpdate does not generate warnings when called inside a transaction.
$update->beginTransaction();
$update->doUpdate();
$update->commitTransaction();
array( "$base/unittest-cont1/e/a/z/some_file1.txt", true ),
array( "$base/unittest-cont2/a/z/some_file2.txt", true ),
# Specific to FS backend with no basePath field set
- #array( "$base/unittest-cont3/a/z/some_file3.txt", false ),
+ # array( "$base/unittest-cont3/a/z/some_file3.txt", false ),
);
}
$this->assertEquals( true, $status->isOK(),
"Locking of files succeeded with OK status ($backendName) ($i)." );
- ## Flip the acquire/release ordering around ##
+ # # Flip the acquire/release ordering around ##
$status = $this->backend->lockFiles( $paths, LockManager::LOCK_SH );
$this->assertEquals( print_r( array(), true ), print_r( $status->errors, true ),
protected function setUp() {
parent::setUp();
- //cli tool setup
+ // cli tool setup
$djvuSupport = new DjVuSupport();
if ( !$djvuSupport->isEnabled() ) {
public function testGetMetadata( $filename, $expected ) {
$file = $this->dataFile( $filename, 'image/png' );
$actual = $this->handler->getMetadata( $file, "$this->filePath/$filename" );
-// $this->assertEquals( unserialize( $expected ), unserialize( $actual ) );
+// $this->assertEquals( unserialize( $expected ), unserialize( $actual ) );
$this->assertEquals( ( $expected ), ( $actual ) );
}
$this->hideDeprecated( "WikiPage::getText" );
$this->hideDeprecated( "Revision::getText" );
- //NOTE: assume help namespace will default to wikitext
+ // NOTE: assume help namespace will default to wikitext
$title = Title::newFromText( "Help:WikiPageTest_testDoEdit" );
$page = $this->newPage( $title );
$this->hideDeprecated( "WikiPage::doQuickEdit" );
- //NOTE: assume help namespace will default to wikitext
+ // NOTE: assume help namespace will default to wikitext
$page = $this->createPage( "Help:WikiPageTest_testDoQuickEdit", "original text" );
$text = "quick text";
";
public function dataReplaceSection() {
- //NOTE: assume the Help namespace to contain wikitext
+ // NOTE: assume the Help namespace to contain wikitext
return array(
array( 'Help:WikiPageTest_testReplaceSection',
CONTENT_MODEL_WIKITEXT,
$this->assertEquals( 'Admin', $rev1->getUserText() );
# now, try the actual rollback
- $admin->addGroup( "sysop" ); #XXX: make the test user a sysop...
+ $admin->addGroup( "sysop" ); # XXX: make the test user a sysop...
$token = $admin->getEditToken(
array( $page->getTitle()->getPrefixedText(), $user2->getName() ),
null
);
# now, try the rollback
- $admin->addGroup( "sysop" ); #XXX: make the test user a sysop...
+ $admin->addGroup( "sysop" ); # XXX: make the test user a sysop...
$token = $admin->getEditToken(
array( $page->getTitle()->getPrefixedText(), $user1->getName() ),
null
public function testDoRollbackFailureSameContent() {
$admin = new User();
$admin->setName( "Admin" );
- $admin->addGroup( "sysop" ); #XXX: make the test user a sysop...
+ $admin->addGroup( "sysop" ); # XXX: make the test user a sysop...
$text = "one";
$page = $this->newPage( "WikiPageTest_testDoRollback" );
$user1 = new User();
$user1->setName( "127.0.1.11" );
- $user1->addGroup( "sysop" ); #XXX: make the test user a sysop...
+ $user1->addGroup( "sysop" ); # XXX: make the test user a sysop...
$text .= "\n\ntwo";
$page = new WikiPage( $page->getTitle() );
$page->doEditContent(
public function testGetAutoDeleteReason( $edits, $expectedResult, $expectedHistory ) {
global $wgUser;
- //NOTE: assume Help namespace to contain wikitext
+ // NOTE: assume Help namespace to contain wikitext
$page = $this->newPage( "Help:WikiPageTest_testGetAutoDeleteReason" );
$c = 1;
$user = new User();
$user->setName( "127.0.0.1" );
- //NOTE: assume Help namespace to contain wikitext
+ // NOTE: assume Help namespace to contain wikitext
$page = $this->newPage( "Help:WikiPageTest_testPreloadTransform" );
$text = $page->preSaveTransform( $text, $user );
return self::createProviderUpTo( 31 );
}
- ############### TESTS #############################################
+ # ############## TESTS #############################################
# @todo FIXME:
# - those got copy pasted, we can probably make them cleaner
# - tests are lacking useful messages
$this->assertUnPadded( 'revisionmonth1', $month );
}
- ############### HELPERS ############################################
+ # ############## HELPERS ############################################
/** assertion helper expecting a magic output which is zero padded */
public function assertZeroPadded( $magic, $value ) {
);
# please keep the following commented line of code. It helps debugging.
- //print "\nDEBUG (value $value):" . sprintf( '2010%02d%02d123456', $value, $value ) . "\n";
+ // print "\nDEBUG (value $value):" . sprintf( '2010%02d%02d123456', $value, $value ) . "\n";
# format expectation and test it
$expected = sprintf( $format, $value );
public $functionHooks = array();
public $transparentHooks = array();
- //Fuzz test
+ // Fuzz test
public $maxFuzzTestLength = 300;
public $fuzzSeed = 0;
public $memoryLimit = 50;
parent::setUp();
- //Setup CLI arguments
+ // Setup CLI arguments
if ( $this->getCliArg( 'regex' ) ) {
$this->regex = $this->getCliArg( 'regex' );
} else {
function addDBData() {
$this->tablesUsed[] = 'site_stats';
# disabled for performance
- #$this->tablesUsed[] = 'image';
+ # $this->tablesUsed[] = 'image';
# Update certain things in site_stats
$this->db->insert( 'site_stats',
}
}
- //ParserTest setup/teardown functions
+ // ParserTest setup/teardown functions
/**
* Set up the global variables for a consistent environment for each test.
foreach ( $configLines as $line ) {
list( $var, $value ) = explode( '=', $line, 2 );
- $settings[$var] = eval( "return $value;" ); //???
+ $settings[$var] = eval( "return $value;" ); // ???
}
}
public function testParserTest( $desc, $input, $result, $opts, $config ) {
if ( $this->regex != '' && !preg_match( '/' . $this->regex . '/', $desc ) ) {
$this->assertTrue( true ); // XXX: don't flood output with "test made no assertions"
- //$this->markTestSkipped( 'Filtered out by the user' );
+ // $this->markTestSkipped( 'Filtered out by the user' );
return;
}
if ( $id % 100 == 0 ) {
$usage = intval( memory_get_usage( true ) / $this->memoryLimit / 1048576 * 100 );
- //echo "{$this->fuzzSeed}: $numSuccess/$numTotal (mem: $usage%)\n";
+ // echo "{$this->fuzzSeed}: $numSuccess/$numTotal (mem: $usage%)\n";
if ( $usage > 90 ) {
$ret = "Out of memory:\n";
$memStats = $this->getMemoryBreakdown();
}
}
- //Various getter functions
+ // Various getter functions
/**
* Get an input dictionary from a set of parser test files
return $parser;
}
- //Various action functions
+ // Various action functions
public function addArticle( $name, $text, $line ) {
self::$articles[$name] = array( $text, $line );
return isset( $wgParser->mTransparentTagHooks[$name] );
}
- //Various "cleanup" functions
+ // Various "cleanup" functions
/**
* Remove last character if it is a newline
}
}
- //Test options parser functions
+ // Test options parser functions
protected function parseOptions( $instring ) {
$opts = array();
public function provideMaxOfPolicies() {
return array(
array(
- array( 'MinimalPasswordLength' => 8 ), //p1
- array( 'MinimalPasswordLength' => 2 ), //p2
- array( 'MinimalPasswordLength' => 8 ), //max
+ array( 'MinimalPasswordLength' => 8 ), // p1
+ array( 'MinimalPasswordLength' => 2 ), // p2
+ array( 'MinimalPasswordLength' => 8 ), // max
'Basic max in p1'
),
array(
- array( 'MinimalPasswordLength' => 2 ), //p1
- array( 'MinimalPasswordLength' => 8 ), //p2
- array( 'MinimalPasswordLength' => 8 ), //max
+ array( 'MinimalPasswordLength' => 2 ), // p1
+ array( 'MinimalPasswordLength' => 8 ), // p2
+ array( 'MinimalPasswordLength' => 8 ), // max
'Basic max in p2'
),
array(
- array( 'MinimalPasswordLength' => 8 ), //p1
+ array( 'MinimalPasswordLength' => 8 ), // p1
array(
'MinimalPasswordLength' => 2,
'PasswordCannotMatchUsername' => 1,
- ), //p2
+ ), // p2
array(
'MinimalPasswordLength' => 8,
'PasswordCannotMatchUsername' => 1,
- ), //max
+ ), // max
'Missing items in p1'
),
array(
array(
'MinimalPasswordLength' => 8,
'PasswordCannotMatchUsername' => 1,
- ), //p1
+ ), // p1
array(
'MinimalPasswordLength' => 2,
- ), //p2
+ ), // p2
array(
'MinimalPasswordLength' => 8,
'PasswordCannotMatchUsername' => 1,
- ), //max
+ ), // max
'Missing items in p2'
),
);
$site = new MediaWikiSite();
$site->setGlobalId( 'enwiki' );
- //NOTE: this does not actually call out to the enwiki site to perform the normalization,
+ // NOTE: this does not actually call out to the enwiki site to perform the normalization,
// but uses a local Title object to do so. This is hardcoded on SiteLink::normalizePageTitle
// for the case that MW_PHPUNIT_TEST is set.
$this->assertEquals( 'Foo', $site->normalizePageName( ' foo ' ) );
}
public static function provideGetPageUrl() {
- //NOTE: the assumption that the URL is built by replacing $1
+ // NOTE: the assumption that the URL is built by replacing $1
// with the urlencoded version of $page
// is true for Site but not guaranteed for subclasses.
// Subclasses need to override this provider appropriately.
return array(
- array( #0
+ array( # 0
'http://acme.test/TestPath/$1',
'Foo',
'/TestPath/Foo',
),
- array( #1
+ array( # 1
'http://acme.test/TestScript?x=$1&y=bla',
'Foo',
'TestScript?x=Foo&y=bla',
),
- array( #2
+ array( # 2
'http://acme.test/TestPath/$1',
'foo & bar/xyzzy (quux-shmoox?)',
'/TestPath/foo%20%26%20bar%2Fxyzzy%20%28quux-shmoox%3F%29',
public function testGetPageUrl( $path, $page, $expected ) {
$site = new Site();
- //NOTE: the assumption that getPageUrl is based on getLinkPath
+ // NOTE: the assumption that getPageUrl is based on getLinkPath
// is true for Site but not guaranteed for subclasses.
// Subclasses need to override this test case appropriately.
$site->setLinkPath( $path );
$languageCodes = array(
'de',
'en',
- 'fa', //right-to-left
+ 'fa', // right-to-left
'nl',
'nn',
'no',
$this->rc->setContext( $context );
$formOptions = $this->rc->setup( null );
- # Filter out rc_timestamp conditions which depends on the test runtime
+ # Filter out rc_timestamp conditions which depends on the test runtime
# This condition is not needed as of march 2, 2011 -- hashar
# @todo FIXME: Find a way to generate the correct rc_timestamp
$queryConditions = array_filter(
'!<a .*href=".*?Foo_Bar.*?".*?>Foo Bar</a>!'
),
array(
- //NOTE: Linker doesn't include fragments in "broken" links
- //NOTE: once this no longer uses Linker, we will get "2" instead of "User" for the namespace.
+ // NOTE: Linker doesn't include fragments in "broken" links
+ // NOTE: once this no longer uses Linker, we will get "2" instead of "User" for the namespace.
new TitleValue( NS_USER, 'Hansi_Maier', 'stuff' ),
'Hansi Maier\'s Stuff',
'!<a .*href=".*?User:Hansi_Maier.*?>Hansi Maier\'s Stuff</a>!'
),
array(
- //NOTE: Linker doesn't include fragments in "broken" links
- //NOTE: once this no longer uses Linker, we will get "2" instead of "User" for the namespace.
+ // NOTE: Linker doesn't include fragments in "broken" links
+ // NOTE: once this no longer uses Linker, we will get "2" instead of "User" for the namespace.
new TitleValue( NS_USER, 'Hansi_Maier', 'stuff' ),
null,
'!<a .*href=".*?User:Hansi_Maier.*?>User:Hansi Maier#stuff</a>!'
}
public static function provideParseTitle() {
- //TODO: test capitalization and trimming
- //TODO: test unicode normalization
+ // TODO: test capitalization and trimming
+ // TODO: test unicode normalization
return array(
array( ' : Hansi_Maier _ ', NS_MAIN, 'en',
array( ' _ Foo __ Bar_ _', NS_MAIN, 'en',
new TitleValue( NS_MAIN, 'Foo_Bar' ) ),
- //NOTE: cases copied from TitleTest::testSecureAndSplit. Keep in sync.
+ // NOTE: cases copied from TitleTest::testSecureAndSplit. Keep in sync.
array( 'Sandbox', NS_MAIN, 'en', ),
array( 'A "B"', NS_MAIN, 'en', ),
array( 'A \'B\'', NS_MAIN, 'en', ),
}
public static function provideParseTitle_invalid() {
- //TODO: test unicode errors
+ // TODO: test unicode errors
return array(
array( '#' ),
array( '::1' ), // only valid in user namespace
array( 'User::x' ), // leading ":" in a user name is only valid of IPv6 addresses
- //NOTE: cases copied from TitleTest::testSecureAndSplit. Keep in sync.
+ // NOTE: cases copied from TitleTest::testSecureAndSplit. Keep in sync.
array( '' ),
array( ':' ),
array( '__ __' ),
// XML/HTML character entity references
// Note: Commented out because they are not marked invalid by the PHP test as
// Title::newFromText runs Sanitizer::decodeCharReferencesAndNormalize first.
- //array( 'A é B' ),
- //array( 'A é B' ),
- //array( 'A é B' ),
+ // array( 'A é B' ),
+ // array( 'A é B' ),
+ // array( 'A é B' ),
// Subject of NS_TALK does not roundtrip to NS_MAIN
array( 'Talk:File:Example.svg' ),
// Directory navigation
* @covers LanguageConverter::convertTo
*/
public function testConversionToCyrillic() {
- //A simple convertion of Latin to Cyrillic
+ // A simple convertion of Latin to Cyrillic
$this->assertEquals( 'абвг',
$this->convertToCyrillic( 'abvg' )
);
- //Same as above, but assert that -{}-s must be removed and not converted
+ // Same as above, but assert that -{}-s must be removed and not converted
$this->assertEquals( 'ljабnjвгdž',
$this->convertToCyrillic( '-{lj}-ab-{nj}-vg-{dž}-' )
);
- //A simple convertion of Cyrillic to Cyrillic
+ // A simple convertion of Cyrillic to Cyrillic
$this->assertEquals( 'абвг',
$this->convertToCyrillic( 'абвг' )
);
- //Same as above, but assert that -{}-s must be removed and not converted
+ // Same as above, but assert that -{}-s must be removed and not converted
$this->assertEquals( 'ljабnjвгdž',
$this->convertToCyrillic( '-{lj}-аб-{nj}-вг-{dž}-' )
);
- //This text has some Latin, but is recognized as Cyrillic, so it should not be converted
+ // This text has some Latin, but is recognized as Cyrillic, so it should not be converted
$this->assertEquals( 'abvgшђжчћ',
$this->convertToCyrillic( 'abvgшђжчћ' )
);
- //Same as above, but assert that -{}-s must be removed
+ // Same as above, but assert that -{}-s must be removed
$this->assertEquals( 'љabvgњшђжчћџ',
$this->convertToCyrillic( '-{љ}-abvg-{њ}-шђжчћ-{џ}-' )
);
- //This text has some Cyrillic, but is recognized as Latin, so it should be converted
+ // This text has some Cyrillic, but is recognized as Latin, so it should be converted
$this->assertEquals( 'абвгшђжчћ',
$this->convertToCyrillic( 'абвгšđžčć' )
);
- //Same as above, but assert that -{}-s must be removed and not converted
+ // Same as above, but assert that -{}-s must be removed and not converted
$this->assertEquals( 'ljабвгnjшђжчћdž',
$this->convertToCyrillic( '-{lj}-абвг-{nj}-šđžčć-{dž}-' )
);
* @covers LanguageConverter::convertTo
*/
public function testConversionToLatin() {
- //A simple convertion of Latin to Latin
+ // A simple convertion of Latin to Latin
$this->assertEquals( 'abcd',
$this->convertToLatin( 'abcd' )
);
- //A simple convertion of Cyrillic to Latin
+ // A simple convertion of Cyrillic to Latin
$this->assertEquals( 'abcd',
$this->convertToLatin( 'абцд' )
);
- //This text has some Latin, but is recognized as Cyrillic, so it should be converted
+ // This text has some Latin, but is recognized as Cyrillic, so it should be converted
$this->assertEquals( 'abcdšđžčć',
$this->convertToLatin( 'abcdшђжчћ' )
);
- //This text has some Cyrillic, but is recognized as Latin, so it should not be converted
+ // This text has some Cyrillic, but is recognized as Latin, so it should not be converted
$this->assertEquals( 'абцдšđžčć',
$this->convertToLatin( 'абцдšđžčć' )
);
);
}
- ##### HELPERS #####################################################
+ # #### HELPERS #####################################################
/**
*Wrapper to verify text stay the same after applying conversion
* @param string $text Text to convert
);
}
- ##### HELPERS #####################################################
+ # #### HELPERS #####################################################
/**
* Wrapper to verify text stay the same after applying conversion
* @param string $text Text to convert
# Make sure we have --configuration or PHPUnit might complain
if ( !in_array( '--configuration', $_SERVER['argv'] ) ) {
- //Hack to eliminate the need to use the Makefile (which sucks ATM)
+ // Hack to eliminate the need to use the Makefile (which sucks ATM)
array_splice( $_SERVER['argv'], 1, 0,
array( '--configuration', $IP . '/tests/phpunit/suite.xml' ) );
}
$mediawiki = new MediaWiki();
$mediawiki->doPostOutputShutdown( 'fast' );
-//--------------------------------------------------------------------------
+// --------------------------------------------------------------------------
/**
* Handle a thumbnail request via thumbnail file URL