API: (bug 17563) Fix regression from r46845 that changed the output for list=backlink...
[lhc/web/wiklou.git] / includes / EditPage.php
index b236c0b..b1d8b48 100644 (file)
@@ -554,7 +554,7 @@ class EditPage {
                        $this->textbox2 = $this->safeUnicodeInput( $request, 'wpTextbox2' );
                        $this->mMetaData = rtrim( $request->getText( 'metadata' ) );
                        # Truncate for whole multibyte characters. +5 bytes for ellipsis
-                       $this->summary = $wgLang->truncate( $request->getText( 'wpSummary' ), 250 );
+                       $this->summary = $wgLang->truncate( $request->getText( 'wpSummary' ), 250, '' );
 
                        # Remove extra headings from summaries and new sections.
                        $this->summary = preg_replace('/^\s*=+\s*(.*?)\s*=+\s*$/', '$1', $this->summary);
@@ -1215,7 +1215,7 @@ class EditPage {
                $classes = array(); // Textarea CSS
                if ( $this->mTitle->getNamespace() == NS_MEDIAWIKI ) {
                        # Show a warning if editing an interface message
-                       $wgOut->addWikiMsg( 'editinginterface' );
+                       $wgOut->wrapWikiMsg( "<div class='mw-editinginterface'>\n$1</div>", 'editinginterface' );
                } elseif ( $this->mTitle->isProtected( 'edit' ) ) {
                        # Is the title semi-protected?
                        if ( $this->mTitle->isSemiProtected() ) {
@@ -1271,6 +1271,7 @@ class EditPage {
 
                $cancel = $sk->makeKnownLink( $wgTitle->getPrefixedText(),
                                wfMsgExt('cancel', array('parseinline')) );
+               $separator = wfMsgExt( 'pipe-separator' , 'escapenoentities' );
                $edithelpurl = Skin::makeInternalOrExternalUrl( wfMsgForContent( 'edithelppage' ));
                $edithelp = '<a target="helpwindow" href="'.$edithelpurl.'">'.
                        htmlspecialchars( wfMsg( 'edithelp' ) ).'</a> '.
@@ -1326,7 +1327,7 @@ class EditPage {
 
                # if this is a comment, show a subject line at the top, which is also the edit summary.
                # Otherwise, show a summary field at the bottom
-               $summarytext = htmlspecialchars( $wgContLang->recodeForEdit( $this->summary ) ); # FIXME
+               $summarytext = $wgContLang->recodeForEdit( $this->summary );
 
                # If a blank edit summary was previously provided, and the appropriate
                # user preference is active, pass a hidden tag as wpIgnoreBlankSummary. This will stop the
@@ -1340,7 +1341,22 @@ class EditPage {
                $autosumm = $this->autoSumm ? $this->autoSumm : md5( $this->summary );
                $summaryhiddens .= Xml::hidden( 'wpAutoSummary', $autosumm );
                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 = '';
+                       if ( !$wgRequest->getBool( 'nosummary' ) ) {
+                               $commentsubject =
+                                       Xml::tags( 'label', array( 'for' => 'wpSummary' ), $subject );
+                               $commentsubject =
+                                       Xml::tags( 'span', array( 'id' => 'wpSummaryLabel' ), $commentsubject );
+                               $commentsubject .= '&nbsp;';
+                               $commentsubject .= Xml::input( 'wpSummary',
+                                                                       60,
+                                                                       $summarytext,
+                                                                       array(
+                                                                               'id' => 'wpSummary',
+                                                                               'maxlength' => '200',
+                                                                               'tabindex' => '1'
+                                                                       ) );
+                       }
                        $editsummary = "<div class='editOptions'>\n";
                        global $wgParser;
                        $formattedSummary = wfMsgForContent( 'newsectionsummary', $wgParser->stripSectionName( $this->summary ) );
@@ -1348,10 +1364,36 @@ class EditPage {
                        $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') .$sk->commentBlock( $this->summary, $this->mTitle )."</div>\n" : '';
+
+                       $editsummary = Xml::tags( 'label', array( 'for' => 'wpSummary' ), $summary );
+                       $editsummary =
+                               Xml::tags( 'span', array( 'id' => 'wpSummaryLabel' ), $editsummary ) . ' ';
+                               
+                       $editsummary .= Xml::input( 'wpSummary',
+                               60,
+                               $summarytext,
+                               array(
+                                       'id' => 'wpSummary',
+                                       'maxlength' => '200',
+                                       'tabindex' => '1'
+                               ) );
+                       
+                       // No idea where this is closed.
+                       $editsummary = Xml::openElement( 'div', array( 'class' => 'editOptions' ) )
+                                                       . $editsummary . '<br/>';
+                               
+                       $summarypreview = '';
+                       if ( $summarytext && $this->preview ) {
+                               $summarypreview =
+                                       Xml::tags( 'div',
+                                               array( 'class' => 'mw-summary-preview' ),
+                                               wfMsg( 'summary-preview' ) .
+                                                       $sk->commentBlock( $this->summary, $this->mTitle )
+                                       );
+                       }
                        $subjectpreview = '';
                }
+               $commentsubject .= $summaryhiddens;
 
                # Set focus to the edit box on load, except on preview or diff, where it would interfere with the display
                if ( !$this->preview && !$this->diff ) {
@@ -1381,7 +1423,9 @@ class EditPage {
                $recreate = '';
                if ( $this->wasDeletedSinceLastEdit() ) {
                        if ( 'save' != $this->formtype ) {
-                               $wgOut->wrapWikiMsg( '<div class="error mw-deleted-while-editing">$1</div>', 'deletedwhileediting' );
+                               $wgOut->wrapWikiMsg(
+                                       '<div class="error mw-deleted-while-editing">$1</div>',
+                                       'deletedwhileediting' );
                        } else {
                                // Hide the toolbar and edit area, user can click preview to get it back
                                // Add an confirmation checkbox and explanation.
@@ -1445,7 +1489,7 @@ END
                $wgOut->addHTML(
 "<div class='editButtons'>
 {$buttonshtml}
-       <span class='editHelp'>{$cancel} | {$edithelp}</span>
+       <span class='editHelp'>{$cancel}{$separator}{$edithelp}</span>
 </div><!-- editButtons -->
 </div><!-- editOptions -->");
 
@@ -1683,7 +1727,7 @@ END
                        $parserOptions->setTidy(true);
                        $parserOutput = $wgParser->parse( $previewtext, $this->mTitle, $parserOptions );
                        $previewHTML = $parserOutput->mText;
-               } elseif ( $rt = Title::newFromRedirect( $this->textbox1, true ) ) {
+               } elseif ( $rt = Title::newFromRedirectArray( $this->textbox1 ) ) {
                        $previewHTML = $this->mArticle->viewRedirect( $rt, false );
                } else {
                        $toparse = $this->textbox1;