Index: trunk/phase3/includes/OutputPage.php |
— | — | @@ -1864,7 +1864,7 @@ |
1865 | 1865 | wfRunHooks( 'BeforePageDisplay', array( &$this, &$sk ) ); |
1866 | 1866 | |
1867 | 1867 | wfProfileIn( 'Output-skin' ); |
1868 | | - $sk->outputPage( $this ); |
| 1868 | + $sk->outputPage(); |
1869 | 1869 | wfProfileOut( 'Output-skin' ); |
1870 | 1870 | } |
1871 | 1871 | |
Index: trunk/phase3/includes/SkinTemplate.php |
— | — | @@ -131,10 +131,10 @@ |
132 | 132 | * |
133 | 133 | * @param $out OutputPage |
134 | 134 | */ |
135 | | - function outputPage( OutputPage $out ) { |
136 | | - global $wgUser, $wgLang, $wgContLang; |
| 135 | + function outputPage( OutputPage $out=null ) { |
| 136 | + global $wgContLang; |
137 | 137 | global $wgScript, $wgStylePath; |
138 | | - global $wgMimeType, $wgJsMimeType, $wgRequest; |
| 138 | + global $wgMimeType, $wgJsMimeType; |
139 | 139 | global $wgXhtmlDefaultNamespace, $wgXhtmlNamespaces, $wgHtml5Version; |
140 | 140 | global $wgDisableCounters, $wgLogo, $wgHideInterlanguageLinks; |
141 | 141 | global $wgMaxCredits, $wgShowCreditsIfMax; |
— | — | @@ -145,6 +145,17 @@ |
146 | 146 | wfProfileIn( __METHOD__ ); |
147 | 147 | Profiler::instance()->setTemplated( true ); |
148 | 148 | |
| 149 | + $oldContext = null; |
| 150 | + if ( $out !== null ) { |
| 151 | + // @todo Add wfDeprecated in 1.20 |
| 152 | + $oldContext = $this->getContext(); |
| 153 | + $this->setContext( $out->getContext() ); |
| 154 | + } |
| 155 | + |
| 156 | + $out = $this->getOutput(); |
| 157 | + $request = $this->getRequest(); |
| 158 | + $user = $this->getUser(); |
| 159 | + |
149 | 160 | wfProfileIn( __METHOD__ . '-init' ); |
150 | 161 | $this->initPage( $out ); |
151 | 162 | |
— | — | @@ -153,19 +164,19 @@ |
154 | 165 | |
155 | 166 | wfProfileIn( __METHOD__ . '-stuff' ); |
156 | 167 | $this->thispage = $this->getTitle()->getPrefixedDBkey(); |
157 | | - $this->userpage = $this->getUser()->getUserPage()->getPrefixedText(); |
| 168 | + $this->userpage = $user->getUserPage()->getPrefixedText(); |
158 | 169 | $query = array(); |
159 | | - if ( !$wgRequest->wasPosted() ) { |
160 | | - $query = $wgRequest->getValues(); |
| 170 | + if ( !$request->wasPosted() ) { |
| 171 | + $query = $request->getValues(); |
161 | 172 | unset( $query['title'] ); |
162 | 173 | unset( $query['returnto'] ); |
163 | 174 | unset( $query['returntoquery'] ); |
164 | 175 | } |
165 | 176 | $this->thisquery = wfArrayToCGI( $query ); |
166 | | - $this->loggedin = $wgUser->isLoggedIn(); |
167 | | - $this->username = $wgUser->getName(); |
| 177 | + $this->loggedin = $user->isLoggedIn(); |
| 178 | + $this->username = $user->getName(); |
168 | 179 | |
169 | | - if ( $wgUser->isLoggedIn() || $this->showIPinHeader() ) { |
| 180 | + if ( $user->isLoggedIn() || $this->showIPinHeader() ) { |
170 | 181 | $this->userpageUrlDetails = self::makeUrlDetails( $this->userpage ); |
171 | 182 | } else { |
172 | 183 | # This won't be used in the standard skins, but we define it to preserve the interface |
— | — | @@ -262,7 +273,7 @@ |
263 | 274 | $tpl->set( 'skinclass', get_class( $this ) ); |
264 | 275 | $tpl->setRef( 'stylename', $this->stylename ); |
265 | 276 | $tpl->set( 'printable', $out->isPrintable() ); |
266 | | - $tpl->set( 'handheld', $wgRequest->getBool( 'handheld' ) ); |
| 277 | + $tpl->set( 'handheld', $request->getBool( 'handheld' ) ); |
267 | 278 | $tpl->setRef( 'loggedin', $this->loggedin ); |
268 | 279 | $tpl->set( 'notspecialpage', $this->getTitle()->getNamespace() != NS_SPECIAL ); |
269 | 280 | /* XXX currently unused, might get useful later |
— | — | @@ -274,7 +285,7 @@ |
275 | 286 | */ |
276 | 287 | $tpl->set( 'searchaction', $this->escapeSearchLink() ); |
277 | 288 | $tpl->set( 'searchtitle', SpecialPage::getTitleFor( 'Search' )->getPrefixedDBKey() ); |
278 | | - $tpl->set( 'search', trim( $wgRequest->getVal( 'search' ) ) ); |
| 289 | + $tpl->set( 'search', trim( $request->getVal( 'search' ) ) ); |
279 | 290 | $tpl->setRef( 'stylepath', $wgStylePath ); |
280 | 291 | $tpl->setRef( 'articlepath', $wgArticlePath ); |
281 | 292 | $tpl->setRef( 'scriptpath', $wgScriptPath ); |
— | — | @@ -283,16 +294,16 @@ |
284 | 295 | |
285 | 296 | $contentlang = $wgContLang->getCode(); |
286 | 297 | $contentdir = $wgContLang->getDir(); |
287 | | - $userlang = $wgLang->getCode(); |
288 | | - $userdir = $wgLang->getDir(); |
| 298 | + $userlang = $this->getLang()->getCode(); |
| 299 | + $userdir = $this->getLang()->getDir(); |
289 | 300 | |
290 | 301 | $tpl->set( 'lang', $userlang ); |
291 | 302 | $tpl->set( 'dir', $userdir ); |
292 | | - $tpl->set( 'rtl', $wgLang->isRTL() ); |
| 303 | + $tpl->set( 'rtl', $this->getLang()->isRTL() ); |
293 | 304 | |
294 | | - $tpl->set( 'capitalizeallnouns', $wgLang->capitalizeAllNouns() ? ' capitalize-all-nouns' : '' ); |
295 | | - $tpl->set( 'showjumplinks', $wgUser->getOption( 'showjumplinks' ) ); |
296 | | - $tpl->set( 'username', $wgUser->isAnon() ? null : $this->username ); |
| 305 | + $tpl->set( 'capitalizeallnouns', $this->getLang()->capitalizeAllNouns() ? ' capitalize-all-nouns' : '' ); |
| 306 | + $tpl->set( 'showjumplinks', $user->getOption( 'showjumplinks' ) ); |
| 307 | + $tpl->set( 'username', $user->isAnon() ? null : $this->username ); |
297 | 308 | $tpl->setRef( 'userpage', $this->userpage ); |
298 | 309 | $tpl->setRef( 'userpageurl', $this->userpageUrlDetails['href'] ); |
299 | 310 | $tpl->set( 'userlang', $userlang ); |
— | — | @@ -324,7 +335,7 @@ |
325 | 336 | if ( $this->isRevisionCurrent() ) { |
326 | 337 | $article = new Article( $this->getTitle(), 0 ); |
327 | 338 | if ( !$wgDisableCounters ) { |
328 | | - $viewcount = $wgLang->formatNum( $article->getCount() ); |
| 339 | + $viewcount = $this->getLang()->formatNum( $article->getCount() ); |
329 | 340 | if ( $viewcount ) { |
330 | 341 | $tpl->set( 'viewcount', wfMsgExt( 'viewcount', array( 'parseinline' ), $viewcount ) ); |
331 | 342 | } |
— | — | @@ -339,7 +350,7 @@ |
340 | 351 | if( $num > 0 ) { |
341 | 352 | $tpl->set( 'numberofwatchingusers', |
342 | 353 | wfMsgExt( 'number_of_watching_users_pageview', array( 'parseinline' ), |
343 | | - $wgLang->formatNum( $num ) ) |
| 354 | + $this->getLang()->formatNum( $num ) ) |
344 | 355 | ); |
345 | 356 | } |
346 | 357 | } |
— | — | @@ -410,7 +421,7 @@ |
411 | 422 | # not for special pages or file pages AND only when viewing AND if the page exists |
412 | 423 | # (or is in MW namespace, because that has default content) |
413 | 424 | if( !in_array( $this->getTitle()->getNamespace(), array( NS_SPECIAL, NS_FILE ) ) && |
414 | | - in_array( $wgRequest->getVal( 'action', 'view' ), array( 'view', 'historysubmit' ) ) && |
| 425 | + in_array( $request->getVal( 'action', 'view' ), array( 'view', 'historysubmit' ) ) && |
415 | 426 | ( $this->getTitle()->exists() || $this->getTitle()->getNamespace() == NS_MEDIAWIKI ) ) { |
416 | 427 | $pageLang = $this->getTitle()->getPageLanguage(); |
417 | 428 | $realBodyAttribs = array( 'lang' => $pageLang->getCode(), 'dir' => $pageLang->getDir(), |
— | — | @@ -449,14 +460,14 @@ |
450 | 461 | |
451 | 462 | wfProfileIn( __METHOD__ . '-stuff5' ); |
452 | 463 | # Personal toolbar |
453 | | - $tpl->set( 'personal_urls', $this->buildPersonalUrls( $out ) ); |
454 | | - $content_navigation = $this->buildContentNavigationUrls( $out ); |
| 464 | + $tpl->set( 'personal_urls', $this->buildPersonalUrls() ); |
| 465 | + $content_navigation = $this->buildContentNavigationUrls(); |
455 | 466 | $content_actions = $this->buildContentActionUrls( $content_navigation ); |
456 | 467 | $tpl->setRef( 'content_navigation', $content_navigation ); |
457 | 468 | $tpl->setRef( 'content_actions', $content_actions ); |
458 | 469 | |
459 | 470 | $tpl->set( 'sidebar', $this->buildSidebar() ); |
460 | | - $tpl->set( 'nav_urls', $this->buildNavUrls( $out ) ); |
| 471 | + $tpl->set( 'nav_urls', $this->buildNavUrls() ); |
461 | 472 | |
462 | 473 | // Set the head scripts near the end, in case the above actions resulted in added scripts |
463 | 474 | if ( $this->useHeadElement ) { |
— | — | @@ -484,6 +495,10 @@ |
485 | 496 | |
486 | 497 | // result may be an error |
487 | 498 | $this->printOrError( $res ); |
| 499 | + |
| 500 | + if ( $oldContext ) { |
| 501 | + $this->setContext( $oldContext ); |
| 502 | + } |
488 | 503 | wfProfileOut( __METHOD__ ); |
489 | 504 | } |
490 | 505 | |
— | — | @@ -516,18 +531,17 @@ |
517 | 532 | * build array of urls for personal toolbar |
518 | 533 | * @return array |
519 | 534 | */ |
520 | | - protected function buildPersonalUrls( OutputPage $out ) { |
521 | | - global $wgRequest; |
522 | | - |
523 | | - $title = $out->getTitle(); |
| 535 | + protected function buildPersonalUrls() { |
| 536 | + $title = $this->getTitle(); |
| 537 | + $request = $this->getRequest(); |
524 | 538 | $pageurl = $title->getLocalURL(); |
525 | 539 | wfProfileIn( __METHOD__ ); |
526 | 540 | |
527 | 541 | /* set up the default links for the personal toolbar */ |
528 | 542 | $personal_urls = array(); |
529 | 543 | |
530 | | - $page = $wgRequest->getVal( 'returnto', $this->thispage ); |
531 | | - $query = $wgRequest->getVal( 'returntoquery', $this->thisquery ); |
| 544 | + $page = $request->getVal( 'returnto', $this->thispage ); |
| 545 | + $query = $request->getVal( 'returntoquery', $this->thisquery ); |
532 | 546 | $a = array( 'returnto' => $page ); |
533 | 547 | if( $query != '' ) { |
534 | 548 | $a['returntoquery'] = $query; |
— | — | @@ -565,12 +579,12 @@ |
566 | 580 | # from request values or be specified in "sub page" form. The plot |
567 | 581 | # thickens, because $wgTitle is altered for special pages, so doesn't |
568 | 582 | # contain the original alias-with-subpage. |
569 | | - $origTitle = Title::newFromText( $wgRequest->getText( 'title' ) ); |
| 583 | + $origTitle = Title::newFromText( $request->getText( 'title' ) ); |
570 | 584 | if( $origTitle instanceof Title && $origTitle->getNamespace() == NS_SPECIAL ) { |
571 | 585 | list( $spName, $spPar ) = SpecialPageFactory::resolveAlias( $origTitle->getText() ); |
572 | 586 | $active = $spName == 'Contributions' |
573 | 587 | && ( ( $spPar && $spPar == $this->username ) |
574 | | - || $wgRequest->getText( 'target' ) == $this->username ); |
| 588 | + || $request->getText( 'target' ) == $this->username ); |
575 | 589 | } else { |
576 | 590 | $active = false; |
577 | 591 | } |
— | — | @@ -591,12 +605,11 @@ |
592 | 606 | 'active' => false |
593 | 607 | ); |
594 | 608 | } else { |
595 | | - global $wgUser; |
596 | 609 | $useCombinedLoginLink = $this->useCombinedLoginLink(); |
597 | | - $loginlink = $wgUser->isAllowed( 'createaccount' ) && $useCombinedLoginLink |
| 610 | + $loginlink = $this->getUser()->isAllowed( 'createaccount' ) && $useCombinedLoginLink |
598 | 611 | ? 'nav-login-createaccount' |
599 | 612 | : 'login'; |
600 | | - $is_signup = $wgRequest->getText('type') == "signup"; |
| 613 | + $is_signup = $request->getText('type') == "signup"; |
601 | 614 | |
602 | 615 | # anonlogin & login are the same |
603 | 616 | $login_url = array( |
— | — | @@ -604,7 +617,7 @@ |
605 | 618 | 'href' => self::makeSpecialUrl( 'Userlogin', $returnto ), |
606 | 619 | 'active' => $title->isSpecial( 'Userlogin' ) && ( $loginlink == "nav-login-createaccount" || !$is_signup ) |
607 | 620 | ); |
608 | | - if ( $wgUser->isAllowed( 'createaccount' ) && !$useCombinedLoginLink ) { |
| 621 | + if ( $this->getUser()->isAllowed( 'createaccount' ) && !$useCombinedLoginLink ) { |
609 | 622 | $createaccount_url = array( |
610 | 623 | 'text' => wfMsg( 'createaccount' ), |
611 | 624 | 'href' => self::makeSpecialUrl( 'Userlogin', "$returnto&type=signup" ), |
— | — | @@ -762,8 +775,8 @@ |
763 | 776 | * |
764 | 777 | * @return array |
765 | 778 | */ |
766 | | - protected function buildContentNavigationUrls( OutputPage $out ) { |
767 | | - global $wgContLang, $wgLang, $wgUser, $wgRequest; |
| 779 | + protected function buildContentNavigationUrls() { |
| 780 | + global $wgContLang; |
768 | 781 | global $wgDisableLangConversion; |
769 | 782 | |
770 | 783 | wfProfileIn( __METHOD__ ); |
— | — | @@ -771,6 +784,10 @@ |
772 | 785 | $title = $this->getRelevantTitle(); // Display tabs for the relevant title rather than always the title itself |
773 | 786 | $onPage = $title->equals($this->getTitle()); |
774 | 787 | |
| 788 | + $out = $this->getOutput(); |
| 789 | + $request = $this->getRequest(); |
| 790 | + $user = $this->getUser(); |
| 791 | + |
775 | 792 | $content_navigation = array( |
776 | 793 | 'namespaces' => array(), |
777 | 794 | 'views' => array(), |
— | — | @@ -779,8 +796,8 @@ |
780 | 797 | ); |
781 | 798 | |
782 | 799 | // parameters |
783 | | - $action = $wgRequest->getVal( 'action', 'view' ); |
784 | | - $section = $wgRequest->getVal( 'section' ); |
| 800 | + $action = $request->getVal( 'action', 'view' ); |
| 801 | + $section = $request->getVal( 'section' ); |
785 | 802 | |
786 | 803 | $userCanRead = $title->userCanRead(); |
787 | 804 | $skname = $this->skinname; |
— | — | @@ -898,7 +915,7 @@ |
899 | 916 | 'rel' => 'archives', |
900 | 917 | ); |
901 | 918 | |
902 | | - if( $wgUser->isAllowed( 'delete' ) ) { |
| 919 | + if( $user->isAllowed( 'delete' ) ) { |
903 | 920 | $content_navigation['actions']['delete'] = array( |
904 | 921 | 'class' => ( $onPage && $action == 'delete' ) ? 'selected' : false, |
905 | 922 | 'text' => wfMessageFallback( "$skname-action-delete", 'delete' )->text(), |
— | — | @@ -914,7 +931,7 @@ |
915 | 932 | ); |
916 | 933 | } |
917 | 934 | |
918 | | - if ( $title->getNamespace() !== NS_MEDIAWIKI && $wgUser->isAllowed( 'protect' ) ) { |
| 935 | + if ( $title->getNamespace() !== NS_MEDIAWIKI && $user->isAllowed( 'protect' ) ) { |
919 | 936 | $mode = !$title->isProtected() ? 'protect' : 'unprotect'; |
920 | 937 | $content_navigation['actions'][$mode] = array( |
921 | 938 | 'class' => ( $onPage && $action == $mode ) ? 'selected' : false, |
— | — | @@ -924,23 +941,23 @@ |
925 | 942 | } |
926 | 943 | } else { |
927 | 944 | // article doesn't exist or is deleted |
928 | | - if ( $wgUser->isAllowed( 'deletedhistory' ) && !$wgUser->isBlocked() ) { |
929 | | - $includeSuppressed = $wgUser->isAllowed( 'suppressrevision' ); |
| 945 | + if ( $user->isAllowed( 'deletedhistory' ) && !$user->isBlocked() ) { |
| 946 | + $includeSuppressed = $user->isAllowed( 'suppressrevision' ); |
930 | 947 | $n = $title->isDeleted( $includeSuppressed ); |
931 | 948 | if( $n ) { |
932 | 949 | $undelTitle = SpecialPage::getTitleFor( 'Undelete' ); |
933 | 950 | // If the user can't undelete but can view deleted history show them a "View .. deleted" tab instead |
934 | | - $msgKey = $wgUser->isAllowed( 'undelete' ) ? 'undelete' : 'viewdeleted'; |
| 951 | + $msgKey = $user->isAllowed( 'undelete' ) ? 'undelete' : 'viewdeleted'; |
935 | 952 | $content_navigation['actions']['undelete'] = array( |
936 | 953 | 'class' => $this->getTitle()->isSpecial( 'Undelete' ) ? 'selected' : false, |
937 | 954 | 'text' => wfMessageFallback( "$skname-action-$msgKey", "{$msgKey}_short" ) |
938 | | - ->params( $wgLang->formatNum( $n ) )->text(), |
| 955 | + ->params( $this->getLang()->formatNum( $n ) )->text(), |
939 | 956 | 'href' => $undelTitle->getLocalURL( array( 'target' => $title->getPrefixedDBkey() ) ) |
940 | 957 | ); |
941 | 958 | } |
942 | 959 | } |
943 | 960 | |
944 | | - if ( $title->getNamespace() !== NS_MEDIAWIKI && $wgUser->isAllowed( 'protect' ) ) { |
| 961 | + if ( $title->getNamespace() !== NS_MEDIAWIKI && $user->isAllowed( 'protect' ) ) { |
945 | 962 | $mode = !$title->getRestrictions( 'create' ) ? 'protect' : 'unprotect'; |
946 | 963 | $content_navigation['actions'][$mode] = array( |
947 | 964 | 'class' => ( $onPage && $action == $mode ) ? 'selected' : false, |
— | — | @@ -963,7 +980,7 @@ |
964 | 981 | * the global versions. |
965 | 982 | */ |
966 | 983 | $mode = $title->userIsWatching() ? 'unwatch' : 'watch'; |
967 | | - $token = WatchAction::getWatchToken( $title, $wgUser, $mode ); |
| 984 | + $token = WatchAction::getWatchToken( $title, $user, $mode ); |
968 | 985 | $content_navigation['actions'][$mode] = array( |
969 | 986 | 'class' => $onPage && ( $action == 'watch' || $action == 'unwatch' ) ? 'selected' : false, |
970 | 987 | 'text' => wfMsg( $mode ), // uses 'watch' or 'unwatch' message |
— | — | @@ -977,7 +994,7 @@ |
978 | 995 | $content_navigation['namespaces']['special'] = array( |
979 | 996 | 'class' => 'selected', |
980 | 997 | 'text' => wfMsg( 'nstab-special' ), |
981 | | - 'href' => $wgRequest->getRequestURL(), // @bug 2457, 2510 |
| 998 | + 'href' => $request->getRequestURL(), // @bug 2457, 2510 |
982 | 999 | 'context' => 'subject' |
983 | 1000 | ); |
984 | 1001 | |
— | — | @@ -1105,17 +1122,20 @@ |
1106 | 1123 | * @return array |
1107 | 1124 | * @private |
1108 | 1125 | */ |
1109 | | - protected function buildNavUrls( OutputPage $out ) { |
1110 | | - global $wgUseTrackbacks, $wgUser, $wgRequest; |
| 1126 | + protected function buildNavUrls() { |
| 1127 | + global $wgUseTrackbacks; |
1111 | 1128 | global $wgUploadNavigationUrl; |
1112 | 1129 | |
1113 | 1130 | wfProfileIn( __METHOD__ ); |
1114 | 1131 | |
| 1132 | + $out = $this->getOutput(); |
| 1133 | + $request = $this->getRequest(); |
| 1134 | + |
1115 | 1135 | $nav_urls = array(); |
1116 | 1136 | $nav_urls['mainpage'] = array( 'href' => self::makeMainPageUrl() ); |
1117 | 1137 | if( $wgUploadNavigationUrl ) { |
1118 | 1138 | $nav_urls['upload'] = array( 'href' => $wgUploadNavigationUrl ); |
1119 | | - } elseif( UploadBase::isEnabled() && UploadBase::isAllowed( $wgUser ) === true ) { |
| 1139 | + } elseif( UploadBase::isEnabled() && UploadBase::isAllowed( $this->getUser() ) === true ) { |
1120 | 1140 | $nav_urls['upload'] = array( 'href' => self::makeSpecialUrl( 'Upload' ) ); |
1121 | 1141 | } else { |
1122 | 1142 | $nav_urls['upload'] = false; |
— | — | @@ -1132,7 +1152,7 @@ |
1133 | 1153 | $nav_urls['print'] = array( |
1134 | 1154 | 'text' => wfMsg( 'printableversion' ), |
1135 | 1155 | 'href' => $this->getTitle()->getLocalURL( |
1136 | | - $wgRequest->appendQueryValue( 'printable', 'yes', true ) ) |
| 1156 | + $request->appendQueryValue( 'printable', 'yes', true ) ) |
1137 | 1157 | ); |
1138 | 1158 | } |
1139 | 1159 | |
— | — | @@ -1198,7 +1218,7 @@ |
1199 | 1219 | $nav_urls['log'] = false; |
1200 | 1220 | } |
1201 | 1221 | |
1202 | | - if ( $wgUser->isAllowed( 'block' ) ) { |
| 1222 | + if ( $this->getUser()->isAllowed( 'block' ) ) { |
1203 | 1223 | $nav_urls['blockip'] = array( |
1204 | 1224 | 'href' => self::makeSpecialUrlSubpage( 'Block', $rootUser ) |
1205 | 1225 | ); |
— | — | @@ -1234,13 +1254,13 @@ |
1235 | 1255 | * @todo FIXME: Why is this duplicated in/from OutputPage::getHeadScripts()?? |
1236 | 1256 | */ |
1237 | 1257 | function setupUserJs( $allowUserJs ) { |
1238 | | - global $wgRequest, $wgJsMimeType; |
| 1258 | + global $wgJsMimeType; |
1239 | 1259 | wfProfileIn( __METHOD__ ); |
1240 | 1260 | |
1241 | 1261 | if( $allowUserJs && $this->loggedin ) { |
1242 | 1262 | if( $this->getTitle()->isJsSubpage() and $this->getOutput()->userCanPreview() ) { |
1243 | 1263 | # XXX: additional security check/prompt? |
1244 | | - $this->userjsprev = '/*<![CDATA[*/ ' . $wgRequest->getText( 'wpTextbox1' ) . ' /*]]>*/'; |
| 1264 | + $this->userjsprev = '/*<![CDATA[*/ ' . $this->getRequest()->getText( 'wpTextbox1' ) . ' /*]]>*/'; |
1245 | 1265 | } else { |
1246 | 1266 | $this->userjs = self::makeUrl( $this->userpage . '/' . $this->skinname . '.js', 'action=raw&ctype=' . $wgJsMimeType ); |
1247 | 1267 | } |