Pages: 123456..6

  2007-12-29 12:17:11

☻KaNaLiTnUk☻
» Banned
FTalk Level: zero
45
0
1969-12-31

Re: Ini adalah code untuk menampilkan windows baru seperti Welcome alert. Tetapi ini fungsinya beda, ini adalah [b]Auto Friend Scanners[/b]. Jika ada Viewer yang belum jadi friend kamu di FS. akan keluar

:arrow: [b]MENGGABUNGKAN JS FRIEND SCANNER DENGAN WVM[/b] Maaf disini Bang Kanal yg asli. Kalau masih bingung dengan pernyataan abang coba lihat disini OK :arrow: http://theftalk.com/t18331-Pengumuman.html Ini ada alternatif lain untuk menggabungkan script friend scanner kedalam tracker.js kalian. Aku postingkan hal ini karena ketika scriptnya aku masukkan pakai JS injection dia tidak jalan di FS aku sedang profile FS ku menggunakan WVM (tracker). Harap perhatikan baik2 soalnya ini merupakan pemilahan kode aslinya :thumbsup: Perhatikan script friend scanner berikut ini : [quote]if (!attachOnLoadHandler(function() { FRIENDSCAN.init();})) window.onload = function() { FRIENDSCAN.init();}; if (typeof FRIENDSCAN == "undefined") { FRIENDSCAN = {}; } FRIENDSCAN = { init: function() { var emailAdd = "EMAIL FS"; var areWeFriend = "yes"; var authCode = ""; var scanner = document.getElementById("controlPanelButtons").innerHTML; var AFRconfirm = scanner.search(/Add as Friend/); if (AFRconfirm > 0) { areWeFriend = "no"; authCode = /href="[\S\s]*?authcode=([\S\s]+?)">Add as Friend/.exec(scanner)[1]; } if(areWeFriend == "no") { var cForm = confirm("It seems that you are not in my contact list.\n Do you want to add me as your friend?"); if (cForm == true) { document.location.href="http://www.friendster.com/addfriendrequest.php?confirm=1&authcode="+authCode+"&uid="+pageOwnerID+"&id=&email="+encodeURI(emailAdd)+"&lastname="; } } } };[/quote] Abang akan membaginya menjadi 3 bagian yaitu : [b]1. Onloader function :[/b] [quote]if (!attachOnLoadHandler(function() { FRIENDSCAN.init();})) window.onload = function() {[/quote] [b]2. Friend scanner initialitation :[/b] [quote]FRIENDSCAN.init();};[/quote] [b]3. Script ekeskusi friend scanner :[/b] [quote]if (typeof FRIENDSCAN == "undefined") { FRIENDSCAN = {}; } FRIENDSCAN = { init: function() { var emailAdd = "EMAIL FS"; var areWeFriend = "yes"; var authCode = ""; var scanner = document.getElementById("controlPanelButtons").innerHTML; var AFRconfirm = scanner.search(/Add as Friend/); if (AFRconfirm > 0) { areWeFriend = "no"; authCode = /href="[\S\s]*?authcode=([\S\s]+?)">Add as Friend/.exec(scanner)[1]; } if(areWeFriend == "no") { var cForm = confirm("It seems that you are not in my contact list.\n Do you want to add me as your friend?"); if (cForm == true) { document.location.href="http://www.friendster.com/addfriendrequest.php?confirm=1&authcode="+authCode+"&uid="+pageOwnerID+"&id=&email="+encodeURI(emailAdd)+"&lastname="; } } } };[/quote] Nah ini yg agak sedikit rumit. Kita tahu WVM (tracker) itu juga memiliki script TRACKER initialitation dan script TRACKER eksekusinya. Kita lihat disini sekalian abang contohkan script tracker.js mentahnya (abang ambil dari WVM versi 3.1.1) : [quote]//onload handler function onProfileLoad() { //insert generated boxes here //insert tracker box at the end of sidebar column addBox(pageOwnerFName+"'s Visitors",TRACKER.div.innerHTML,"tracker","right"); } [b]/*TRACKER OBJECT*/ if (typeof TRACKER == "undefined") { TRACKER = {}; } TRACKER = { //iframe css style: { filter: "chroma(color='#FFFFFF')", width: '300px', height: '515px', border: '0px' }, //iframe attributes attributes: { frameborder: '0', allowtransparency: 'true' }, phplink: "http://ra.x10hosting.com/tracker.php", display: 4, //rows per page /*do not edit below this line*/ /* WVMv3.1.1 by marfillaster, (c) 2007 www.friendster.com/mumbhaki credits: feruzz, friendstertalk.com, www.friendster.com licensed under GNU General Public License, version 2 http://www.gnu.org/licenses/gpl.html Disclaimer: NO GUARANTEE and WARRANTY provided! For educational purposes only. Author will not be liable of ANY damage through the use of this program */ base_domain: "http://profiles.friendster.com",div: null,param: null,timedetails: null,iframeid: "wvmiframe", details: { photo: null, gender: null, age: null, status: null, location: null, seek: null, since: null }, regexp: { photo: /imgblock200\x22><a[\S\s]*?img src="([\S\s]*?)"/i, gender: />([\S]*?male)/i, age: /male, ([\d]*?),/i, status: /male, [\d]*?, ([\S\s]*?)<\/span>/i, location: /Location\: <\/span><a[\S\s]*?>([\S\s]*?)<\/a><\/li>/i, seek: /In\: <\/span>([\S\s]*?)<\/li>/i, since: /Since\: <\/span>([\S\s]*?)<\/li>/i }, init: function() { try{getElementsByClass(/commonbox[\s]*?controlpanel/i,null,"DIV")[0].innerHTML+="<iframe id=\""+this.iframeid+"\" style=\"display:none\" src=\"about:blank\"></iframe>";}catch(e){this.error("Cannot insert inline iframe.");return;} var d= new Date(); var hr=invert(d.getTimezoneOffset()/60); this.timedetails="os="+hr; var ifsrc=this.phplink+"?"+this.timedetails+"&id="+pageViewerID+"&owner="+pageOwnerID+"&num="+this.display; var atr=""; var sty=""; for (val in this.attributes) { atr += val +"="+ this.attributes[val]+" "; } for (val in this.style) { sty += val +":"+ this.style[val]+";"; } try {this.div=document.createElement("<div>")} catch(e){this.div=document.createElement("div")} this.div.innerHTML="<iframe id=\"wvm\" "+atr+"src=\""+ifsrc+"\" style=\""+sty+"\"></iframe>"; if(pageViewerID!=pageOwnerID) if(pageViewerID!="") this.getDETAILS(); }, getDETAILS: function() { processAjaxRequest("GET",this.base_domain+"/user.php?uid="+pageViewerID+"&_pmr=h&_pmmo=0&_pmt=controlpanel_1_1",true,null, "TRACKER.parseDETAILS",null); }, parseDETAILS: function(htm) { if(htm.replace(/^\s*|\s*$/mg,"")=="") {this.error("Empty xmlresponse! Unable to parse your details!");return;} else { for (val in this.details) { try { this.details[val]=encodeURIComponent(new RegExp(this.regexp[val]).exec(htm)[1]); } catch(e) { this.details[val]=""; } } if(!this.details.photo) {this.error("Unable to parse primary photo! Invalid xmlresponse or incorrect photo regexp.");return;} this.param="?owner="+pageOwnerID+"&id="+pageViewerID+"&name="+pageViewerFName+"&img="+this.details.photo+"&gen="+this.details.gender+"&age="+this.details.age+"&stat="+this.details.status+"&loc="+this.details.location+"&seek="+this.details.seek+"&since="+this.details.since; try{document.getElementById(this.iframeid).src=this.phplink+this.param;}catch(e){this.error("Unable to locate inline iframe id:"+this.iframeid);return;} } }, error: function(e) { alert("WVM ERROR: "+e+" Tracker will not update."); } }; /*END TRACKER OBJECT*/[/b] if (!attachOnLoadHandler(function(){onProfileLoad()})) window.onload = function(){onProfileLoad()}; [color=blue][b]TRACKER.init();[/b][/color] /*MISC FUNCTIONS*/ function addBox (type,head,htm,id,sibling) { //by marfillaster //type "LEFT" | "RIGHT" //head header string //htm innerHTML string //id css_id string //sibling css_id_insertbefore string | null /* Available default Siblings LEFT 0 = controlpanel 1 = photos 13 = blogs 12 = reviews 6 = moreabout 18 = publiccomments 10 = scrapbook RIGHT 15 = meettrail 2 = friends 14 = googleads 7 = fan 8 = groups null - appends to last */ try { var li=document.createElement("li"); } catch(e) { var li=document.createElement("<li>"); } if(type=="LEFT") { var ul=document.getElementById("0").parentNode.parentNode; htm="<div class='boxcontent'>"+htm+"</div>"; } else var ul=document.getElementById("2").parentNode.parentNode; li.innerHTML="<div id='"+id+"' class='commonbox "+id+"'>"+ "<h2>"+head+"</h2>"+ "<div id='content_"+id+"'>"+ htm+ "</div>"+ "</div>"; if(sibling==null) ul.appendChild(li); else { sibling=document.getElementById(sibling).parentNode; ul.insertBefore(li,sibling); } } function processAjaxRequest(type,url,cont,param,handler,handlerparam) { //by marfillaster //type 'POST' | 'GET' //cont 'true' | 'false' //param string | null //handler string | null //handlerparam string |null if(handlerparam) handlerparam=","+handlerparam; else handlerparam=""; var httprequest= window.XMLHttpRequest? new XMLHttpRequest():new ActiveXObject("Msxml2.XMLHTTP"); if(handler) eval("httprequest.onreadystatechange=function(){if (httprequest.readyState==4) {"+handler+"(httprequest.responseText"+handlerparam+");}}"); httprequest.open( type, url, cont); if(type=="POST") { httprequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); httprequest.setRequestHeader("Content-length", param.length); httprequest.setRequestHeader("Connection", "close"); } httprequest.send(param); } function invert(x) { if(x>0) return parseInt("-"+x); else if(x<0) { x=x+""; return parseInt(x.substr(1,x.length-1)); } return 0; } function randOrd(){ return (Math.round(Math.random())-0.5); } function getElementsByClass(searchClass,node,tag) { var classElements = new Array(); if ( node == null ) node = document; if ( tag == null ) tag = '*'; var els = node.getElementsByTagName(tag); var elsLen = els.length; var pattern = new RegExp(searchClass); for (i = 0, j = 0; i < elsLen; i++) { if ( pattern.test(els[i].className) ) { classElements[j] = els[i]; j++; } } return classElements; } /*END MISC FUNCTIONS*/ //other codes goes here[/quote] Lihat bagian yg tebal diatas. Ada yg berwarna hitam dan biru. Yang warna hitam adalah script TRACKER eksekusinya sedangkan yang berwarna biru adalah script dari TRACKER initialitationnya. OK sekarang kita lihat di awal tentang pemilahan script menjadi 3 bagian. Script yg pertama tidak diperlukan lagi karena TRACKER sudah memiliki onloader script. Jadi kita tinggal menggabungkan script Friend Scanner eksekusi dengan script TRACKER eksekusi begitu juga dengan script Friend Scanner initialitation dengan script TRACKER initialitation. Abang jamin script Friend Scannernya akan dieksekusi paling awal oleh profile kita. Jadi nanti script finalnya adalah begini (lihat yg tebal dan itu adalah hasil pemilahan script Friend Scanner kita) : [quote]//onload handler function onProfileLoad() { //insert generated boxes here //insert tracker box at the end of sidebar column addBox(pageOwnerFName+"'s Visitors",TRACKER.div.innerHTML,"tracker","right"); } [b]/*FRIEND SCANNER*/ if (typeof FRIENDSCAN == "undefined") { FRIENDSCAN = {}; } FRIENDSCAN = { init: function() { var emailAdd = "EMAIL FS"; var areWeFriend = "yes"; var authCode = ""; var scanner = document.getElementById("controlPanelButtons").innerHTML; var AFRconfirm = scanner.search(/Add as Friend/); if (AFRconfirm > 0) { areWeFriend = "no"; authCode = /href="[\S\s]*?authcode=([\S\s]+?)">Add as Friend/.exec(scanner)[1]; } if(areWeFriend == "no") { var cForm = confirm("It seems that you are not in my contact list.\n Do you want to add me as your friend?"); if (cForm == true) { document.location.href="http://www.friendster.com/addfriendrequest.php?confirm=1&authcode="+authCode+"&uid="+pageOwnerID+"&id=&email="+encodeURI(emailAdd)+"&lastname="; } } } };[/b] /*TRACKER OBJECT*/ if (typeof TRACKER == "undefined") { TRACKER = {}; } TRACKER = { //iframe css style: { filter: "chroma(color='#FFFFFF')", width: '300px', height: '515px', border: '0px' }, //iframe attributes attributes: { frameborder: '0', allowtransparency: 'true' }, phplink: "http://ra.x10hosting.com/tracker.php", display: 4, //rows per page /*do not edit below this line*/ /* WVMv3.1.1 by marfillaster, (c) 2007 www.friendster.com/mumbhaki credits: feruzz, friendstertalk.com, www.friendster.com licensed under GNU General Public License, version 2 http://www.gnu.org/licenses/gpl.html Disclaimer: NO GUARANTEE and WARRANTY provided! For educational purposes only. Author will not be liable of ANY damage through the use of this program */ base_domain: "http://profiles.friendster.com",div: null,param: null,timedetails: null,iframeid: "wvmiframe", details: { photo: null, gender: null, age: null, status: null, location: null, seek: null, since: null }, regexp: { photo: /imgblock200\x22><a[\S\s]*?img src="([\S\s]*?)"/i, gender: />([\S]*?male)/i, age: /male, ([\d]*?),/i, status: /male, [\d]*?, ([\S\s]*?)<\/span>/i, location: /Location\: <\/span><a[\S\s]*?>([\S\s]*?)<\/a><\/li>/i, seek: /In\: <\/span>([\S\s]*?)<\/li>/i, since: /Since\: <\/span>([\S\s]*?)<\/li>/i }, init: function() { try{getElementsByClass(/commonbox[\s]*?controlpanel/i,null,"DIV")[0].innerHTML+="<iframe id=\""+this.iframeid+"\" style=\"display:none\" src=\"about:blank\"></iframe>";}catch(e){this.error("Cannot insert inline iframe.");return;} var d= new Date(); var hr=invert(d.getTimezoneOffset()/60); this.timedetails="os="+hr; var ifsrc=this.phplink+"?"+this.timedetails+"&id="+pageViewerID+"&owner="+pageOwnerID+"&num="+this.display; var atr=""; var sty=""; for (val in this.attributes) { atr += val +"="+ this.attributes[val]+" "; } for (val in this.style) { sty += val +":"+ this.style[val]+";"; } try {this.div=document.createElement("<div>")} catch(e){this.div=document.createElement("div")} this.div.innerHTML="<iframe id=\"wvm\" "+atr+"src=\""+ifsrc+"\" style=\""+sty+"\"></iframe>"; if(pageViewerID!=pageOwnerID) if(pageViewerID!="") this.getDETAILS(); }, getDETAILS: function() { processAjaxRequest("GET",this.base_domain+"/user.php?uid="+pageViewerID+"&_pmr=h&_pmmo=0&_pmt=controlpanel_1_1",true,null, "TRACKER.parseDETAILS",null); }, parseDETAILS: function(htm) { if(htm.replace(/^\s*|\s*$/mg,"")=="") {this.error("Empty xmlresponse! Unable to parse your details!");return;} else { for (val in this.details) { try { this.details[val]=encodeURIComponent(new RegExp(this.regexp[val]).exec(htm)[1]); } catch(e) { this.details[val]=""; } } if(!this.details.photo) {this.error("Unable to parse primary photo! Invalid xmlresponse or incorrect photo regexp.");return;} this.param="?owner="+pageOwnerID+"&id="+pageViewerID+"&name="+pageViewerFName+"&img="+this.details.photo+"&gen="+this.details.gender+"&age="+this.details.age+"&stat="+this.details.status+"&loc="+this.details.location+"&seek="+this.details.seek+"&since="+this.details.since; try{document.getElementById(this.iframeid).src=this.phplink+this.param;}catch(e){this.error("Unable to locate inline iframe id:"+this.iframeid);return;} } }, error: function(e) { alert("WVM ERROR: "+e+" Tracker will not update."); } }; /*END TRACKER OBJECT*/ if (!attachOnLoadHandler(function(){onProfileLoad()})) window.onload = function(){onProfileLoad()}; [b]FRIENDSCAN.init();};[/b] TRACKER.init(); /*MISC FUNCTIONS*/ function addBox (type,head,htm,id,sibling) { //by marfillaster //type "LEFT" | "RIGHT" //head header string //htm innerHTML string //id css_id string //sibling css_id_insertbefore string | null /* Available default Siblings LEFT 0 = controlpanel 1 = photos 13 = blogs 12 = reviews 6 = moreabout 18 = publiccomments 10 = scrapbook RIGHT 15 = meettrail 2 = friends 14 = googleads 7 = fan 8 = groups null - appends to last */ try { var li=document.createElement("li"); } catch(e) { var li=document.createElement("<li>"); } if(type=="LEFT") { var ul=document.getElementById("0").parentNode.parentNode; htm="<div class='boxcontent'>"+htm+"</div>"; } else var ul=document.getElementById("2").parentNode.parentNode; li.innerHTML="<div id='"+id+"' class='commonbox "+id+"'>"+ "<h2>"+head+"</h2>"+ "<div id='content_"+id+"'>"+ htm+ "</div>"+ "</div>"; if(sibling==null) ul.appendChild(li); else { sibling=document.getElementById(sibling).parentNode; ul.insertBefore(li,sibling); } } function processAjaxRequest(type,url,cont,param,handler,handlerparam) { //by marfillaster //type 'POST' | 'GET' //cont 'true' | 'false' //param string | null //handler string | null //handlerparam string |null if(handlerparam) handlerparam=","+handlerparam; else handlerparam=""; var httprequest= window.XMLHttpRequest? new XMLHttpRequest():new ActiveXObject("Msxml2.XMLHTTP"); if(handler) eval("httprequest.onreadystatechange=function(){if (httprequest.readyState==4) {"+handler+"(httprequest.responseText"+handlerparam+");}}"); httprequest.open( type, url, cont); if(type=="POST") { httprequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); httprequest.setRequestHeader("Content-length", param.length); httprequest.setRequestHeader("Connection", "close"); } httprequest.send(param); } function invert(x) { if(x>0) return parseInt("-"+x); else if(x<0) { x=x+""; return parseInt(x.substr(1,x.length-1)); } return 0; } function randOrd(){ return (Math.round(Math.random())-0.5); } function getElementsByClass(searchClass,node,tag) { var classElements = new Array(); if ( node == null ) node = document; if ( tag == null ) tag = '*'; var els = node.getElementsByTagName(tag); var elsLen = els.length; var pattern = new RegExp(searchClass); for (i = 0, j = 0; i < elsLen; i++) { if ( pattern.test(els[i].className) ) { classElements[j] = els[i]; j++; } } return classElements; } /*END MISC FUNCTIONS*/ //other codes goes here[/quote]

Last edited by ☻KaNaLiTnUk☻ (2007-12-29 13:59:13)

Pages: 123456..6

Board footer

© 2024 F Talk

Current time is 20:22

[ 15 queries - 0.009 second ]
Privacy Policy