Скрипт для Лепры, позволяющий видеть, добавлять и изменять заметки прямо в посте и на глагне
目前為
// ==UserScript==
// @name UserNotes
// @author Gipnokote
// @version 1.5
// @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 Request({
url: '/ajax/user/note/get/',
method: 'post',
onSuccess: function(responseText){
var response = JSON.parse(responseText);
if (response.user_note) {
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');
});
}
}
});
noteRequest.send('user='+user_id+'&csrf_token='+globals.user['csrf_token']);
}
unsafeWindow.setNote = function (user_id, note){
var result = '';
var noteRequest = new Request({
url: '/ajax/user/note/set/',
method: 'post',
onSuccess: function(){
getNote(user_id);
}
});
noteRequest.send('user='+user_id+'¬e='+note+'&csrf_token='+globals.user['csrf_token']);
}
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);
});