* to ensure that client-side caches don't keep obsolete copies of global
* styles.
*/
-$wgStyleVersion = '142';
+$wgStyleVersion = '143';
# Server-side caching:
$wgOut->setRobotpolicy( 'noindex,nofollow' );
$wgOut->setSyndicated( true );
$wgOut->setFeedAppendQuery( 'action=history' );
+ $wgOut->addScriptFile( 'history.js' );
$logPage = SpecialPage::getTitleFor( 'Log' );
$logLink = $this->mSkin->makeKnownLinkObj( $logPage, wfMsgHtml( 'viewpagelogs' ), 'page=' . $this->mTitle->getPrefixedUrl() );
--- /dev/null
+function historyRadios(parent) {
+ var inputs = parent.getElementsByTagName('input');
+ var radios = [];
+ for (var i = 0; i < inputs.length; i++) {
+ if (inputs[i].name == "diff" || inputs[i].name == "oldid") {
+ radios[radios.length] = inputs[i];
+ }
+ }
+ return radios;
+}
+
+// check selection and tweak visibility/class onclick
+function diffcheck() {
+ var dli = false; // the li where the diff radio is checked
+ var oli = false; // the li where the oldid radio is checked
+ var hf = document.getElementById('pagehistory');
+ if (!hf) {
+ return true;
+ }
+ var lis = hf.getElementsByTagName('li');
+ for (var i=0;i<lis.length;i++) {
+ var inputs = historyRadios(lis[i]);
+ if (inputs[1] && inputs[0]) {
+ if (inputs[1].checked || inputs[0].checked) { // this row has a checked radio button
+ if (inputs[1].checked && inputs[0].checked && inputs[0].value == inputs[1].value) {
+ return false;
+ }
+ if (oli) { // it's the second checked radio
+ if (inputs[1].checked) {
+ oli.className = "selected";
+ return false;
+ }
+ } else if (inputs[0].checked) {
+ return false;
+ }
+ if (inputs[0].checked) {
+ dli = lis[i];
+ }
+ if (!oli) {
+ inputs[0].style.visibility = 'hidden';
+ }
+ if (dli) {
+ inputs[1].style.visibility = 'hidden';
+ }
+ lis[i].className = "selected";
+ oli = lis[i];
+ } else { // no radio is checked in this row
+ if (!oli) {
+ inputs[0].style.visibility = 'hidden';
+ } else {
+ inputs[0].style.visibility = 'visible';
+ }
+ if (dli) {
+ inputs[1].style.visibility = 'hidden';
+ } else {
+ inputs[1].style.visibility = 'visible';
+ }
+ lis[i].className = "";
+ }
+ }
+ }
+ return true;
+}
+
+// page history stuff
+// attach event handlers to the input elements on history page
+function histrowinit() {
+ var hf = document.getElementById('pagehistory');
+ if (!hf) {
+ return;
+ }
+ var lis = hf.getElementsByTagName('li');
+ for (var i = 0; i < lis.length; i++) {
+ var inputs = historyRadios(lis[i]);
+ if (inputs[0] && inputs[1]) {
+ inputs[0].onclick = diffcheck;
+ inputs[1].onclick = diffcheck;
+ }
+ }
+ diffcheck();
+}
+
+hookEvent("load", histrowinit);
}
}
-function historyRadios(parent) {
- var inputs = parent.getElementsByTagName('input');
- var radios = [];
- for (var i = 0; i < inputs.length; i++) {
- if (inputs[i].name == "diff" || inputs[i].name == "oldid") {
- radios[radios.length] = inputs[i];
- }
- }
- return radios;
-}
-
-// check selection and tweak visibility/class onclick
-function diffcheck() {
- var dli = false; // the li where the diff radio is checked
- var oli = false; // the li where the oldid radio is checked
- var hf = document.getElementById('pagehistory');
- if (!hf) {
- return true;
- }
- var lis = hf.getElementsByTagName('li');
- for (var i=0;i<lis.length;i++) {
- var inputs = historyRadios(lis[i]);
- if (inputs[1] && inputs[0]) {
- if (inputs[1].checked || inputs[0].checked) { // this row has a checked radio button
- if (inputs[1].checked && inputs[0].checked && inputs[0].value == inputs[1].value) {
- return false;
- }
- if (oli) { // it's the second checked radio
- if (inputs[1].checked) {
- oli.className = "selected";
- return false;
- }
- } else if (inputs[0].checked) {
- return false;
- }
- if (inputs[0].checked) {
- dli = lis[i];
- }
- if (!oli) {
- inputs[0].style.visibility = 'hidden';
- }
- if (dli) {
- inputs[1].style.visibility = 'hidden';
- }
- lis[i].className = "selected";
- oli = lis[i];
- } else { // no radio is checked in this row
- if (!oli) {
- inputs[0].style.visibility = 'hidden';
- } else {
- inputs[0].style.visibility = 'visible';
- }
- if (dli) {
- inputs[1].style.visibility = 'hidden';
- } else {
- inputs[1].style.visibility = 'visible';
- }
- lis[i].className = "";
- }
- }
- }
- return true;
-}
-
-// page history stuff
-// attach event handlers to the input elements on history page
-function histrowinit() {
- var hf = document.getElementById('pagehistory');
- if (!hf) {
- return;
- }
- var lis = hf.getElementsByTagName('li');
- for (var i = 0; i < lis.length; i++) {
- var inputs = historyRadios(lis[i]);
- if (inputs[0] && inputs[1]) {
- inputs[0].onclick = diffcheck;
- inputs[1].onclick = diffcheck;
- }
- }
- diffcheck();
-}
-
// generate toc from prefs form, fold sections
// XXX: needs testing on IE/Mac and safari
// more comments to follow
// might cause the function to terminate prematurely
doneOnloadHook = true;
- histrowinit();
unhidetzbutton();
tabbedprefs();
updateTooltipAccessKeys( null );