Скрипт для Лепры, позволяющий видеть, добавлять и изменять заметки прямо в посте и на глагне
当前为
// ==UserScript==
// @name UserNotes
// @author Gipnokote
// @version 1.7
// @namespace https://leprosorium.ru/*
// @include https://*leprosorium.ru/*
// @description Скрипт для Лепры, позволяющий видеть, добавлять и изменять заметки прямо в посте и на глагне
// run-at document-end
// ==/UserScript==
unsafeWindow.getNote = function(user_id){
var userLinks = $$('div.ddi a.c_user[data-user_id='+user_id+']');
var userNotes = $$('div.ddi span.usernote_'+user_id);
userNotes.destroy();
var noteRequest = new futuAjax ({
button: document.createElement("p"),
url: ajaxUrls.user_note_get,
data : 'user='+user_id,
onLoadFunction: function(response){
if (response.user_note && response.user_note.body) {
userLinks.map(function injectNotes(userLink) {
var userNote = new Element('span', {class: 'usernote_'+user_id, html: ', [<span style="color:green;cursor:pointer;" onClick="setUserNote('+user_id+',\''+response.user_note.body.replace(/"/g,'"')+'\'); return false;">'+response.user_note.body+'</span>]'});
userNote.inject(userLink, 'after');
});
} else {
userLinks.map(function injectNotes(userLink) {
var userNote = new Element('span', {class: 'usernote_'+user_id, html: ', [<span style="color:green;cursor:pointer;" onClick="setUserNote('+user_id+',\'\');">+</span>]'});
userNote.inject(userLink, 'after');
});
}
}
});
}
unsafeWindow.setNote = function (user_id, note) {
var noteRequest = new futuAjax ({
button: document.createElement("p"),
url: ajaxUrls.user_note_set,
data: '&user=' + user_id + '¬e=' + encodeURIComponent(note),
onLoadFunction: function (response) {
getNote(user_id);
}
});
};
unsafeWindow.setUserNote = function (user_id, currentNote){
var z = prompt('Введите заметку:',currentNote);
if (z!=null) {
setNote(user_id, z);
}
}
function eliminateDuplicates(arr) {
var i,
len=arr.length,
out=[],
obj={};
for (i=0;i<len;i++) {
obj[arr[i]]=0;
}
for (i in obj) {
out.push(i);
}
return out;
}
var emptyArray = [];
var uids = eliminateDuplicates($$('div.ddi a.c_user').getProperty('data-user_id'));
uids.map(function process(uid){
getNote(uid);
});