Oppaitime's version of Gazelle
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

user.js 8.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. function ChangeTo(to) {
  2. if (to == "text") {
  3. $('#admincommentlinks').ghide();
  4. $('#admincomment').gshow();
  5. resize('admincomment');
  6. var buttons = document.getElementsByName('admincommentbutton');
  7. for (var i = 0; i < buttons.length; i++) {
  8. buttons[i].setAttribute('onclick',"ChangeTo('links'); return false;");
  9. }
  10. } else if (to == "links") {
  11. ajax.post("ajax.php?action=preview","form", function(response) {
  12. $('#admincommentlinks').raw().innerHTML = response;
  13. $('#admincomment').ghide();
  14. $('#admincommentlinks').gshow();
  15. var buttons = document.getElementsByName('admincommentbutton');
  16. for (var i = 0; i < buttons.length; i++) {
  17. buttons[i].setAttribute('onclick',"ChangeTo('text'); return false;");
  18. }
  19. })
  20. }
  21. }
  22. function UncheckIfDisabled(checkbox) {
  23. if (checkbox.disabled) {
  24. checkbox.checked = false;
  25. }
  26. }
  27. function AlterParanoia() {
  28. // Required Ratio is almost deducible from downloaded, the count of seeding and the count of snatched
  29. // we will "warn" the user by automatically checking the required ratio box when they are
  30. // revealing that information elsewhere
  31. if (!$('input[name=p_ratio]').raw()) {
  32. return;
  33. }
  34. var showDownload = $('input[name=p_downloaded]').raw().checked || ($('input[name=p_uploaded]').raw().checked && $('input[name=p_ratio]').raw().checked);
  35. if (($('input[name=p_seeding_c]').raw().checked) && ($('input[name=p_snatched_c]').raw().checked) && showDownload) {
  36. $('input[type=checkbox][name=p_requiredratio]').raw().checked = true;
  37. $('input[type=checkbox][name=p_requiredratio]').raw().disabled = true;
  38. } else {
  39. $('input[type=checkbox][name=p_requiredratio]').raw().disabled = false;
  40. }
  41. $('input[name=p_torrentcomments_l]').raw().disabled = !$('input[name=p_torrentcomments_c]').raw().checked;
  42. $('input[name=p_collagecontribs_l]').raw().disabled = !$('input[name=p_collagecontribs_c]').raw().checked;
  43. $('input[name=p_requestsfilled_list]').raw().disabled = !($('input[name=p_requestsfilled_count]').raw().checked && $('input[name=p_requestsfilled_bounty]').raw().checked);
  44. $('input[name=p_requestsvoted_list]').raw().disabled = !($('input[name=p_requestsvoted_count]').raw().checked && $('input[name=p_requestsvoted_bounty]').raw().checked);
  45. $('input[name=p_uploads_l]').raw().disabled = !$('input[name=p_uploads_c]').raw().checked;
  46. $('input[name=p_uniquegroups_l]').raw().disabled = !$('input[name=p_uniquegroups_c]').raw().checked;
  47. $('input[name=p_seeding_l]').raw().disabled = !$('input[name=p_seeding_c]').raw().checked;
  48. $('input[name=p_leeching_l]').raw().disabled = !$('input[name=p_leeching_c]').raw().checked;
  49. $('input[name=p_snatched_l]').raw().disabled = !$('input[name=p_snatched_c]').raw().checked;
  50. UncheckIfDisabled($('input[name=p_torrentcomments_l]').raw());
  51. UncheckIfDisabled($('input[name=p_collagecontribs_l]').raw());
  52. UncheckIfDisabled($('input[name=p_requestsfilled_list]').raw());
  53. UncheckIfDisabled($('input[name=p_requestsvoted_list]').raw());
  54. UncheckIfDisabled($('input[name=p_uploads_l]').raw());
  55. UncheckIfDisabled($('input[name=p_uniquegroups_l]').raw());
  56. UncheckIfDisabled($('input[name=p_seeding_l]').raw());
  57. UncheckIfDisabled($('input[name=p_leeching_l]').raw());
  58. UncheckIfDisabled($('input[name=p_snatched_l]').raw());
  59. // unique groups, "Perfect" FLACs and artists added are deducible from the list of uploads
  60. if ($('input[name=p_uploads_l]').raw().checked) {
  61. $('input[name=p_uniquegroups_c]').raw().checked = true;
  62. $('input[name=p_uniquegroups_l]').raw().checked = true;
  63. $('input[name=p_uniquegroups_c]').raw().disabled = true;
  64. $('input[name=p_uniquegroups_l]').raw().disabled = true;
  65. $('input[type=checkbox][name=p_artistsadded]').raw().checked = true;
  66. $('input[type=checkbox][name=p_artistsadded]').raw().disabled = true;
  67. } else {
  68. $('input[name=p_uniquegroups_c]').raw().disabled = false;
  69. $('input[name=p_uniquegroups_l]').raw().checked = false;
  70. $('input[name=p_uniquegroups_l]').raw().disabled = true;
  71. $('input[type=checkbox][name=p_artistsadded]').raw().disabled = false;
  72. }
  73. if ($('input[name=p_collagecontribs_l]').raw().checked) {
  74. $('input[name=p_collages_c]').raw().disabled = true;
  75. $('input[name=p_collages_l]').raw().disabled = true;
  76. $('input[name=p_collages_c]').raw().checked = true;
  77. $('input[name=p_collages_l]').raw().checked = true;
  78. } else {
  79. $('input[name=p_collages_c]').raw().disabled = false;
  80. $('input[name=p_collages_l]').raw().disabled = !$('input[name=p_collages_c]').raw().checked;
  81. UncheckIfDisabled($('input[name=p_collages_l]').raw());
  82. }
  83. }
  84. function ParanoiaReset(checkbox, drops) {
  85. var selects = $('select');
  86. for (var i = 0; i < selects.length; i++) {
  87. if (selects.raw(i).name.match(/^p_/)) {
  88. if (drops == 0) {
  89. selects.raw(i).selectedIndex = 0;
  90. } else if (drops == 1) {
  91. selects.raw(i).selectedIndex = selects.raw(i).options.length - 2;
  92. } else if (drops == 2) {
  93. selects.raw(i).selectedIndex = selects.raw(i).options.length - 1;
  94. }
  95. AlterParanoia();
  96. }
  97. }
  98. var checkboxes = $(':checkbox');
  99. for (var i = 0; i < checkboxes.length; i++) {
  100. if (checkboxes.raw(i).name.match(/^p_/) && (checkboxes.raw(i).name != 'p_lastseen')) {
  101. if (checkbox == 3) {
  102. checkboxes.raw(i).checked = !(checkboxes.raw(i).name.match(/_list$/) || checkboxes.raw(i).name.match(/_l$/));
  103. } else {
  104. checkboxes.raw(i).checked = checkbox;
  105. }
  106. AlterParanoia();
  107. }
  108. }
  109. }
  110. function ParanoiaResetOff() {
  111. ParanoiaReset(true, 0);
  112. }
  113. function ParanoiaResetStats() {
  114. ParanoiaReset(3, 0);
  115. $('input[name=p_collages_l]').raw().checked = false;
  116. }
  117. function ParanoiaResetOn() {
  118. ParanoiaReset(false, 0);
  119. $('input[name=p_collages_c]').raw().checked = false;
  120. $('input[name=p_collages_l]').raw().checked = false;
  121. }
  122. document.addEventListener("DOMContentLoaded", AlterParanoia);
  123. function ToggleWarningAdjust(selector) {
  124. if (selector.options[selector.selectedIndex].value == '---') {
  125. $('#ReduceWarningTR').gshow();
  126. $('#ReduceWarning').raw().disabled = false;
  127. } else {
  128. $('#ReduceWarningTR').ghide();
  129. $('#ReduceWarning').raw().disabled = true;
  130. }
  131. }
  132. document.addEventListener("DOMContentLoaded", ToggleIdenticons);
  133. function ToggleIdenticons() {
  134. var disableAvatars = $('#disableavatars');
  135. if (disableAvatars.length) {
  136. var selected = disableAvatars[0].selectedIndex;
  137. if (selected == 2 || selected == 3) {
  138. $('#identicons').gshow();
  139. } else {
  140. $('#identicons').ghide();
  141. }
  142. }
  143. }
  144. function userform_submit() {
  145. if ($('#resetpasskey').is(':checked')) {
  146. if (!confirm('Are you sure you want to reset your passkey?')) {
  147. return false;
  148. }
  149. }
  150. return formVal();
  151. }
  152. function togglePassKey(key) {
  153. if ($('#passkey').raw().innerHTML == 'View') {
  154. $('#passkey').raw().innerHTML = key;
  155. } else {
  156. $('#passkey').raw().innerHTML = 'View';
  157. }
  158. }
  159. function commStats(userid) {
  160. $('.user_commstats').html('Loading...');
  161. ajax.get('ajax.php?action=community_stats&userid=' + userid, function(JSONresponse) {
  162. var response = JSON.parse(JSONresponse) || false;
  163. if (!response || response.status == 'failure') {
  164. $('.user_commstats').html('An error occurred');
  165. return;
  166. }
  167. displayCommStats(response.response);
  168. });
  169. }
  170. function displayCommStats(stats) {
  171. var baseid = '#user_commstats_';
  172. for (x in stats) {
  173. if (stats[x] === false) {
  174. continue;
  175. }
  176. switch (x) {
  177. case 'leeching':
  178. $(baseid + x).html(stats[x]);
  179. break;
  180. case 'seeding':
  181. $(baseid + x).html(stats[x]);
  182. break;
  183. case 'downloaded':
  184. $(baseid + x).html(stats[x]);
  185. break;
  186. case 'snatched':
  187. $(baseid + x).html(stats[x]);
  188. break;
  189. case 'usnatched':
  190. $(baseid + x).html('(' + stats[x] + ')');
  191. break;
  192. case 'udownloaded':
  193. $(baseid + x).html('(' + stats[x] + ')');
  194. break;
  195. case 'seedingperc':
  196. $(baseid + x).html('(' + stats[x] + '%)');
  197. break;
  198. }
  199. }
  200. }
  201. $(document).ready(function() {
  202. $("#random_password").click(function() {
  203. var length = 15,
  204. charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+-=<>?",
  205. password = "";
  206. for (var i = 0, n = charset.length; i < length; ++i) {
  207. password += charset.charAt(Math.floor(Math.random() * n));
  208. }
  209. $('#change_password').val(password);
  210. });
  211. });