* usually the same, but they are now allowed to be different.
*/
class EditPage {
- const AS_SUCCESS_UPDATE = 200;
- const AS_SUCCESS_NEW_ARTICLE = 201;
- const AS_HOOK_ERROR = 210;
- const AS_FILTERING = 211;
- const AS_HOOK_ERROR_EXPECTED = 212;
- const AS_BLOCKED_PAGE_FOR_USER = 215;
- const AS_CONTENT_TOO_BIG = 216;
- const AS_USER_CANNOT_EDIT = 217;
- const AS_READ_ONLY_PAGE_ANON = 218;
- const AS_READ_ONLY_PAGE_LOGGED = 219;
- const AS_READ_ONLY_PAGE = 220;
- const AS_RATE_LIMITED = 221;
- const AS_ARTICLE_WAS_DELETED = 222;
- const AS_NO_CREATE_PERMISSION = 223;
- const AS_BLANK_ARTICLE = 224;
- const AS_CONFLICT_DETECTED = 225;
- const AS_SUMMARY_NEEDED = 226;
- const AS_TEXTBOX_EMPTY = 228;
- const AS_MAX_ARTICLE_SIZE_EXCEEDED = 229;
- const AS_OK = 230;
- const AS_END = 231;
- const AS_SPAM_ERROR = 232;
- const AS_IMAGE_REDIRECT_ANON = 233;
- const AS_IMAGE_REDIRECT_LOGGED = 234;
+ const AS_SUCCESS_UPDATE = 200;
+ const AS_SUCCESS_NEW_ARTICLE = 201;
+ const AS_HOOK_ERROR = 210;
+ const AS_FILTERING = 211;
+ const AS_HOOK_ERROR_EXPECTED = 212;
+ const AS_BLOCKED_PAGE_FOR_USER = 215;
+ const AS_CONTENT_TOO_BIG = 216;
+ const AS_USER_CANNOT_EDIT = 217;
+ const AS_READ_ONLY_PAGE_ANON = 218;
+ const AS_READ_ONLY_PAGE_LOGGED = 219;
+ const AS_READ_ONLY_PAGE = 220;
+ const AS_RATE_LIMITED = 221;
+ const AS_ARTICLE_WAS_DELETED = 222;
+ const AS_NO_CREATE_PERMISSION = 223;
+ const AS_BLANK_ARTICLE = 224;
+ const AS_CONFLICT_DETECTED = 225;
+ const AS_SUMMARY_NEEDED = 226;
+ const AS_TEXTBOX_EMPTY = 228;
+ const AS_MAX_ARTICLE_SIZE_EXCEEDED = 229;
+ const AS_OK = 230;
+ const AS_END = 231;
+ const AS_SPAM_ERROR = 232;
+ const AS_IMAGE_REDIRECT_ANON = 233;
+ const AS_IMAGE_REDIRECT_LOGGED = 234;
var $mArticle;
var $mTitle;
* To turn the feature on, set $wgUseMetadataEdit = true ; in LocalSettings
* and set $wgMetadataWhitelist to the *full* title of the template whitelist
*/
- function extractMetaDataFromArticle () {
+ function extractMetaDataFromArticle() {
global $wgUseMetadataEdit, $wgMetadataWhitelist, $wgContLang;
$this->mMetaData = '';
if ( !$wgUseMetadataEdit ) return;
*/
function importFormData( &$request ) {
global $wgLang, $wgUser;
- $fname = 'EditPage::importFormData';
- wfProfileIn( $fname );
+
+ wfProfileIn( __METHOD__ );
# Section edit can come from either the form or a link
$this->section = $request->getVal( 'wpSection', $request->getVal( 'section' ) );
if ( is_null( $this->edittime ) ) {
# If the form is incomplete, force to preview.
- wfDebug( "$fname: Form data appears to be incomplete\n" );
+ wfDebug( __METHOD__ . ": Form data appears to be incomplete\n" );
wfDebug( "POST DATA: " . var_export( $_POST, true ) . "\n" );
$this->preview = true;
} else {
# if the user hits enter in the comment box.
# The unmarked state will be assumed to be a save,
# if the form seems otherwise complete.
- wfDebug( "$fname: Passed token check.\n" );
+ wfDebug( __METHOD__ . ": Passed token check.\n" );
} else if ( $this->diff ) {
# Failed token check, but only requested "Show Changes".
- wfDebug( "$fname: Failed token check; Show Changes requested.\n" );
+ wfDebug( __METHOD__ . ": Failed token check; Show Changes requested.\n" );
} else {
# Page might be a hack attempt posted from
# an external site. Preview instead of saving.
- wfDebug( "$fname: Failed token check; forcing preview\n" );
+ wfDebug( __METHOD__ . ": Failed token check; forcing preview\n" );
$this->preview = true;
}
}
$this->autoSumm = $request->getText( 'wpAutoSummary' );
} else {
# Not a posted form? Start with nothing.
- wfDebug( "$fname: Not a posted form.\n" );
+ wfDebug( __METHOD__ . ": Not a posted form.\n" );
$this->textbox1 = '';
$this->textbox2 = '';
$this->mMetaData = '';
$this->live = $request->getCheck( 'live' );
$this->editintro = $request->getText( 'editintro' );
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
}
/**
global $wgFilterCallback, $wgUser, $wgOut, $wgParser;
global $wgMaxArticleSize;
- $fname = 'EditPage::attemptSave';
- wfProfileIn( $fname );
- wfProfileIn( "$fname-checks" );
+ wfProfileIn( __METHOD__ );
+ wfProfileIn( __METHOD__ . '-checks' );
if ( !wfRunHooks( 'EditPage::attemptSave', array( &$this ) ) )
{
$pdbk = $this->mTitle->getPrefixedDBkey();
$match = str_replace( "\n", '', $match );
wfDebugLog( 'SpamRegex', "$ip spam regex hit [[$pdbk]]: \"$match\"" );
- wfProfileOut( "$fname-checks" );
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ . '-checks' );
+ wfProfileOut( __METHOD__ );
return self::AS_SPAM_ERROR;
}
if ( $wgFilterCallback && $wgFilterCallback( $this->mTitle, $this->textbox1, $this->section, $this->hookError, $this->summary ) ) {
# Error messages or other handling should be performed by the filter function
- wfProfileOut( "$fname-checks" );
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ . '-checks' );
+ wfProfileOut( __METHOD__ );
return self::AS_FILTERING;
}
if ( !wfRunHooks( 'EditFilter', array( $this, $this->textbox1, $this->section, &$this->hookError, $this->summary ) ) ) {
# Error messages etc. could be handled within the hook...
- wfProfileOut( "$fname-checks" );
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ . '-checks' );
+ wfProfileOut( __METHOD__ );
return self::AS_HOOK_ERROR;
} elseif ( $this->hookError != '' ) {
# ...or the hook could be expecting us to produce an error
- wfProfileOut( "$fname-checks" );
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ . '-checks' );
+ wfProfileOut( __METHOD__ );
return self::AS_HOOK_ERROR_EXPECTED;
}
if ( $wgUser->isBlockedFrom( $this->mTitle, false ) ) {
# Check block state against master, thus 'false'.
- wfProfileOut( "$fname-checks" );
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ . '-checks' );
+ wfProfileOut( __METHOD__ );
return self::AS_BLOCKED_PAGE_FOR_USER;
}
$this->kblength = (int)(strlen( $this->textbox1 ) / 1024);
if ( $this->kblength > $wgMaxArticleSize ) {
// Error will be displayed by showEditForm()
$this->tooBig = true;
- wfProfileOut( "$fname-checks" );
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ . '-checks' );
+ wfProfileOut( __METHOD__ );
return self::AS_CONTENT_TOO_BIG;
}
if ( !$wgUser->isAllowed('edit') ) {
if ( $wgUser->isAnon() ) {
- wfProfileOut( "$fname-checks" );
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ . '-checks' );
+ wfProfileOut( __METHOD__ );
return self::AS_READ_ONLY_PAGE_ANON;
}
else {
- wfProfileOut( "$fname-checks" );
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ . '-checks' );
+ wfProfileOut( __METHOD__ );
return self::AS_READ_ONLY_PAGE_LOGGED;
}
}
if ( wfReadOnly() ) {
- wfProfileOut( "$fname-checks" );
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ . '-checks' );
+ wfProfileOut( __METHOD__ );
return self::AS_READ_ONLY_PAGE;
}
if ( $wgUser->pingLimiter() ) {
- wfProfileOut( "$fname-checks" );
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ . '-checks' );
+ wfProfileOut( __METHOD__ );
return self::AS_RATE_LIMITED;
}
# If the article has been deleted while editing, don't save it without
# confirmation
if ( $this->wasDeletedSinceLastEdit() && !$this->recreate ) {
- wfProfileOut( "$fname-checks" );
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ . '-checks' );
+ wfProfileOut( __METHOD__ );
return self::AS_ARTICLE_WAS_DELETED;
}
- wfProfileOut( "$fname-checks" );
+ wfProfileOut( __METHOD__ . '-checks' );
# If article is new, insert it.
$aid = $this->mTitle->getArticleID( GAID_FOR_UPDATE );
if ( 0 == $aid ) {
// Late check for create permission, just in case *PARANOIA*
if ( !$this->mTitle->userCan( 'create' ) ) {
- wfDebug( "$fname: no create permission\n" );
- wfProfileOut( $fname );
+ wfDebug( __METHOD__ . ": no create permission\n" );
+ wfProfileOut( __METHOD__ );
return self::AS_NO_CREATE_PERMISSION;
}
# Don't save a new article if it's blank.
if ( '' == $this->textbox1 ) {
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
return self::AS_BLANK_ARTICLE;
}
// Run post-section-merge edit filter
if ( !wfRunHooks( 'EditFilterMerged', array( $this, $this->textbox1, &$this->hookError, $this->summary ) ) ) {
# Error messages etc. could be handled within the hook...
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
return self::AS_HOOK_ERROR;
}
$this->mArticle->insertNewArticle( $this->textbox1, $this->summary,
$this->minoredit, $this->watchthis, false, $isComment, $bot);
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
return self::AS_SUCCESS_NEW_ARTICLE;
}
}
if ( $this->isConflict ) {
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
return self::AS_CONFLICT_DETECTED;
}
// Run post-section-merge edit filter
if ( !wfRunHooks( 'EditFilterMerged', array( $this, $text, &$this->hookError, $this->summary ) ) ) {
# Error messages etc. could be handled within the hook...
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
return self::AS_HOOK_ERROR;
}
) {
if ( md5( $this->summary ) == $this->autoSumm ) {
$this->missingSummary = true;
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
return self::AS_SUMMARY_NEEDED;
}
}
if ( $this->section == 'new' && !$this->allowBlankSummary ) {
if (trim($this->summary) == '') {
$this->missingSummary = true;
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
return self::AS_SUMMARY_NEEDED;
}
}
# All's well
- wfProfileIn( "$fname-sectionanchor" );
+ wfProfileIn( __METHOD__ . '-sectionanchor' );
$sectionanchor = '';
if ( $this->section == 'new' ) {
if ( $this->textbox1 == '' ) {
$sectionanchor = $wgParser->guessSectionNameFromWikiText( $matches[2] );
}
}
- wfProfileOut( "$fname-sectionanchor" );
+ wfProfileOut( __METHOD__ . '-sectionanchor' );
// Save errors may fall down to the edit form, but we've now
// merged the section into full text. Clear the section field
$this->kblength = (int)(strlen( $text ) / 1024);
if ( $this->kblength > $wgMaxArticleSize ) {
$this->tooBig = true;
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
return self::AS_MAX_ARTICLE_SIZE_EXCEEDED;
}
# update the article here
if ( $this->mArticle->updateArticle( $text, $this->summary, $this->minoredit,
$this->watchthis, $bot, $sectionanchor ) ) {
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
return self::AS_SUCCESS_UPDATE;
} else {
$this->isConflict = true;
}
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
return self::AS_END;
}
$wgOut->setPageTitle( wfMsg( $msg, $wgTitle->getPrefixedText() ) );
} else {
# Use the title defined by DISPLAYTITLE magic word when present
- if ( isset($this->mParserOutput)
+ if ( isset( $this->mParserOutput )
&& ( $dt = $this->mParserOutput->getDisplayTitle() ) !== false ) {
$title = $dt;
} else {
# Some hook probably called this function without checking
# for is_null($wgTitle) first. Bail out right here so we don't
# do lots of work just to discard it right after.
- if (is_null($wgTitle))
+ if ( is_null( $wgTitle ) )
return;
- $fname = 'EditPage::showEditForm';
- wfProfileIn( $fname );
+ wfProfileIn( __METHOD__ );
$sk = $wgUser->getSkin();
#if ( "no" == $redirect ) { $q .= "&redirect=no"; }
$action = $wgTitle->escapeLocalURL( $q );
- $colonSep = wfMsg( 'colon-separator' );
- $summary = wfMsg( 'summary' ) . $colonSep;
- $subject = wfMsg( 'subject' ) . $colonSep;
+ $summary = wfMsgExt( 'summary', array( 'parseinline' ) );
+ $subject = wfMsgExt( 'subject', array( 'parseinline' ) );
- $cancel = $sk->makeKnownLink( $wgTitle->getPrefixedText(),
- wfMsgExt('cancel', array('parseinline')) );
- $edithelpurl = Skin::makeInternalOrExternalUrl( wfMsgForContent( 'edithelppage' ));
- $edithelp = '<a target="helpwindow" href="'.$edithelpurl.'">'.
- htmlspecialchars( wfMsg( 'edithelp' ) ).'</a> '.
- htmlspecialchars( wfMsg( 'newwindow' ) );
+ $cancel = $sk->makeKnownLinkObj( $wgTitle, wfMsgHtml( 'cancel' ) );
+ $edithelpurl = Skin::makeInternalOrExternalUrl( wfMsgForContent( 'edithelppage' ) );
+ $edithelp = Xml::element( 'a', array( 'target' => 'helpwindow', 'href' => $edithelpurl ), wfMsg( 'edithelp' ) ) .
+ ' ' . wfMsgExt( 'newwindow', array( 'parseinline' ) );
global $wgRightsText;
if ( $wgRightsText ) {
if ( $this->missingSummary ) $summaryhiddens .= Xml::hidden( 'wpIgnoreBlankSummary', true );
$autosumm = $this->autoSumm ? $this->autoSumm : md5( $this->summary );
$summaryhiddens .= Xml::hidden( 'wpAutoSummary', $autosumm );
+ $subjectPreviewMsg = wfMsgExt( 'subject-preview', array( 'escapenoentities' ) );
if ( $this->section == 'new' ) {
- $commentsubject="<span id='wpSummaryLabel'><label for='wpSummary'>{$subject}</label></span>\n<input tabindex='1' type='text' value=\"$summarytext\" name='wpSummary' id='wpSummary' maxlength='200' size='60' />{$summaryhiddens}<br />";
+ $commentsubject = "<span id='wpSummaryLabel'><label for='wpSummary'>{$subject}</label></span>\n" .
+ "<input tabindex='1' type='text' value=\"$summarytext\" name='wpSummary' id='wpSummary' maxlength='200' size='60' />" .
+ "{$summaryhiddens}<br />";
$editsummary = "<div class='editOptions'>\n";
global $wgParser;
$formattedSummary = wfMsgForContent( 'newsectionsummary', $wgParser->stripSectionName( $this->summary ) );
- $subjectpreview = $summarytext && $this->preview ? "<div class=\"mw-summary-preview\">".wfMsg('subject-preview').$colonSep.$sk->commentBlock( $formattedSummary, $this->mTitle, true )."</div>\n" : '';
+ $subjectpreview = $summarytext && $this->preview ?
+ "<div class=\"mw-summary-preview\">" . $subjectPreviewMsg . $sk->commentBlock( $formattedSummary, $this->mTitle, true ) . "</div>\n" : '';
$summarypreview = '';
} else {
$commentsubject = '';
- $editsummary="<div class='editOptions'>\n<span id='wpSummaryLabel'><label for='wpSummary'>{$summary}</label></span>\n<input tabindex='2' type='text' value=\"$summarytext\" name='wpSummary' id='wpSummary' maxlength='200' size='60' />{$summaryhiddens}<br />";
- $summarypreview = $summarytext && $this->preview ? "<div class=\"mw-summary-preview\">".wfMsg('summary-preview').$colonSep.$sk->commentBlock( $this->summary, $this->mTitle )."</div>\n" : '';
+ $editsummary = "<div class='editOptions'>\n<span id='wpSummaryLabel'><label for='wpSummary'>{$summary}</label></span>\n" .
+ "<input tabindex='2' type='text' value=\"$summarytext\" name='wpSummary' id='wpSummary' maxlength='200' size='60' />" .
+ "{$summaryhiddens}<br />";
$subjectpreview = '';
+ $summarypreview = $summarytext && $this->preview ?
+ "<div class=\"mw-summary-preview\">" . $subjectPreviewMsg . $sk->commentBlock( $this->summary, $this->mTitle ) . "</div>\n" : '';
}
# Set focus to the edit box on load, except on preview or diff, where it would interfere with the display
global $wgUseMetadataEdit ;
if ( $wgUseMetadataEdit ) {
- $metadata = $this->mMetaData ;
+ $metadata = $this->mMetaData;
$metadata = htmlspecialchars( $wgContLang->recodeForEdit( $metadata ) ) ;
$top = wfMsgWikiHtml( 'metadata_help' );
/* ToDo: Replace with clean code */
$recreate = '';
if ( $this->wasDeletedSinceLastEdit() ) {
if ( 'save' != $this->formtype ) {
- $wgOut->addWikiMsg('deletedwhileediting');
+ $wgOut->addWikiMsg( 'deletedwhileediting' );
} else {
// Hide the toolbar and edit area, use can click preview to get it back
// Add an confirmation checkbox and explanation.
$toolbar = '';
- $recreate = $wgOut->parse( wfMsg( 'confirmrecreate', $this->lastDelete->user_name , $this->lastDelete->log_comment ));
- $recreate .=
- "<br /><input tabindex='1' type='checkbox' value='1' name='wpRecreate' id='wpRecreate' />".
- "<label for='wpRecreate' title='".wfMsg('tooltip-recreate')."'>". wfMsg('recreate')."</label>";
+ $recreate = wfMsgExt( 'confirmrecreate', array( 'parse' ), $this->lastDelete->user_name , $this->lastDelete->log_comment ) .
+ "<br />" .
+ Xml::checkLabel( wfMsg( 'recreate' ), 'wpRecreate', 'wpRecreate', false,
+ array( 'tabindex' => '1' ), array( 'title' => wfMsg( 'tooltip-recreate' ) ) );
}
}
);
if ( $this->isConflict && wfRunHooks( 'EditPageBeforeConflictDiff', array( &$this, &$wgOut ) ) ) {
- $wgOut->wrapWikiMsg( '==$1==', "yourdiff" );
+ $wgOut->wrapWikiMsg( '==$1==', 'yourdiff' );
$de = new DifferenceEngine( $this->mTitle );
$de->setText( $this->textbox2, $this->textbox1 );
- $de->showDiff( wfMsg( "yourtext" ), wfMsg( "storedversion" ) );
+ $de->showDiff( wfMsgExt( 'yourtext', array( 'parseinline' ) ), wfMsgExt( 'storedversion', array( 'parseinline' ) ) );
- $wgOut->wrapWikiMsg( '==$1==', "yourtext" );
+ $wgOut->wrapWikiMsg( '==$1==', 'yourtext' );
$this->showTextbox2();
}
$wgOut->addHTML( $this->editFormTextBottom );
$this->displayPreviewArea( $previewOutput, false );
}
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
}
protected function showFormBeforeText() {
* @todo document
*/
function mergeChangesInto( &$editText ){
- $fname = 'EditPage::mergeChangesInto';
- wfProfileIn( $fname );
+ wfProfileIn( __METHOD__ );
$db = wfGetDB( DB_MASTER );
// This is the revision the editor started from
$baseRevision = $this->getBaseRevision();
if ( is_null( $baseRevision ) ) {
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
return false;
}
$baseText = $baseRevision->getText();
$currentRevision = Revision::loadFromTitle(
$db, $this->mTitle );
if ( is_null( $currentRevision ) ) {
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
return false;
}
$currentText = $currentRevision->getText();
$result = '';
if ( wfMerge( $baseText, $editText, $currentText, $result ) ) {
$editText = $result;
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
return true;
} else {
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
return false;
}
}
*/
$toolarray = array(
array(
- 'image' => $wgLang->getImageFile('button-bold'),
+ 'image' => $wgLang->getImageFile( 'button-bold' ),
'id' => 'mw-editbutton-bold',
'open' => '\'\'\'',
'close' => '\'\'\'',
- 'sample' => wfMsg('bold_sample'),
- 'tip' => wfMsg('bold_tip'),
+ 'sample' => wfMsg( 'bold_sample' ),
+ 'tip' => wfMsg( 'bold_tip' ),
'key' => 'B'
),
array(
- 'image' => $wgLang->getImageFile('button-italic'),
+ 'image' => $wgLang->getImageFile( 'button-italic' ),
'id' => 'mw-editbutton-italic',
'open' => '\'\'',
'close' => '\'\'',
- 'sample' => wfMsg('italic_sample'),
- 'tip' => wfMsg('italic_tip'),
+ 'sample' => wfMsg( 'italic_sample' ),
+ 'tip' => wfMsg( 'italic_tip' ),
'key' => 'I'
),
array(
- 'image' => $wgLang->getImageFile('button-link'),
+ 'image' => $wgLang->getImageFile( 'button-link' ),
'id' => 'mw-editbutton-link',
'open' => '[[',
'close' => ']]',
- 'sample' => wfMsg('link_sample'),
- 'tip' => wfMsg('link_tip'),
+ 'sample' => wfMsg( 'link_sample' ),
+ 'tip' => wfMsg( 'link_tip' ),
'key' => 'L'
),
array(
- 'image' => $wgLang->getImageFile('button-extlink'),
+ 'image' => $wgLang->getImageFile( 'button-extlink' ),
'id' => 'mw-editbutton-extlink',
'open' => '[',
'close' => ']',
- 'sample' => wfMsg('extlink_sample'),
- 'tip' => wfMsg('extlink_tip'),
+ 'sample' => wfMsg( 'extlink_sample' ),
+ 'tip' => wfMsg( 'extlink_tip' ),
'key' => 'X'
),
array(
- 'image' => $wgLang->getImageFile('button-headline'),
+ 'image' => $wgLang->getImageFile( 'button-headline' ),
'id' => 'mw-editbutton-headline',
'open' => "\n== ",
'close' => " ==\n",
- 'sample' => wfMsg('headline_sample'),
- 'tip' => wfMsg('headline_tip'),
+ 'sample' => wfMsg( 'headline_sample' ),
+ 'tip' => wfMsg( 'headline_tip' ),
'key' => 'H'
),
array(
- 'image' => $wgLang->getImageFile('button-image'),
+ 'image' => $wgLang->getImageFile( 'button-image' ),
'id' => 'mw-editbutton-image',
- 'open' => '[['.$wgContLang->getNsText(NS_FILE).':',
+ 'open' => '[['.$wgContLang->getNsText( NS_FILE ).':',
'close' => ']]',
- 'sample' => wfMsg('image_sample'),
- 'tip' => wfMsg('image_tip'),
+ 'sample' => wfMsg( 'image_sample' ),
+ 'tip' => wfMsg( 'image_tip' ),
'key' => 'D'
),
array(
- 'image' => $wgLang->getImageFile('button-media'),
+ 'image' => $wgLang->getImageFile( 'button-media' ),
'id' => 'mw-editbutton-media',
- 'open' => '[['.$wgContLang->getNsText(NS_MEDIA).':',
+ 'open' => '[['.$wgContLang->getNsText( NS_MEDIA ).':',
'close' => ']]',
- 'sample' => wfMsg('media_sample'),
- 'tip' => wfMsg('media_tip'),
+ 'sample' => wfMsg( 'media_sample' ),
+ 'tip' => wfMsg( 'media_tip' ),
'key' => 'M'
),
array(
- 'image' => $wgLang->getImageFile('button-math'),
+ 'image' => $wgLang->getImageFile( 'button-math' ),
'id' => 'mw-editbutton-math',
'open' => "<math>",
'close' => "</math>",
- 'sample' => wfMsg('math_sample'),
- 'tip' => wfMsg('math_tip'),
+ 'sample' => wfMsg( 'math_sample' ),
+ 'tip' => wfMsg( 'math_tip' ),
'key' => 'C'
),
array(
- 'image' => $wgLang->getImageFile('button-nowiki'),
+ 'image' => $wgLang->getImageFile( 'button-nowiki' ),
'id' => 'mw-editbutton-nowiki',
'open' => "<nowiki>",
'close' => "</nowiki>",
- 'sample' => wfMsg('nowiki_sample'),
- 'tip' => wfMsg('nowiki_tip'),
+ 'sample' => wfMsg( 'nowiki_sample' ),
+ 'tip' => wfMsg( 'nowiki_tip' ),
'key' => 'N'
),
array(
- 'image' => $wgLang->getImageFile('button-sig'),
+ 'image' => $wgLang->getImageFile( 'button-sig' ),
'id' => 'mw-editbutton-signature',
'open' => '--~~~~',
'close' => '',
'sample' => '',
- 'tip' => wfMsg('sig_tip'),
+ 'tip' => wfMsg( 'sig_tip' ),
'key' => 'Y'
),
array(
- 'image' => $wgLang->getImageFile('button-hr'),
+ 'image' => $wgLang->getImageFile( 'button-hr' ),
'id' => 'mw-editbutton-hr',
'open' => "\n----\n",
'close' => '',
'sample' => '',
- 'tip' => wfMsg('hr_tip'),
+ 'tip' => wfMsg( 'hr_tip' ),
'key' => 'R'
)
);
$toolbar = "<div id='toolbar'>\n";
$toolbar.="<script type='$wgJsMimeType'>\n/*<![CDATA[*/\n";
- foreach($toolarray as $tool) {
+ foreach( $toolarray as $tool ) {
$params = array(
$image = $wgStylePath.'/common/images/'.$tool['image'],
// Note that we use the tip both for the ALT tag and the TITLE tag of the image.
$checkboxes = array();
$checkboxes['minor'] = '';
- $minorLabel = wfMsgExt('minoredit', array('parseinline'));
- if ( $wgUser->isAllowed('minoredit') ) {
+ $minorLabel = wfMsgExt( 'minoredit', array( 'parseinline' ) );
+ if ( $wgUser->isAllowed( 'minoredit' ) ) {
$attribs = array(
'tabindex' => ++$tabindex,
'accesskey' => wfMsg( 'accesskey-minoredit' ),
);
$checkboxes['minor'] =
Xml::check( 'wpMinoredit', $checked['minor'], $attribs ) .
- " <label for='wpMinoredit'".$skin->tooltip('minoredit', 'withaccess').">{$minorLabel}</label>";
+ " <label for='wpMinoredit'" . $skin->tooltip( 'minoredit', 'withaccess' ) . ">{$minorLabel}</label>";
}
- $watchLabel = wfMsgExt('watchthis', array('parseinline'));
+ $watchLabel = wfMsgExt( 'watchthis', array( 'parseinline' ) );
$checkboxes['watch'] = '';
if ( $wgUser->isLoggedIn() ) {
$attribs = array(
);
$checkboxes['watch'] =
Xml::check( 'wpWatchthis', $checked['watch'], $attribs ) .
- " <label for='wpWatchthis'".$skin->tooltip('watch', 'withaccess').">{$watchLabel}</label>";
+ " <label for='wpWatchthis'" . $skin->tooltip('watch', 'withaccess') . ">{$watchLabel}</label>";
}
wfRunHooks( 'EditPageBeforeEditChecks', array( &$this, &$checkboxes, &$tabindex ) );
return $checkboxes;
*
* @return array
*/
- public function getEditButtons(&$tabindex) {
+ public function getEditButtons( &$tabindex ) {
global $wgLivePreview, $wgUser;
$buttons = array();
'name' => 'wpSave',
'type' => 'submit',
'tabindex' => ++$tabindex,
- 'value' => wfMsg('savearticle'),
- 'accesskey' => wfMsg('accesskey-save'),
+ 'value' => wfMsg( 'savearticle' ),
+ 'accesskey' => wfMsg( 'accesskey-save' ),
'title' => wfMsg( 'tooltip-save' ).' ['.wfMsg( 'accesskey-save' ).']',
);
- $buttons['save'] = Xml::element('input', $temp, '');
+ $buttons['save'] = Xml::element( 'input', $temp, '' );
++$tabindex; // use the same for preview and live preview
if ( $wgLivePreview && $wgUser->getOption( 'uselivepreview' ) ) {
'name' => 'wpPreview',
'type' => 'submit',
'tabindex' => $tabindex,
- 'value' => wfMsg('showpreview'),
+ 'value' => wfMsg( 'showpreview' ),
'accesskey' => '',
'title' => wfMsg( 'tooltip-preview' ).' ['.wfMsg( 'accesskey-preview' ).']',
'style' => 'display: none;',
);
- $buttons['preview'] = Xml::element('input', $temp, '');
+ $buttons['preview'] = Xml::element( 'input', $temp, '' );
$temp = array(
'id' => 'wpLivePreview',
'title' => '',
'onclick' => $this->doLivePreviewScript(),
);
- $buttons['live'] = Xml::element('input', $temp, '');
+ $buttons['live'] = Xml::element( 'input', $temp, '' );
} else {
$temp = array(
'id' => 'wpPreview',
'name' => 'wpPreview',
'type' => 'submit',
'tabindex' => $tabindex,
- 'value' => wfMsg('showpreview'),
- 'accesskey' => wfMsg('accesskey-preview'),
+ 'value' => wfMsg( 'showpreview' ),
+ 'accesskey' => wfMsg( 'accesskey-preview' ),
'title' => wfMsg( 'tooltip-preview' ).' ['.wfMsg( 'accesskey-preview' ).']',
);
- $buttons['preview'] = Xml::element('input', $temp, '');
+ $buttons['preview'] = Xml::element( 'input', $temp, '' );
$buttons['live'] = '';
}
'name' => 'wpDiff',
'type' => 'submit',
'tabindex' => ++$tabindex,
- 'value' => wfMsg('showdiff'),
- 'accesskey' => wfMsg('accesskey-diff'),
+ 'value' => wfMsg( 'showdiff' ),
+ 'accesskey' => wfMsg( 'accesskey-diff' ),
'title' => wfMsg( 'tooltip-diff' ).' ['.wfMsg( 'accesskey-diff' ).']',
);
- $buttons['diff'] = Xml::element('input', $temp, '');
+ $buttons['diff'] = Xml::element( 'input', $temp, '' );
wfRunHooks( 'EditPageBeforeEditButtons', array( &$this, &$buttons, &$tabindex ) );
return $buttons;
$newtext = $this->mArticle->replaceSection(
$this->section, $this->textbox1, $this->summary, $this->edittime );
$newtext = $this->mArticle->preSaveTransform( $newtext );
- $oldtitle = wfMsgExt( 'currentrev', array('parseinline') );
- $newtitle = wfMsgExt( 'yourtext', array('parseinline') );
+ $oldtitle = wfMsgExt( 'currentrev', array( 'parseinline' ) );
+ $newtitle = wfMsgExt( 'yourtext', array( 'parseinline' ) );
if ( $oldtext !== false || $newtext != '' ) {
$de = new DifferenceEngine( $this->mTitle );
$de->setText( $oldtext, $newtext );
* @param $attribs other attributes
* @return string HTML
*/
- public static function check( $name, $checked=false, $attribs=array() ) {
+ public static function check( $name, $checked=false, $attribs = array() ) {
return self::element( 'input', array_merge(
array(
'name' => $name,
* @param $attribs other attributes
* @return string HTML
*/
- public static function radio( $name, $value, $checked=false, $attribs=array() ) {
+ public static function radio( $name, $value, $checked = false, $attribs = array() ) {
return self::element( 'input', array(
'name' => $name,
'type' => 'radio',
/**
* Convenience function to build an HTML form label
* @param $label text of the label
- * @param $id
+ * @param $id
+ * @param $attribs Array: extra attributes
* @return string HTML
*/
- public static function label( $label, $id ) {
- return self::element( 'label', array( 'for' => $id ), $label );
+ public static function label( $label, $id, $attribs = array() ) {
+ return self::element( 'label', array( 'for' => $id ) + $attribs, $label );
}
/**
* @param $id id of the input
* @param $size value of the size attribute
* @param $value value of the value attribute
- * @param $attribs other attributes
+ * @param $inputAttribs other attributes for the input
+ * @param $labelAttribs other attributes for the label
* @return string HTML
*/
- public static function inputLabel( $label, $name, $id, $size=false, $value=false, $attribs=array() ) {
- list( $label, $input ) = self::inputLabelSep( $label, $name, $id, $size, $value, $attribs );
+ public static function inputLabel( $label, $name, $id, $size = false, $value = false, $inputAttribs = array(), $labelAttribs = array() ) {
+ list( $label, $input ) = self::inputLabelSep( $label, $name, $id, $size, $value, $inputAttribs, $labelAttribs );
return $label . ' ' . $input;
}
/**
* Same as Xml::inputLabel() but return input and label in an array
*/
- public static function inputLabelSep( $label, $name, $id, $size=false, $value=false, $attribs=array() ) {
+ public static function inputLabelSep( $label, $name, $id, $size = false, $value = false, $inputAttribs = array(), $labelAttribs = array() ) {
return array(
- Xml::label( $label, $id ),
- self::input( $name, $size, $value, array( 'id' => $id ) + $attribs )
+ Xml::label( $label, $id, $labelAttribs ),
+ self::input( $name, $size, $value, array( 'id' => $id ) + $inputAttribs )
);
}
* Convenience function to build an HTML checkbox with a label
* @return string HTML
*/
- public static function checkLabel( $label, $name, $id, $checked=false, $attribs=array() ) {
- return self::check( $name, $checked, array( 'id' => $id ) + $attribs ) .
+ public static function checkLabel( $label, $name, $id, $checked = false, $inputAttribs = array(), $labelAttribs = array() ) {
+ return self::check( $name, $checked, array( 'id' => $id ) + $inputAttribs ) .
' ' .
- self::label( $label, $id );
+ self::label( $label, $id, $labelAttribs );
}
/**
* Convenience function to build an HTML radio button with a label
* @return string HTML
*/
- public static function radioLabel( $label, $name, $value, $id, $checked=false, $attribs=array() ) {
- return self::radio( $name, $value, $checked, array( 'id' => $id ) + $attribs ) .
+ public static function radioLabel( $label, $name, $value, $id, $checked = false, $inputAttribs = array(), $labelAttribs = array() ) {
+ return self::radio( $name, $value, $checked, array( 'id' => $id ) + $inputAttribs ) .
' ' .
- self::label( $label, $id );
+ self::label( $label, $id, $labelAttribs );
}
/**
* @param $attribs Array: optional custom attributes
* @return string HTML
*/
- public static function submitButton( $value, $attribs=array() ) {
+ public static function submitButton( $value, $attribs = array() ) {
return self::element( 'input', array( 'type' => 'submit', 'value' => $value ) + $attribs );
}
* @param $attribs Array: optional custom attributes
* @return string HTML
*/
- public static function hidden( $name, $value, $attribs=array() ) {
+ public static function hidden( $name, $value, $attribs = array() ) {
return self::element( 'input', array(
'name' => $name,
'type' => 'hidden',
* @param $attribs array: optional additional HTML attributes
* @return string HTML
*/
- public static function option( $text, $value=null, $selected=false,
- $attribs=array() ) {
+ public static function option( $text, $value = null, $selected = false,
+ $attribs = array() ) {
if( !is_null( $value ) ) {
$attribs['value'] = $value;
}
} elseif ( substr( $value, 0, 1) == '*' && substr( $value, 1, 1) != '*' ) {
// A new group is starting ...
$value = trim( substr( $value, 1 ) );
- if( $optgroup ) $options .= self::closeElement('optgroup');
+ if( $optgroup ) $options .= self::closeElement( 'optgroup' );
$options .= self::openElement( 'optgroup', array( 'label' => $value ) );
$optgroup = true;
} elseif ( substr( $value, 0, 2) == '**' ) {
$options .= self::option( $value, $value, $selected === $value );
} else {
// groupless reason list
- if( $optgroup ) $options .= self::closeElement('optgroup');
+ if( $optgroup ) $options .= self::closeElement( 'optgroup' );
$options .= self::option( $value, $value, $selected === $value );
$optgroup = false;
}