Index: trunk/phase3/skins/MonoBook.php |
— | — | @@ -115,7 +115,7 @@ |
116 | 116 | <div id="content"> |
117 | 117 | <a name="top" id="top"></a> |
118 | 118 | <?php if($this->data['sitenotice']) { ?><div id="siteNotice"><?php $this->html('sitenotice') ?></div><?php } ?> |
119 | | - <h1 class="firstHeading"><?php $this->html('title'); ?></h1> |
| 119 | + <h1 class="firstHeading"><?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?></h1> |
120 | 120 | <div id="bodyContent"> |
121 | 121 | <h3 id="siteSub"><?php $this->msg('tagline') ?></h3> |
122 | 122 | <div id="contentSub"><?php $this->html('subtitle') ?></div> |
— | — | @@ -371,4 +371,3 @@ |
372 | 372 | } // end of class |
373 | 373 | |
374 | 374 | |
375 | | - |
Index: trunk/phase3/skins/Modern.php |
— | — | @@ -102,7 +102,7 @@ |
103 | 103 | class="mediawiki <?php $this->text('dir') ?> <?php $this->text('pageclass') ?> <?php $this->text('skinnameclass') ?>"> |
104 | 104 | |
105 | 105 | <!-- heading --> |
106 | | - <div id="mw_header"><h1 id="firstHeading"><?php $this->html('title') ?></h1></div> |
| 106 | + <div id="mw_header"><h1 id="firstHeading"><?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?></h1></div> |
107 | 107 | |
108 | 108 | <div id="mw_main"> |
109 | 109 | <div id="mw_contentwrapper"> |
Index: trunk/phase3/includes/parser/ParserOutput.php |
— | — | @@ -29,8 +29,7 @@ |
30 | 30 | /** |
31 | 31 | * Overridden title for display |
32 | 32 | */ |
33 | | - private $displayTitle = false; #for use in the <title> tag |
34 | | - private $displayTitleH1 = false; #for use in the <h1> tag, may contain further HTML tags |
| 33 | + private $displayTitle = false; |
35 | 34 | |
36 | 35 | function ParserOutput( $text = '', $languageLinks = array(), $categoryLinks = array(), |
37 | 36 | $containsOldMagic = false, $titletext = '' ) |
— | — | @@ -146,15 +145,6 @@ |
147 | 146 | } |
148 | 147 | |
149 | 148 | /** |
150 | | - * Get the title to be used for display |
151 | | - * |
152 | | - * @return string |
153 | | - */ |
154 | | - public function getDisplayTitle() { |
155 | | - return $this->displayTitle; |
156 | | - } |
157 | | - |
158 | | - /** |
159 | 149 | * Override the title to be used for display |
160 | 150 | * -- this is assumed to have been validated |
161 | 151 | * (check equal normalisation, etc.) |
— | — | @@ -164,14 +154,15 @@ |
165 | 155 | public function setDisplayTitle( $text ) { |
166 | 156 | $this->displayTitle = $text; |
167 | 157 | } |
168 | | - |
169 | | - public function getDisplayTitleH1() { |
170 | | - return $this->displayTitleH1; |
| 158 | + |
| 159 | + /** |
| 160 | + * Get the title to be used for display |
| 161 | + * |
| 162 | + * @return string |
| 163 | + */ |
| 164 | + public function getDisplayTitle() { |
| 165 | + return $this->displayTitle; |
171 | 166 | } |
172 | | - |
173 | | - public function setDisplayTitleH1( $html ) { |
174 | | - $this->displayTitleH1 = $html; |
175 | | - } |
176 | 167 | |
177 | 168 | /** |
178 | 169 | * Fairly generic flag setter thingy. |
Index: trunk/phase3/includes/parser/CoreParserFunctions.php |
— | — | @@ -168,24 +168,17 @@ |
169 | 169 | * @param string $text Desired title text |
170 | 170 | * @return string |
171 | 171 | */ |
172 | | - static function displaytitle( $parser, $displayTitleH1 = '' ) { |
| 172 | + static function displaytitle( $parser, $text = '' ) { |
173 | 173 | global $wgRestrictDisplayTitle; |
174 | | - |
175 | | - $titleHTML = Sanitizer::removeHTMLtags( $displayTitleH1 ); #escape the bad tags |
176 | | - $titleText = trim( Sanitizer::stripAllTags( $titleHTML ) ); #remove the good tags, leaving the bad tags escaped, and trim it to make sure it comes out pretty |
177 | | - |
| 174 | + $text = trim( Sanitizer::decodeCharReferences( $text ) ); |
| 175 | + |
178 | 176 | if ( !$wgRestrictDisplayTitle ) { |
179 | | - $parser->mOutput->setDisplayTitleH1( $titleHTML ); |
180 | | - $parser->mOutput->setDisplayTitle( $titleText ); |
| 177 | + $parser->mOutput->setDisplayTitle( $text ); |
181 | 178 | } else { |
182 | | - # Only requested titles that normalize to the actual title are allowed through |
183 | | - $title = Title::newFromText( $titleText ); |
184 | | - if ( $title != null && $title->getFragment() == '' && $title->equals( $parser->mTitle ) ) { |
185 | | - $parser->mOutput->setDisplayTitleH1( $titleHTML ); |
186 | | - $parser->mOutput->setDisplayTitle( $titleText ); #put the stripped contents of <h1> into <title> |
187 | | - } |
| 179 | + $title = Title::newFromText( $text ); |
| 180 | + if( $title instanceof Title && $title->getFragment() == '' && $title->equals( $parser->mTitle ) ) |
| 181 | + $parser->mOutput->setDisplayTitle( $text ); |
188 | 182 | } |
189 | | - |
190 | 183 | return ''; |
191 | 184 | } |
192 | 185 | |
Index: trunk/phase3/includes/EditPage.php |
— | — | @@ -1085,14 +1085,12 @@ |
1086 | 1086 | } else { |
1087 | 1087 | # Use the title defined by DISPLAYTITLE magic word when present |
1088 | 1088 | if ( isset( $this->mParserOutput ) |
1089 | | - && ( $displayTitle = $this->mParserOutput->getDisplayTitle() ) !== false ) |
1090 | | - { |
1091 | | - $wgOut->setPageTitle( wfMsg( 'editing', $this->mParserOutput->getDisplayTitleH1() ) ); |
1092 | | - # Override the HTML that setPageTitle slated for inclusion in the <title> |
1093 | | - $wgOut->setHTMLTitle( wfMsg( 'pagetitle', wfMsg( 'editing', $displayTitle ) ) ); |
| 1089 | + && ( $dt = $this->mParserOutput->getDisplayTitle() ) !== false ) { |
| 1090 | + $title = $dt; |
1094 | 1091 | } else { |
1095 | | - $wgOut->setPageTitle( wfMsg( 'editing', $wgTitle->getPrefixedText() ) ); |
| 1092 | + $title = $wgTitle->getPrefixedText(); |
1096 | 1093 | } |
| 1094 | + $wgOut->setPageTitle( wfMsg( 'editing', $title ) ); |
1097 | 1095 | } |
1098 | 1096 | } |
1099 | 1097 | |
Index: trunk/phase3/includes/OutputPage.php |
— | — | @@ -309,10 +309,7 @@ |
310 | 310 | } |
311 | 311 | } |
312 | 312 | |
313 | | - # "HTML title" means <title> |
314 | | - public function setHTMLTitle( $name ) { $this->mHTMLtitle = $name; } |
315 | | - |
316 | | - # "Page title" means <h1> |
| 313 | + public function setHTMLTitle( $name ) {$this->mHTMLtitle = $name; } |
317 | 314 | public function setPageTitle( $name ) { |
318 | 315 | global $action, $wgContLang; |
319 | 316 | $name = $wgContLang->convert($name, true); |
— | — | @@ -323,7 +320,7 @@ |
324 | 321 | $name .= ' - '.$taction; |
325 | 322 | } |
326 | 323 | } |
327 | | - |
| 324 | + |
328 | 325 | $this->setHTMLTitle( wfMsg( 'pagetitle', $name ) ); |
329 | 326 | } |
330 | 327 | public function getHTMLTitle() { return $this->mHTMLtitle; } |
— | — | @@ -542,10 +539,8 @@ |
543 | 540 | } |
544 | 541 | } |
545 | 542 | // Display title |
546 | | - if( ( $displayTitleText = $parserOutput->getDisplayTitle() ) !== false ) { |
547 | | - $this->setPageTitle( $parserOutput->getDisplayTitleH1() ); |
548 | | - $this->setHTMLTitle( wfMsg( 'pagetitle', $displayTitleText ) ); #override the HTML that setPageTitle slated for inclusion in the <title> |
549 | | - } |
| 543 | + if( ( $dt = $parserOutput->getDisplayTitle() ) !== false ) |
| 544 | + $this->setPageTitle( $dt ); |
550 | 545 | |
551 | 546 | // Hooks registered in the object |
552 | 547 | global $wgParserOutputHooks; |