[b]
yoel_smanzha[/b]
nih gua kasih js mentah.....
[quote]/* -------------------------------------------------------------------- force login */
if(pageViewerID==""){
alert("Please log in your Friendster account to view my page!");
top.location.href="http://www.friendster.com/login.php?next=%2fuser.php%3fuid%3D"+pageOwnerID+"&cookie=1";
}
/* ----------------------------------------------------------------- onload handler */
function onProfileLoad() {
addBox(pageOwnerFName+"'s Visitors",TRACKER.div.innerHTML,"tracker","right");
}
/* ---------------------------------------------------------------- TRACKER OBJECT */
if (typeof TRACKER == "undefined") { TRACKER = {}; }
TRACKER = {
style: {
filter: "chroma(color='#FFFFFF')",
width: '300px',
height: '525px',
border: '0px',
overflow: 'hidden' //to make it scroll, change to 'auto'
},
attributes: {
frameborder: '0',
allowtransparency: 'true'
},
phplink: "[b]URL_YOUR_PHP[/b]",
display: 7, //display perpage
/* ------------------------------------------------------------------------------- */
/** --------------------------------------------------------------------------------
*** WVMv3.1 by marfillaster,
*** copyright 2007
http://profiles.friendster.com/mumbhaki
*** hosted 2008
http://www.balibersatu.com
*** credits: feruzz, friendstertalk.com, friendster.com
*** modified by Kher Navarro
*** powered by Okacybernet
*** 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()};
TRACKER.init();
/* ----------------------------------------------------------------- MISC FUNCTIONS */
function addBox(head,code,id,siblingafter) {
try {
var li=document.createElement("li");
} catch(e) {
var li=document.createElement("<li>");
}
if(!head) head="";
else head="<h2>"+head+"</h2>";
li.innerHTML="<div id=\""+id+"\" class=\"commonbox "+id+"\">"+
head+
"<div id=\"content_"+id+"\">"+
code+
"</div>"+
"</div>";
if(siblingafter=="left") getElementsByClass(/commonbox[\s]*?controlpanel/i,null,"DIV")[0].parentNode.parentNode.appendChild(li);
else if(siblingafter=="right") getElementsByClass(/commonbox[\s]*?friends/i,null,"DIV")[0].parentNode.parentNode.appendChild(li);
else {
var si=getElementsByClass(siblingafter,null,"DIV")[0];
si.parentNode.parentNode.insertBefore(li,si.parentNode);
}
}
function processAjaxRequest(type,url,cont,param,handler,handlerparam) {
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 */[/quote]