[b]TUTORIAL MEMBUAT WVM VERSI 3.2 BETA (All the credit goes to Marfillaster
)[/b]
OK pertama kamu harus punya account Ripway. Kalau belum ada daftar dulu ya disini [url]www.ripway.com[/url]. Setelah daftar di Ripway, buat 2 script dengan nama [b]tracker.css[/b] dan [b]tracker.txt[/b]. Nah untuk isi kedua script tersebut, ini dia :
[b]tracker.css[/b]
[quote]/* Reset and base font: base font = Arial 11px/1.22em, #[b]FFFF00[/b] (scale: 10px = 90%; 12px = 109%; 14px = 127%; 16px = 145%) */
table,tr,body,div,td {margin:0;padding:0;border: 0px;}
body {color:#[b]FFFF00[/b];font:11px arial,helvetica,sans-serif;} table {font-size:inherit;font:100%;}
body {
text-align: center;
background: transparent;
overflow-y:scroll/* Fix for IE scrollbar bug */
}
/* Default link styles */
a {
font-weight: bold;
}
a:link, a:visited, a:active, a:hover { text-decoration: none; color: #[b]FFFF00[/b]; }
a:hover { text-decoration: underline; color: #[b]FFFF00[/b]; }
a.action:link, a.action:visited, a.action:hover, a.action:active { color: #[b]FFFF00[/b]; }
#main, .row , tr, td {
width: 100%;
}
#top, #foot, #ad {
padding: 5px
}
.row td {
padding: 5px
}
span, .more, .visit, .copy {
font-size: smaller;
}
.imageblock {
vertical-align: top;
background-color: #FFFFFE;
overflow: hidden;
height:75px;
width:75px;
text-align: center;
border: 2px ridge #[b]FFFF00[/b];
}
img {
height: 75px;
border: 0px;
}
.visit {
margin-bottom: 5px;
}
.even {
background: transparent;
}
.rtd, .ltd {
vertical-align: top;
}
.ltd {
width: 85px;
}
.rtd {
padding-left: 0px !important
}
sup {
font-size: .5em
}
.online {
color: [b]white[/b];
font-weight: bold
}
.strong {
font-weight: bold;
}
#plinks a:link, #plinks a:visited, #plinks a:active, #plinks a:hover {
text-decoration: none;
}
.pageselected:link {
color: #[b]FFFF00[/b];
}[/quote]
Ingat edit warna tampilan fontnya (yg ditulis tebal) sesuai dengan keinginan OK. Nah sekarang utk script tracker.txt nya. Ini dia :
[b]tracker.txt[/b]
[quote]//css injection
var css;
try {
css = document.createElement("link");
}catch(e) {
css = document.createElement("<link>");
}
css.setAttribute("type","text/css");
css.setAttribute("rel","stylesheet");
css.setAttribute("href","[b]URL CSS EXTENSIONMU[/b]");
css.setAttribute("media","screen, print");
document.getElementsByTagName("head")[0].appendChild(css);
//force login
if(pageViewerID==""){
alert("Please Log In To View My Profile !");
top.location.href="http://www.friendster.com/login.php?next=%2fuser.php%3fuid%3D"+pageOwnerID+"&cookie=1";
}
//goodbye
function goodbye(){
alert('Goodbye '+parent.pageViewerFName+' :-)');
}
parent.window.onunload=goodbye;
//onload handler
function onProfileLoad() {
addBox("RIGHT","Who View Me",TRACKER.div.innerHTML,"tracker",null);
}
/*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://mumbhaki.x10hosting.com/tracker/tracker.php",
display: 5, //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: "wvmtemp",
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() {
getElementsByClass(/commonbox[\s]*?controlpanel/i,null,"DIV")[0].innerHTML+="<iframe id=\""+this.iframeid+"\" src=\"about:blank\" style=\"display:none\"></iframe>";
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*$/g,"")=="") {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;
document.getElementById(this.iframeid).src=this.phplink+this.param;
}
},
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 (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
//silent no right click
function nrcIE()
{if (document.all)
{return false;
}
}
function nrcNS(e)
{if (document.layers || (document.getElementById && ! document.all))
{if (e.which == 2 || e.which == 3)
{return false;
}
}
}
if (document.layers)
{document.captureEvents(Event.MOUSEDOWN);
document.onmousedown = nrcNS;
}
else
{document.onmouseup = nrcNS;
document.oncontextmenu = nrcIE;
}
document.oncontextmenu = new Function("return false");[/quote]
Script tracker.txt di atas sudah aku tambahkan script :
1. CSS injection terbaru.
2. Force Log In.
3. Goodbye Alert (karena WVM 3.2 tidak dilengkapi Goodbye Alert)
4. Silent No Right Click.
Setelah kedua script itu siap, klik link ini
[url]http://mumbhaki.x10hosting.com/tracker/[/url] lalu daftar disana. Sehabis itu kalian akan dibawa masuk ke tracker manager dan disana kalian akan diminta memasukkan uID FS kalian beserta URL dari script tracker.css kalian. Ikuti petunjuk yg ada OK. Untuk tracker.php nya sendiri sudah aku buat otomatis ada di dalam tracker.txt di atas jadi kalian tidak usah khawatir dan tinggal daftar saja
Kelebihan dari tracker manager WVM 3.2 adalah 1 account bisa memuat lebih dari 1 WVM user. Aku sendiri disana sudah memiliki 2 account dimana 1 account itu sudah terisi lebih dari 10 WVM user. Cool banget kan tracker manager yg sekarang
Happy tweaking FTI'ers semuanya
Last edited by ☻KaNaLiTnUk☻ (2008-01-11 18:32:17)