EyEBURNeR

Untitled

Apr 20th, 2013
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.54 KB | None | 0 0
  1. // ==UserScript==
  2. // @id sgwonv
  3. // @name sgwonv
  4. // @version 1.01
  5. // @namespace
  6. // @author EyEBURNeR
  7. // @description Add a « Won value » tab
  8. // @include http://www.steamgifts.com/*
  9. // @run-at document-end
  10. // ==/UserScript==
  11.  
  12. var $ = unsafeWindow.jQuery;
  13. //prepare globals
  14. wv=0;
  15. nb_won=parseInt($('.pagination>.results>strong:last').text());
  16. nb_page=Math.ceil(nb_won/25);
  17. nb_show=0;
  18. nb_not_received=0;
  19. nb_not_in_group=0;
  20.  
  21. //add menu link
  22. $('.absolute-dropdown:first>ul', '#navigation').append( $('<li/>').append( $('<a/>').attr('href','/manage/won/value').text('View Won Value') ) );
  23.  
  24. //add tab
  25. if(document.location.href.indexOf('/manage')!==-1) $('.sub_navigation>ol>div').before(
  26. $('<li/>').append($('<a/>').attr('href','/manage/won/value').text('Won value'))
  27. );
  28. //detect tab url
  29. if(document.location.href.indexOf('/won/value')!==-1) initTab();
  30.  
  31. function initTab(){
  32. //prepare header and misc page elements
  33. $('.pagination>.results>strong:eq(1)').text(nb_show).attr('id','nb_show');
  34. $('.numbers','.pagination').remove();
  35. $('.warning_feedback').remove();
  36. $('.pagination>.results').append( $('<span>( Not received : <strong id="nb_not_received">0</strong>)</span>') ) ;
  37. //, no longer in group : <strong id="nb_not_in_group">0</strong>
  38.  
  39. //prepare rows header and container
  40. $('.sub_navigation>ol>li').removeClass('selected');
  41. $('.sub_navigation>ol>li:last').addClass('selected');
  42. $('.manage').attr('id','wv_detail');
  43. $('.row:not(.headings),.row.headings>.status,.row.headings>.received','.manage').remove();
  44. $('.row.headings>.entries','.manage').text('Value').css('text-align','right');
  45. //prepare footer
  46. $('.results, div', '.pagination:last').remove();
  47. var obj=$('<div/>').addClass('row');
  48. $(obj).append($('<div/>').addClass('title').text('Total Won Value').width('490px'));
  49. $(obj).append($('<div/>').addClass('entries').append( $('<strong/>').attr('id','wv').text('$0')).css('text-align','right'));
  50. $(obj).append($('<div/>').addClass('clear_both'));
  51. $('.pagination:last').css('padding',0).addClass('manage').append(obj);
  52.  
  53. //do the magic!
  54. for(i=1;i<=nb_page;i++) loadWon(i);
  55. }
  56.  
  57.  
  58.  
  59. function loadWon(i){
  60. $.ajax({
  61. url: 'http://www.steamgifts.com/manage/won/all/page/'+i,
  62. success: function (page) {
  63. parseWon(page);
  64. },
  65. dataType: 'html'
  66. });
  67. }
  68. function parseWon(page){
  69. $('.row>.title>a', page).each(function(){
  70. // received only
  71. if($('.received>.yes.selected', $(this).parents('.row:first')).length){
  72. loadWonGa( $(this).attr('href') );
  73. }else{
  74. $('#nb_not_received').text(++nb_not_received);
  75. }
  76.  
  77.  
  78. })
  79. }
  80. function loadWonGa(url){
  81. $.ajax({
  82. url: 'http://www.steamgifts.com'+url,
  83. success: function (page) {
  84. parseWonGa(page,url);
  85. },
  86. dataType: 'html'
  87. });
  88. }
  89. function parseWonGa(page, url){
  90. var title='';
  91. var gawv=0;
  92. nb_show++;
  93. try{
  94. var gawv=$('.steam_store', page ).text().split('$')[1].split(')')[0];
  95. var title=$('.featured .title', page ).text();
  96. wv=Math.round( (parseFloat(gawv)+wv)*100)/100;
  97. $('#wv').text('$'+wv);
  98. }catch(err){
  99. var title=url;
  100. $('#nb_not_in_group').text(++nb_not_in_group);
  101. }
  102.  
  103. var obj=$('<div/>').addClass('row');
  104. $(obj).append($('<div/>').addClass('title').append( $('<a/>').text(title).attr('href', url) ) );
  105. $(obj).append($('<div/>').addClass('entries').text('$'+gawv).css('text-align','right'));
  106. $(obj).append($('<div/>').addClass('clear_both'));
  107. $('#wv_detail').append(obj);
  108. $('#nb_show').text(nb_show);
  109. }
Advertisement
Add Comment
Please, Sign In to add comment