User:Dcoetzee/Followed users.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
This user script seems to have a documentation page at User:Dcoetzee/Followed users. |
/* Followed users is an English Wikipedia tool on Toolserver that
allows you to keep a list of users that you follow, similar to a
watchlist, and lists the most recent edit by each user. The idea was
conceived by User:Quintucket. It requires you to log in with a
TUSC account before you can use it at:
http://toolserver.org/~dcoetzee/followedusers/
This has many uses, such as keeping an eye on warned users,
collaborating with users in a team, mentoring, following students in a
class, or just for learning from the edits of others. All followed
user lists are public.
This optional Javascript extension adds "Follow user"/"Unfollow user"
options to your toolbox on user/user talk pages and a link to Followed
users to the upper-right. To use it, follow this link to edit your
common.js and add "importScript("User:Dcoetzee/Followed_users.js");"
to the end:
http://en.wikipedia.org/w/index.php?title=Special:MyPage/common.js&action=edit&editintro=User:Dcoetzee/Followed_users_js_notice
*/
function follow_user() {
$.get(
"https://toolserver.org/~dcoetzee/followedusers/api.php",
{action : 'follow', username: $followee},
function(data) {
if (data == 'ok') {
document.getElementById('t-followuser').innerHTML =
"<a href=\"javascript:(function(){unfollow_user();})();\" title=\"Remove this user from your followed users list\">Unfollow user</a>";
} else if (data == 'unauthenticated') {
alert("You are not currently logged into the Followed users tool.");
}
}
);
}
function unfollow_user() {
$.get(
"https://toolserver.org/~dcoetzee/followedusers/api.php",
{action : 'unfollow', username: $followee},
function(data) {
if (data == 'ok') {
document.getElementById('t-followuser').innerHTML =
"<a href=\"javascript:(function(){follow_user();})();\" title=\"Add this user to your followed users list\">Follow user</a>";
} else if (data == 'unauthenticated') {
alert("You are not currently logged into the Followed users tool.");
}
}
);
}
function add_portlet_link() {
if (wgNamespaceNumber === 2 || wgNamespaceNumber === 3) {
$.ajaxSetup({
type: "GET",
data: {},
xhrFields: { withCredentials: true },
crossDomain: true
});
$followee = wgTitle.match(/^([^\/]*)/)[0];
$.get(
"https://toolserver.org/~dcoetzee/followedusers/api.php",
{action : 'query', prop : 'iswatching', follower: wgUserName, followee: $followee},
function(data) {
if (data == 'yes') {
$( document ).ready( function() {
mw.util.addPortletLink(
'p-tb',
'javascript:(function(){unfollow_user();})();',
'Unfollow user',
't-followuser',
'Remove this user from your followed users list'
);
});
} else if (data == 'no') {
$( document ).ready( function() {
mw.util.addPortletLink(
'p-tb',
'javascript:(function(){follow_user();})();',
'Follow user',
't-followuser',
'Add this user to your followed users list'
);
});
}
}
);
}
}
followingNode = document.getElementById("pt-mycontris");
mw.util.addPortletLink( "p-personal"
, "//toolserver.org/~dcoetzee/followedusers/list.php"
, "Followed users"
, "pt-followedusers"
, "Lists recent edits by users you are following"
, "d"
, followingNode );
add_portlet_link();