UserNotes

Скрипт для Лепры, позволяющий видеть, добавлять и изменять заметки прямо в посте и на глагне

当前为 2014-07-25 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name UserNotes
  3. // @author Gipnokote
  4. // @version 1.0
  5. // @namespace https://leprosorium.ru/*
  6. // @include https://*leprosorium.ru/*
  7. // @description Скрипт для Лепры, позволяющий видеть, добавлять и изменять заметки прямо в посте и на глагне
  8. // ==/UserScript==
  9.  
  10.  
  11.  
  12. unsafeWindow.getNote = function(user_id){
  13. var userLinks = $$('div.ddi a.c_user[data-user_id='+user_id+']');
  14. var userNotes = $$('div.ddi span.usernote_'+user_id);
  15. userNotes.destroy();
  16. var noteRequest = new Request({
  17. url: '/ajax/user/note/get/',
  18. method: 'post',
  19. onSuccess: function(responseText){
  20. var response = JSON.decode(responseText);
  21. if (response.user_note) {
  22. userLinks.map(function injectNotes(userLink) {
  23. var userNote = new Element('span', {class: 'usernote_'+user_id, html: ', [<span style="color:green;cursor:pointer;" onClick="setUserNote('+user_id+');">'+response.user_note.body+'</span>]'});
  24. userNote.inject(userLink, 'after');
  25. });
  26. } else {
  27. userLinks.map(function injectNotes(userLink) {
  28. var userNote = new Element('span', {class: 'usernote_'+user_id, html: ', [<span style="color:green;cursor:pointer;" onClick="setUserNote('+user_id+');">+</span>]'});
  29. userNote.inject(userLink, 'after');
  30. });
  31. }
  32. }
  33. });
  34. noteRequest.send('user='+user_id+'&csrf_token='+globals.user['csrf_token']);
  35. }
  36.  
  37. var uids = [].combine($$('div.ddi a.c_user').getProperty('data-user_id'));
  38.  
  39. uids.map(function process(uid){
  40. getNote(uid);
  41. });
  42.  
  43. unsafeWindow.setNote = function (user_id, note){
  44. var result = '';
  45. var noteRequest = new Request({
  46. url: '/ajax/user/note/set/',
  47. method: 'post'
  48. });
  49. noteRequest.send('user='+user_id+'&note='+note+'&csrf_token='+globals.user['csrf_token']);
  50. getNote(user_id);
  51. }
  52.  
  53. unsafeWindow.setUserNote = function (user_id){
  54. var z = prompt('Введите заметку:','');
  55. if (z!=null) {
  56. setNote(user_id, z);
  57. }
  58. }