MH - Raistlin - Add PX button to PM

Ajout d'un bouton "Don de PX" dans les PM

当前为 2018-05-24 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name MH - Raistlin - Add PX button to PM
  3. // @namespace MH
  4. // @description Ajout d'un bouton "Don de PX" dans les PM
  5. // @include */Messagerie/ViewMessage.php*
  6. // @icon http://i.imgur.com/wnWRfSt.png/tout_MZ.png
  7. // @version 1.9
  8. // @grant none
  9. // @require https://greasyfork.org/scripts/24178-mh-h2p-code-mutualis%C3%A9/code/MH%20-%20H2P%20-%20Code%20Mutualis%C3%A9.user.js?version=153518&d=.user.js
  10. // ==/UserScript==
  11.  
  12.  
  13. function appendButton(paren, value, onClick) {
  14. var input = document.createElement('input');
  15. input.type = 'button';
  16. input.className = 'mh_form_submit';
  17. input.value = value;
  18. input.onmouseover = function() {this.style.cursor = 'pointer';};
  19. if (onClick) input.onclick = onClick;
  20. paren.appendChild(input);
  21. return input;
  22. }
  23.  
  24. function insertBefore(next, el) {
  25. next.parentNode.insertBefore(el, next);
  26. }
  27.  
  28. // Récupération de la liste des destinataires + émetteur
  29. function getPersoList() {
  30. var persoList = new Array();
  31.  
  32. // Tous les liens sont des émetteurs ou des destinataires
  33. var listeBrute = document.getElementsByClassName("AllLinks");
  34.  
  35. // Pour chaque lien, on récupère le premier nombre du lien : c'est le numéro de trõll
  36. // Pour rappel, le lien est du style : javascript:EnterPJView(61214,750,550)
  37. for (var i = 0 ; i < listeBrute.length ; i++) {
  38. tmpVar = listeBrute[i].toString().match(/\d+/);
  39. persoList[i] = tmpVar[0];
  40. }
  41.  
  42. return persoList.join(',');
  43. }
  44.  
  45. // Ajout du bouton de don de PX au début de la ligne des autres boutons (plus simple)
  46. function addButton() {
  47. var insertPoint = document.getElementsByName('bAnswer')[0];
  48.  
  49. // On crée le div du bouton
  50. var npButtonDiv = document.createElement('div');
  51.  
  52. // On ajoute le bouton
  53. var npButton = appendButton(npButtonDiv, 'Donner des PX', sendPX);
  54.  
  55. // On ajoute le div à la page
  56. insertBefore(insertPoint, npButtonDiv);
  57. }
  58.  
  59. // Fonction utilisée quand on clique sur le bouton pour envoyer sur la page du don
  60. function sendPX() {
  61. var urlCible = "/mountyhall/MH_Play/Actions/Play_a_DonPX.php?cat=8&dest=";
  62. var persoList = getPersoList();
  63. urlCible += persoList;
  64. if (window.opener !== null) {
  65. window.opener.location = urlCible;
  66. } else {
  67. window.open(urlCible);
  68. }
  69. }
  70.  
  71. addButton();