blob: cd9d09f765325a5266cf875b57fa7adaee471266 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012, 2015 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
//---------------------------------------------------------------------
//
// Hack around https://bugs.eclipse.org/376165 and https://bugs.eclipse.org/298256
//
// --------------------------------------------------------------------
//
// ==UserScript==
// @name Eclipse Wiki Auto-login
// @namespace http://www.eclipse.org/jdt/ui
// @description Eclipse Wiki Auto-login
// @grant none
// @downloadURL https://www.eclipse.org/jdt/ui/scripts/eclipse_wiki.user.js
// @updateURL https://www.eclipse.org/jdt/ui/scripts/eclipse_wiki.user.js
// @version 1.20150615T1237
// @include http://wiki.eclipse.org/*
// @include https://wiki.eclipse.org/*
//
// ==/UserScript==
function main() {
if (location.href.substr(0, 5) == "http:") {
// workaround for Bug 411348: Wiki login discarded on normal pages.
var loc= location.href;
console.debug("loc: '" + loc +"'");
var los= "https:" + loc.substr(5);
console.debug("los: '" + los +"'");
location.replace(los);
return;
}
if (window.location.href.match(/.*Special:UserLogout.*/)) {
console.debug("Logout page -- don't run into endless loop");
return;
}
var anchors = document.getElementsByTagName("a");
for (var i = 0; i < anchors.length; i++) {
var anchor = anchors[i];
if (anchor.href.indexOf("title=Special:UserLogin") != -1) {
console.debug("clicking 'Log in': " + anchor.href);
// for unknown reasons, this doesn't take us back to the original wiki page after logging in:
// location.href = anchor.href;
anchor.click();
return;
}
}
console.debug("no 'Log in' found (probably already logged in)");
//var firstHeadings = document.getElementsByClassName("firstHeading");
//for (var i = 0; i < firstHeadings.length; i++) {
// var firstHeading = firstHeadings[i];
// console.debug(firstHeading);
// if (firstHeading.textContent == "Login successful") {
// window.back();
// history.go
// return;
// }
//}
// workaround for Bug 455651: Watchlist: changed pages not identifiable (all links bold in Solstice)
if (window.location.href.match(/.*Special:Watchlist.*/)) {
var headElem= document.getElementsByTagName("head")[0];
if (headElem) {
var styleElem= document.createElement("style");
styleElem.type= "text/css";
styleElem.innerHTML = "a { font-weight: unset; }";
headElem.appendChild(styleElem);
}
}
} // main function
main();