r44588 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r44587‎ | r44588 | r44589 >
Date:19:14, 14 December 2008
Author:demon
Status:ok
Tags:
Comment:
War on wfElement() and friends. Call the Xml members directly, rather than using old wrappers.
Modified paths:
  • /trunk/phase3/includes/Export.php (modified) (history)
  • /trunk/phase3/includes/ImagePage.php (modified) (history)
  • /trunk/phase3/includes/Licenses.php (modified) (history)
  • /trunk/phase3/includes/Linker.php (modified) (history)
  • /trunk/phase3/includes/Skin.php (modified) (history)
  • /trunk/phase3/includes/SkinTemplate.php (modified) (history)
  • /trunk/phase3/includes/api/ApiFormatWddx.php (modified) (history)
  • /trunk/phase3/includes/api/ApiFormatXml.php (modified) (history)
  • /trunk/phase3/includes/parser/Parser.php (modified) (history)
  • /trunk/phase3/includes/specials/SpecialConfirmemail.php (modified) (history)
  • /trunk/phase3/includes/specials/SpecialMergeHistory.php (modified) (history)
  • /trunk/phase3/includes/specials/SpecialPreferences.php (modified) (history)
  • /trunk/phase3/includes/specials/SpecialRecentchanges.php (modified) (history)
  • /trunk/phase3/includes/specials/SpecialUndelete.php (modified) (history)
  • /trunk/phase3/maintenance/dumpTextPass.php (modified) (history)

Diff [purge]

Index: trunk/phase3/maintenance/dumpTextPass.php
@@ -487,7 +487,7 @@
488488
489489 function clearOpenElement( $style ) {
490490 if( $this->openElement ) {
491 - $this->buffer .= wfElement( $this->openElement[0], $this->openElement[1], $style );
 491+ $this->buffer .= Xml::element( $this->openElement[0], $this->openElement[1], $style );
492492 $this->openElement = false;
493493 }
494494 }
Index: trunk/phase3/includes/Licenses.php
@@ -121,7 +121,7 @@
122122
123123 function outputOption( $val, $attribs = null, $depth ) {
124124 $val = str_repeat( /* &nbsp */ "\xc2\xa0", $depth * 2 ) . $val;
125 - return str_repeat( "\t", $depth ) . wfElement( 'option', $attribs, $val ) . "\n";
 125+ return str_repeat( "\t", $depth ) . Xml::element( 'option', $attribs, $val ) . "\n";
126126 }
127127
128128 function msg( $str ) {
Index: trunk/phase3/includes/parser/Parser.php
@@ -4101,7 +4101,7 @@
41024102 $content = StringUtils::delimiterReplace( '<nowiki>', '</nowiki>', '$1', $text, 'i' );
41034103
41044104 $attribs = Sanitizer::validateTagAttributes( $attribs, 'pre' );
4105 - return wfOpenElement( 'pre', $attribs ) .
 4105+ return Xml::openElement( 'pre', $attribs ) .
41064106 Xml::escapeTagsOnly( $content ) .
41074107 '</pre>';
41084108 }
Index: trunk/phase3/includes/ImagePage.php
@@ -131,8 +131,8 @@
132132
133133 if( $showmeta ) {
134134 global $wgStylePath, $wgStyleVersion;
135 - $expand = htmlspecialchars( wfEscapeJsString( wfMsg( 'metadata-expand' ) ) );
136 - $collapse = htmlspecialchars( wfEscapeJsString( wfMsg( 'metadata-collapse' ) ) );
 135+ $expand = htmlspecialchars( Xml::escapeJsString( wfMsg( 'metadata-expand' ) ) );
 136+ $collapse = htmlspecialchars( Xml::escapeJsString( wfMsg( 'metadata-collapse' ) ) );
137137 $wgOut->addHTML( Xml::element( 'h2', array( 'id' => 'metadata' ), wfMsg( 'metadata' ) ). "\n" );
138138 $wgOut->addWikiText( $this->makeMetadataTable( $formattedMetadata ) );
139139 $wgOut->addScriptFile( 'metadata.js' );
Index: trunk/phase3/includes/Linker.php
@@ -1421,8 +1421,8 @@
14221422 . "</ul>\n</td></tr></table>"
14231423 . '<script type="' . $wgJsMimeType . '">'
14241424 . ' if (window.showTocToggle) {'
1425 - . ' var tocShowText = "' . wfEscapeJsString( wfMsg('showtoc') ) . '";'
1426 - . ' var tocHideText = "' . wfEscapeJsString( wfMsg('hidetoc') ) . '";'
 1425+ . ' var tocShowText = "' . Xml::escapeJsString( wfMsg('showtoc') ) . '";'
 1426+ . ' var tocHideText = "' . Xml::escapeJsString( wfMsg('hidetoc') ) . '";'
14271427 . ' showTocToggle();'
14281428 . ' } '
14291429 . "</script>\n";
Index: trunk/phase3/includes/Export.php
@@ -352,7 +352,7 @@
353353 function openStream() {
354354 global $wgContLanguageCode;
355355 $ver = $this->schemaVersion();
356 - return wfElement( 'mediawiki', array(
 356+ return Xml::element( 'mediawiki', array(
357357 'xmlns' => "http://www.mediawiki.org/xml/export-$ver/",
358358 'xmlns:xsi' => "http://www.w3.org/2001/XMLSchema-instance",
359359 'xsi:schemaLocation' => "http://www.mediawiki.org/xml/export-$ver/ " .
@@ -378,30 +378,30 @@
379379
380380 function sitename() {
381381 global $wgSitename;
382 - return wfElement( 'sitename', array(), $wgSitename );
 382+ return Xml::element( 'sitename', array(), $wgSitename );
383383 }
384384
385385 function generator() {
386386 global $wgVersion;
387 - return wfElement( 'generator', array(), "MediaWiki $wgVersion" );
 387+ return Xml::element( 'generator', array(), "MediaWiki $wgVersion" );
388388 }
389389
390390 function homelink() {
391 - return wfElement( 'base', array(), Title::newMainPage()->getFullUrl() );
 391+ return Xml::element( 'base', array(), Title::newMainPage()->getFullUrl() );
392392 }
393393
394394 function caseSetting() {
395395 global $wgCapitalLinks;
396396 // "case-insensitive" option is reserved for future
397397 $sensitivity = $wgCapitalLinks ? 'first-letter' : 'case-sensitive';
398 - return wfElement( 'case', array(), $sensitivity );
 398+ return Xml::element( 'case', array(), $sensitivity );
399399 }
400400
401401 function namespaces() {
402402 global $wgContLang;
403403 $spaces = " <namespaces>\n";
404404 foreach( $wgContLang->getFormattedNamespaces() as $ns => $title ) {
405 - $spaces .= ' ' . wfElement( 'namespace', array( 'key' => $ns ), $title ) . "\n";
 405+ $spaces .= ' ' . Xml::element( 'namespace', array( 'key' => $ns ), $title ) . "\n";
406406 }
407407 $spaces .= " </namespaces>";
408408 return $spaces;
@@ -427,10 +427,10 @@
428428 function openPage( $row ) {
429429 $out = " <page>\n";
430430 $title = Title::makeTitle( $row->page_namespace, $row->page_title );
431 - $out .= ' ' . wfElementClean( 'title', array(), $title->getPrefixedText() ) . "\n";
432 - $out .= ' ' . wfElement( 'id', array(), strval( $row->page_id ) ) . "\n";
 431+ $out .= ' ' . Xml::elementClean( 'title', array(), $title->getPrefixedText() ) . "\n";
 432+ $out .= ' ' . Xml::element( 'id', array(), strval( $row->page_id ) ) . "\n";
433433 if( '' != $row->page_restrictions ) {
434 - $out .= ' ' . wfElement( 'restrictions', array(),
 434+ $out .= ' ' . Xml::element( 'restrictions', array(),
435435 strval( $row->page_restrictions ) ) . "\n";
436436 }
437437 return $out;
@@ -458,12 +458,12 @@
459459 wfProfileIn( $fname );
460460
461461 $out = " <revision>\n";
462 - $out .= " " . wfElement( 'id', null, strval( $row->rev_id ) ) . "\n";
 462+ $out .= " " . Xml::element( 'id', null, strval( $row->rev_id ) ) . "\n";
463463
464464 $out .= $this->writeTimestamp( $row->rev_timestamp );
465465
466466 if( $row->rev_deleted & Revision::DELETED_USER ) {
467 - $out .= " " . wfElement( 'contributor', array( 'deleted' => 'deleted' ) ) . "\n";
 467+ $out .= " " . Xml::element( 'contributor', array( 'deleted' => 'deleted' ) ) . "\n";
468468 } else {
469469 $out .= $this->writeContributor( $row->rev_user, $row->rev_user_text );
470470 }
@@ -472,22 +472,22 @@
473473 $out .= " <minor/>\n";
474474 }
475475 if( $row->rev_deleted & Revision::DELETED_COMMENT ) {
476 - $out .= " " . wfElement( 'comment', array( 'deleted' => 'deleted' ) ) . "\n";
 476+ $out .= " " . Xml::element( 'comment', array( 'deleted' => 'deleted' ) ) . "\n";
477477 } elseif( $row->rev_comment != '' ) {
478 - $out .= " " . wfElementClean( 'comment', null, strval( $row->rev_comment ) ) . "\n";
 478+ $out .= " " . Xml::elementClean( 'comment', null, strval( $row->rev_comment ) ) . "\n";
479479 }
480480
481481 if( $row->rev_deleted & Revision::DELETED_TEXT ) {
482 - $out .= " " . wfElement( 'text', array( 'deleted' => 'deleted' ) ) . "\n";
 482+ $out .= " " . Xml::element( 'text', array( 'deleted' => 'deleted' ) ) . "\n";
483483 } elseif( isset( $row->old_text ) ) {
484484 // Raw text from the database may have invalid chars
485485 $text = strval( Revision::getRevisionText( $row ) );
486 - $out .= " " . wfElementClean( 'text',
 486+ $out .= " " . Xml::elementClean( 'text',
487487 array( 'xml:space' => 'preserve' ),
488488 strval( $text ) ) . "\n";
489489 } else {
490490 // Stub output
491 - $out .= " " . wfElement( 'text',
 491+ $out .= " " . Xml::element( 'text',
492492 array( 'id' => $row->rev_text_id ),
493493 "" ) . "\n";
494494 }
@@ -511,31 +511,31 @@
512512 wfProfileIn( $fname );
513513
514514 $out = " <logitem>\n";
515 - $out .= " " . wfElement( 'id', null, strval( $row->log_id ) ) . "\n";
 515+ $out .= " " . Xml::element( 'id', null, strval( $row->log_id ) ) . "\n";
516516
517517 $out .= $this->writeTimestamp( $row->log_timestamp );
518518
519519 if( $row->log_deleted & LogPage::DELETED_USER ) {
520 - $out .= " " . wfElement( 'contributor', array( 'deleted' => 'deleted' ) ) . "\n";
 520+ $out .= " " . Xml::element( 'contributor', array( 'deleted' => 'deleted' ) ) . "\n";
521521 } else {
522522 $out .= $this->writeContributor( $row->log_user, $row->user_name );
523523 }
524524
525525 if( $row->log_deleted & LogPage::DELETED_COMMENT ) {
526 - $out .= " " . wfElement( 'comment', array( 'deleted' => 'deleted' ) ) . "\n";
 526+ $out .= " " . Xml::element( 'comment', array( 'deleted' => 'deleted' ) ) . "\n";
527527 } elseif( $row->log_comment != '' ) {
528 - $out .= " " . wfElementClean( 'comment', null, strval( $row->log_comment ) ) . "\n";
 528+ $out .= " " . Xml::elementClean( 'comment', null, strval( $row->log_comment ) ) . "\n";
529529 }
530530
531 - $out .= " " . wfElement( 'type', null, strval( $row->log_type ) ) . "\n";
532 - $out .= " " . wfElement( 'action', null, strval( $row->log_action ) ) . "\n";
 531+ $out .= " " . Xml::element( 'type', null, strval( $row->log_type ) ) . "\n";
 532+ $out .= " " . Xml::element( 'action', null, strval( $row->log_action ) ) . "\n";
533533
534534 if( $row->log_deleted & LogPage::DELETED_ACTION ) {
535 - $out .= " " . wfElement( 'text', array( 'deleted' => 'deleted' ) ) . "\n";
 535+ $out .= " " . Xml::element( 'text', array( 'deleted' => 'deleted' ) ) . "\n";
536536 } else {
537537 $title = Title::makeTitle( $row->log_namespace, $row->log_title );
538 - $out .= " " . wfElementClean( 'logtitle', null, $title->getPrefixedText() ) . "\n";
539 - $out .= " " . wfElementClean( 'params',
 538+ $out .= " " . Xml::elementClean( 'logtitle', null, $title->getPrefixedText() ) . "\n";
 539+ $out .= " " . Xml::elementClean( 'params',
540540 array( 'xml:space' => 'preserve' ),
541541 strval( $row->log_params ) ) . "\n";
542542 }
@@ -548,16 +548,16 @@
549549
550550 function writeTimestamp( $timestamp ) {
551551 $ts = wfTimestamp( TS_ISO_8601, $timestamp );
552 - return " " . wfElement( 'timestamp', null, $ts ) . "\n";
 552+ return " " . Xml::element( 'timestamp', null, $ts ) . "\n";
553553 }
554554
555555 function writeContributor( $id, $text ) {
556556 $out = " <contributor>\n";
557557 if( $id ) {
558 - $out .= " " . wfElementClean( 'username', null, strval( $text ) ) . "\n";
559 - $out .= " " . wfElement( 'id', null, strval( $id ) ) . "\n";
 558+ $out .= " " . Xml::elementClean( 'username', null, strval( $text ) ) . "\n";
 559+ $out .= " " . Xml::element( 'id', null, strval( $id ) ) . "\n";
560560 } else {
561 - $out .= " " . wfElementClean( 'ip', null, strval( $text ) ) . "\n";
 561+ $out .= " " . Xml::elementClean( 'ip', null, strval( $text ) ) . "\n";
562562 }
563563 $out .= " </contributor>\n";
564564 return $out;
@@ -585,10 +585,10 @@
586586 return " <upload>\n" .
587587 $this->writeTimestamp( $file->getTimestamp() ) .
588588 $this->writeContributor( $file->getUser( 'id' ), $file->getUser( 'text' ) ) .
589 - " " . wfElementClean( 'comment', null, $file->getDescription() ) . "\n" .
590 - " " . wfElement( 'filename', null, $file->getName() ) . "\n" .
591 - " " . wfElement( 'src', null, $file->getFullUrl() ) . "\n" .
592 - " " . wfElement( 'size', null, $file->getSize() ) . "\n" .
 589+ " " . Xml::elementClean( 'comment', null, $file->getDescription() ) . "\n" .
 590+ " " . Xml::element( 'filename', null, $file->getName() ) . "\n" .
 591+ " " . Xml::element( 'src', null, $file->getFullUrl() ) . "\n" .
 592+ " " . Xml::element( 'size', null, $file->getSize() ) . "\n" .
593593 " </upload>\n";
594594 }
595595
Index: trunk/phase3/includes/api/ApiFormatWddx.php
@@ -73,7 +73,7 @@
7474 $cnt = count($elemValue);
7575 if($cnt == 0 || array_keys($elemValue) === range(0, $cnt - 1)) {
7676 // Regular array
77 - $this->printText($indstr . wfElement('array', array(
 77+ $this->printText($indstr . Xml::element('array', array(
7878 'length' => $cnt
7979 ), null) . $nl);
8080 foreach($elemValue as $subElemValue)
@@ -83,7 +83,7 @@
8484 // Associative array (<struct>)
8585 $this->printText("$indstr<struct>$nl");
8686 foreach($elemValue as $subElemName => $subElemValue) {
87 - $this->printText($indstr2 . wfElement('var', array(
 87+ $this->printText($indstr2 . Xml::element('var', array(
8888 'name' => $subElemName
8989 ), null) . $nl);
9090 $this->slowWddxPrinter($subElemValue, $indent + 4);
@@ -94,10 +94,10 @@
9595 break;
9696 case 'integer' :
9797 case 'double' :
98 - $this->printText($indstr . wfElement('number', null, $elemValue) . $nl);
 98+ $this->printText($indstr . Xml::element('number', null, $elemValue) . $nl);
9999 break;
100100 case 'string' :
101 - $this->printText($indstr . wfElement('string', null, $elemValue) . $nl);
 101+ $this->printText($indstr . Xml::element('string', null, $elemValue) . $nl);
102102 break;
103103 default :
104104 ApiBase :: dieDebug(__METHOD__, 'Unknown type ' . gettype($elemValue));
Index: trunk/phase3/includes/api/ApiFormatXml.php
@@ -130,11 +130,11 @@
131131 ApiBase :: dieDebug(__METHOD__, "($elemName, ...) has content and subelements");
132132
133133 if (!is_null($subElemContent)) {
134 - $this->printText($indstr . wfElement($elemName, $elemValue, $subElemContent));
 134+ $this->printText($indstr . Xml::element($elemName, $elemValue, $subElemContent));
135135 } elseif (!count($indElements) && !count($subElements)) {
136 - $this->printText($indstr . wfElement($elemName, $elemValue));
 136+ $this->printText($indstr . Xml::element($elemName, $elemValue));
137137 } else {
138 - $this->printText($indstr . wfElement($elemName, $elemValue, null));
 138+ $this->printText($indstr . Xml::element($elemName, $elemValue, null));
139139
140140 foreach ($subElements as $subElemId => & $subElemValue)
141141 $this->recXmlPrint($subElemId, $subElemValue, $indent);
@@ -142,14 +142,14 @@
143143 foreach ($indElements as $subElemId => & $subElemValue)
144144 $this->recXmlPrint($subElemIndName, $subElemValue, $indent);
145145
146 - $this->printText($indstr . wfCloseElement($elemName));
 146+ $this->printText($indstr . Xml::closeElement($elemName));
147147 }
148148 break;
149149 case 'object' :
150150 // ignore
151151 break;
152152 default :
153 - $this->printText($indstr . wfElement($elemName, null, $elemValue));
 153+ $this->printText($indstr . Xml::element($elemName, null, $elemValue));
154154 break;
155155 }
156156 }
Index: trunk/phase3/includes/SkinTemplate.php
@@ -311,7 +311,7 @@
312312 $sep = str_replace("_", " ", wfMsgHtml("newtalkseparator"));
313313 $msgs = array();
314314 foreach ($newtalks as $newtalk) {
315 - $msgs[] = wfElement("a",
 315+ $msgs[] = Xml::element("a",
316316 array('href' => $newtalk["link"]), $newtalk["wiki"]);
317317 }
318318 $parts = implode($sep, $msgs);
@@ -438,7 +438,7 @@
439439 // XXX: attach this from javascript, same with section editing
440440 if($this->iseditable && $wgUser->getOption("editondblclick") )
441441 {
442 - $encEditUrl = wfEscapeJsString( $this->mTitle->getLocalUrl( $this->editUrlOptions() ) );
 442+ $encEditUrl = Xml::escapeJsString( $this->mTitle->getLocalUrl( $this->editUrlOptions() ) );
443443 $tpl->set('body_ondblclick', 'document.location = "' . $encEditUrl . '";');
444444 } else {
445445 $tpl->set('body_ondblclick', false);
Index: trunk/phase3/includes/specials/SpecialUndelete.php
@@ -791,37 +791,37 @@
792792 }
793793
794794 $wgOut->addHTML(
795 - wfElement( 'textarea', array(
 795+ Xml::element( 'textarea', array(
796796 'readonly' => 'readonly',
797797 'cols' => intval( $wgUser->getOption( 'cols' ) ),
798798 'rows' => intval( $wgUser->getOption( 'rows' ) ) ),
799799 $rev->getText( Revision::FOR_THIS_USER ) . "\n" ) .
800 - wfOpenElement( 'div' ) .
801 - wfOpenElement( 'form', array(
 800+ Xml::openElement( 'div' ) .
 801+ Xml::openElement( 'form', array(
802802 'method' => 'post',
803803 'action' => $self->getLocalURL( "action=submit" ) ) ) .
804 - wfElement( 'input', array(
 804+ Xml::element( 'input', array(
805805 'type' => 'hidden',
806806 'name' => 'target',
807807 'value' => $this->mTargetObj->getPrefixedDbKey() ) ) .
808 - wfElement( 'input', array(
 808+ Xml::element( 'input', array(
809809 'type' => 'hidden',
810810 'name' => 'timestamp',
811811 'value' => $timestamp ) ) .
812 - wfElement( 'input', array(
 812+ Xml::element( 'input', array(
813813 'type' => 'hidden',
814814 'name' => 'wpEditToken',
815815 'value' => $wgUser->editToken() ) ) .
816 - wfElement( 'input', array(
 816+ Xml::element( 'input', array(
817817 'type' => 'submit',
818818 'name' => 'preview',
819819 'value' => wfMsg( 'showpreview' ) ) ) .
820 - wfElement( 'input', array(
 820+ Xml::element( 'input', array(
821821 'name' => 'diff',
822822 'type' => 'submit',
823823 'value' => wfMsg( 'showdiff' ) ) ) .
824 - wfCloseElement( 'form' ) .
825 - wfCloseElement( 'div' ) );
 824+ Xml::closeElement( 'form' ) .
 825+ Xml::closeElement( 'div' ) );
826826 }
827827
828828 /**
Index: trunk/phase3/includes/specials/SpecialPreferences.php
@@ -936,9 +936,9 @@
937937 global $wgLivePreview;
938938 $wgOut->addHTML( '<fieldset><legend>' . wfMsg( 'textboxsize' ) . '</legend>
939939 <div>' .
940 - wfInputLabel( wfMsg( 'rows' ), 'wpRows', 'wpRows', 3, $this->mRows ) .
 940+ Xml::inputLabel( wfMsg( 'rows' ), 'wpRows', 'wpRows', 3, $this->mRows ) .
941941 ' ' .
942 - wfInputLabel( wfMsg( 'columns' ), 'wpCols', 'wpCols', 3, $this->mCols ) .
 942+ Xml::inputLabel( wfMsg( 'columns' ), 'wpCols', 'wpCols', 3, $this->mCols ) .
943943 "</div>" .
944944 $this->getToggles( array(
945945 'editsection',
Index: trunk/phase3/includes/specials/SpecialRecentchanges.php
@@ -485,7 +485,7 @@
486486 * @return string
487487 */
488488 protected function namespaceFilterForm( FormOptions $opts ) {
489 - $nsSelect = HTMLnamespaceselector( $opts['namespace'], '' );
 489+ $nsSelect = Xml::namespaceSelector( $opts['namespace'], '' );
490490 $nsLabel = Xml::label( wfMsg('namespace'), 'namespace' );
491491 $invert = Xml::checkLabel( wfMsg('invert'), 'invert', 'nsinvert', $opts['invert'] );
492492 return array( $nsLabel, "$nsSelect $invert" );
Index: trunk/phase3/includes/specials/SpecialConfirmemail.php
@@ -71,10 +71,10 @@
7272 }
7373 $wgOut->addWikiMsg( 'confirmemail_text' );
7474 $self = SpecialPage::getTitleFor( 'Confirmemail' );
75 - $form = wfOpenElement( 'form', array( 'method' => 'post', 'action' => $self->getLocalUrl() ) );
76 - $form .= wfHidden( 'token', $wgUser->editToken() );
77 - $form .= wfSubmitButton( wfMsgHtml( 'confirmemail_send' ) );
78 - $form .= wfCloseElement( 'form' );
 75+ $form = Xml::openElement( 'form', array( 'method' => 'post', 'action' => $self->getLocalUrl() ) );
 76+ $form .= Xml::hidden( 'token', $wgUser->editToken() );
 77+ $form .= Xml::submitButton( wfMsgHtml( 'confirmemail_send' ) );
 78+ $form .= Xml::closeElement( 'form' );
7979 $wgOut->addHTML( $form );
8080 }
8181 }
Index: trunk/phase3/includes/specials/SpecialMergeHistory.php
@@ -231,7 +231,7 @@
232232 $last = $this->message['last'];
233233
234234 $ts = wfTimestamp( TS_MW, $row->rev_timestamp );
235 - $checkBox = wfRadio( "mergepoint", $ts, false );
 235+ $checkBox = Xml::radio( "mergepoint", $ts, false );
236236
237237 $pageLink = $this->sk->makeKnownLinkObj( $rev->getTitle(),
238238 htmlspecialchars( $wgLang->timeanddate( $ts ) ), 'oldid=' . $rev->getId() );
Index: trunk/phase3/includes/Skin.php
@@ -646,7 +646,7 @@
647647 if($wgOut->isArticle() && $wgUser->getOption('editondblclick') &&
648648 $wgTitle->quickUserCan( 'edit' ) ) {
649649 $s = $wgTitle->getFullURL( $this->editUrlOptions() );
650 - $s = 'document.location = "' .wfEscapeJSString( $s ) .'";';
 650+ $s = 'document.location = "' .Xml::escapeJsString( $s ) .'";';
651651 $a += array ('ondblclick' => $s);
652652
653653 }

Status & tagging log