MonzooAnimaux

Ajoute des informations sur l'animal sur la page d'achat

  1. // ==UserScript==
  2. // @name MonzooAnimaux
  3. // @namespace grenad-monzoo
  4. // @version 1.0
  5. // @description Ajoute des informations sur l'animal sur la page d'achat
  6. // @author Grenad
  7. // @match http://www.monzoo.net/achat_animaux.php*
  8. // @match http://www.monzoo.net/enclosgestion1.php*
  9. // @copyright Copyright 2017 -- Grenad
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. if(document.querySelector("#jumpMenu") !== null)
  16. return;
  17.  
  18. var parser = new DOMParser();
  19. var bourse_dom;
  20. var bourse_animals = [];
  21. var animals = [];
  22. var tb = Array.prototype.slice.call(document.querySelector('form[name="formenclos"] table').tBodies[0].rows, 0);
  23.  
  24. function loadBourse() {
  25. var xhttp = new XMLHttpRequest();
  26. xhttp.onreadystatechange = function() {
  27. if (this.readyState == 4 && this.status == 200) {
  28. var bourse = Array.prototype.slice.call(parser.parseFromString(this.responseText, "text/html").querySelectorAll(".content_site table")[4].tBodies[0].rows, 0);
  29. for(var it = 0 ; it < bourse.length ; it ++) {
  30. var obj = {};
  31. obj.name = bourse[it].cells[0].textContent.trim().toLowerCase();
  32. obj.base = parseInt(bourse[it].cells[1].textContent);
  33. obj.prce = parseInt(bourse[it].cells[2].textContent);
  34. obj.tdce = ((obj.prce * 100 / obj.base) - 100).toFixed(2);
  35. bourse_animals.push(obj);
  36. }
  37. initReplace();
  38. }
  39. };
  40. xhttp.open("GET", "http://www.monzoo.net/bourse.php", true);
  41. xhttp.send();
  42. }
  43.  
  44. loadBourse();
  45.  
  46. function search(name) {
  47. for(var it = 0 ; it < bourse_animals.length ; it ++) {
  48. if(name == bourse_animals[it].name) {
  49. return bourse_animals[it];
  50. }
  51. }
  52. return -1;
  53. }
  54.  
  55. function initReplace() {
  56. for(var it = 0 ; it < tb.length ; it ++) {
  57. if (it % 2)
  58. continue;
  59. var a = tb[it].cells[0].querySelector('table').tBodies[0].rows[0].cells[1];//.innerHTML += (it / 2).toString();
  60. var b = tb[it].cells[2].querySelector('table').tBodies[0].rows[0].cells[1];
  61. var name = a.querySelector("strong").nextSibling.nodeValue.trim().toLowerCase();
  62. var o = search(name);
  63. var add_span_a = a.querySelector("span");
  64. var add_span_b = b.querySelector("span");
  65. var add_span_txt;
  66. var add_div_a = a.querySelector("div");
  67. var add_div_b = b.querySelector("div");
  68. var add_div_txt;
  69. if(add_span_a !== null) {
  70. add_span_txt = add_span_a.textContent.trim();
  71. a.removeChild(add_span_a);
  72. b.removeChild(add_span_b);
  73. }
  74. if(add_div_a !== null) {
  75. add_div_txt = add_div_a.textContent.trim();
  76. a.removeChild(add_div_a);
  77. b.removeChild(add_div_b);
  78. }
  79. if(o != -1) {
  80. a.innerHTML += "<strong>Prix initial :</strong> " + o.base + " Zoo'z";
  81. b.innerHTML += "<strong>Prix initial :</strong> " + o.base + " Zoo'z";
  82. a.innerHTML += "<br>";
  83. b.innerHTML += "<br>";
  84. a.innerHTML += "<strong>Tendance :</strong> ";
  85. b.innerHTML += "<strong>Tendance :</strong> ";
  86. if(o.tdce < 0) {
  87. a.innerHTML += '<span style="color: red;">' + o.tdce + '%</span>';
  88. b.innerHTML += '<span style="color: red;">' + o.tdce + '%</span>';
  89. }
  90. else if(o.tdce > 0) {
  91. a.innerHTML += '<span style="color: green;">+' + o.tdce + '%</span>';
  92. b.innerHTML += '<span style="color: green;">+' + o.tdce + '%</span>';
  93. }
  94. else {
  95. a.innerHTML += '<span>Stable</span>';
  96. b.innerHTML += '<span>Stable</span>';
  97. }
  98. }
  99. if(add_span_a !== null) {
  100. a.innerHTML += '<br><span style="color: red;">⚠ ' + add_span_txt + '</span>';
  101. b.innerHTML += '<br><span style="color: red;">⚠ ' + add_span_txt + '</span>';
  102. }
  103. if(add_div_a !== null) {
  104. a.innerHTML += '<br><span style="color: red;">⚠ ' + add_div_txt + '</span>';
  105. b.innerHTML += '<br><span style="color: red;">⚠ ' + add_div_txt + '</span>';
  106. }
  107. }
  108. }
  109. })();