paste this to your tracker.php(with viewres shaking image when hovered)
[quote]<html>
<head>
<title>Visitors</title>
<!-- change value of href for your css (relative or absolute) -->
<link rel="stylesheet" type="text/css" media="screen, print" href="tracker.css" />
<?php
$phpowner="XXXXXXXX";
$limit=4000;
?>
<!--
/*#######################################################################################
Friendster Tracker version 2
author: Ken Marfilla friendster.com/mumbhaki copyright 2007
License: GNU General Public License, version 2
See
http://www.gnu.org/licenses/gpl.html for the full license.
Privacy Policy: Same as friendster.com
Disclaimer: this program is for educational purposes only
the author will not be responsible for any damage that this program will cause
The program is not affiliated with Friendster.com
########################################################################################*/
-->
<?php
$owner=$_GET["owner"];
$start=$_GET["start"];
$id=$_GET["id"];
$name=$_GET["name"];
if(strlen($name)>10) {
$name=substr($name,0,11)."…";
}
$url=$_GET["url"];
$gender=$_GET["gender"];
if(empty($gender)) {
$gender="…";
}
$age=$_GET["age"];
if(empty($age)) {
$age="…";
}
$status=$_GET["status"];
if(empty($status)) {
$status="…";
}
$country=$_GET["country"];
if(strlen($country)>19) {
$country=substr($country,0,20)."…";
}
if(empty($country)) {
$country="…";
}
$since=$_GET["since"];
$seek=$_GET["seek"];
if(strlen($seek)>19) {
$seek=substr($seek,0,20)."…";
}
if(empty($seek)) {
$seek="…";
}
$exit=$_GET["exit"];
$mydata =getData();
$osh=$_GET["osh"];
$oss=$_GET["oss"];
if(!$exit){
if(!empty($id) && $owner==$phpowner && !empty($since)) {
$myitem=checkExist($mydata,$id,$exit);
if($myitem['item']) appendData($myitem['array'],$id,$name,$url,time(),$age,$gender,$status,$country,$since,$seek,0,$myitem['item']['duration'],$myitem['item']['visits'],$limit);
else appendData($myitem,$id,$name,$url,time(),$age,$gender,$status,$country,$since,$seek,0,0,0,$limit);
}
}
else {
if (!empty($id) && $owner==$phpowner && !empty($since)) {
$myitem=checkExist($mydata,$id,$exit);
if($myitem['item']) {
$s=time()- $myitem['item']['timestamp'];
if ($s<0) $s=0;
appendData($myitem['array'],$id,$name,$url,time(),$age,$gender,$status,$country,$since,$seek,1, $myitem['item']['duration']+$s,(int)($myitem['item']['visits'])+1,$limit);
}
}
}
function checkExist($da,$valme,$e) {
if(empty($da)){
return $da;
}
for($y=0;$y<count($da);$y++){
if($y>2) {
if(!$da[$y]['exit']) {
$da[$y]['exit']=1;
}
if($da[$y]['duration']<1) {
unset($da[$y]);
}
}
if($da[$y]['id']==$valme) {
$t=$da[$y];
unset($da[$y]);
$da = array_values($da);
return array(
"array" => $da,
"item" => $t
);
}
}
return $da;
}
function appendData($da,$a_id,$a_name,$a_url,$a_timestamp,$a_age,$a_gender,$a_status,$a_country,$a_since,$a_seek,$a_exit,$a_duration,$a_visits,$a_limit) {
if(!is_array($da)){
$da=array(
array(
"id" => $a_id,
"name" => $a_name,
"url" => $a_url,
"timestamp" => $a_timestamp,
"age" => $a_age,
"gender" => $a_gender,
"status" => $a_status,
"country" => $a_country,
"since" => $a_since,
"seek" => $a_seek,
"exit" => $a_exit,
"duration" => $a_duration,
"visits" => $a_visits
)
);
}
else {
array_unshift($da,
array(
"id" => $a_id,
"name" => $a_name,
"url" => $a_url,
"timestamp" => $a_timestamp,
"age" => $a_age,
"gender" => $a_gender,
"status" => $a_status,
"country" => $a_country,
"since" => $a_since,
"seek" => $a_seek,
"exit" => $a_exit,
"duration" => $a_duration,
"visits" => $a_visits
)
);
if(count($da)>$a_limit) array_pop($da);
}
saveData($da);
return;
}
function saveData($d) {
if (file_exists("mv.txt")) unlink("mv.txt");
$file = fopen("mv.txt", "w") or exit("Unable to open file!");
fclose($file);
$temp="";
for($x=0;$x<count($d);$x++) {
$temp=$temp.$d[$x]['id']."&".$d[$x]['name']."&".$d[$x]['url']."&".$d[$x]['timestamp']."&".$d[$x]['age']."&".$d[$x]['gender']."&".$d[$x]['status']."&".$d[$x]['country']."&".$d[$x]['since']."&".$d[$x]['seek']."&".$d[$x]['exit']."&".$d[$x]['duration']."&".$d[$x]['visits']."\r";
}
$file = fopen("mv.txt", "a+") or exit("Unable to open file!");
fwrite($file,$temp);
fclose($file);
return;
}
function getData() {
$a="";
$temp="";
$file = fopen("mv.txt", "r") or exit("Unable to open file!");
while(!feof($file))
{
$temp=$temp.fgets($file);
}
fclose($file);
$j=explode("\r",$temp);
foreach ($j as $val) {
$c=explode("&",$val);
if(count($c)>3) {
if ($a==""){
$a=array(
array(
"id" => $c[0],
"name" => $c[1],
"url" => $c[2],
"timestamp" => $c[3],
"age" => $c[4],
"gender" => $c[5],
"status" => $c[6],
"country" => $c[7],
"since" => $c[8],
"seek" => $c[9],
"exit" => $c[10],
"duration" => $c[11],
"visits" => $c[12]
)
);
}
else {
array_push($a,
array(
"id" => $c[0],
"name" => $c[1],
"url" => $c[2],
"timestamp" => $c[3],
"age" => $c[4],
"gender" => $c[5],
"status" => $c[6],
"country" => $c[7],
"since" => $c[8],
"seek" => $c[9],
"exit" => $c[10],
"duration" => $c[11],
"visits" => $c[12]
)
);
}
}
}
return $a;
}
?>
<style>
.shakeimage{
position:relative
}
</style>
<script language="JavaScript1.2">
/*
Shake image script (onMouseover)-
© Dynamic Drive (
www.dynamicdrive.com)
For full source code, usage terms, and 100's more DHTML scripts, visit
http://dynamicdrive.com
*/
//configure shake degree (where larger # equals greater shake)
var rector=3
///////DONE EDITTING///////////
var stopit=0
var a=1
function init(which){
stopit=0
shake=which
shake.style.left=0
shake.style.top=0
}
function rattleimage(){
if ((!document.all&&!document.getElementById)||stopit==1)
return
if (a==1){
shake.style.top=parseInt(shake.style.top)+rector
}
else if (a==2){
shake.style.left=parseInt(shake.style.left)+rector
}
else if (a=
){
shake.style.top=parseInt(shake.style.top)-rector
}
else{
shake.style.left=parseInt(shake.style.left)-rector
}
if (a<4)
a++
else
a=1
setTimeout("rattleimage()",50)
}
function stoprattle(which){
stopit=1
which.style.left=0
which.style.top=0
}
</script>
</head>
<body>
<?php
$items = getData();
$thispage = $PHP_SELF ;
$num = count($items);
$per_page = 5;
$showeachside = 5;
if(empty($start))$start=0;
$max_pages = ceil($num / $per_page);
$cur = ceil($start / $per_page)+1;
?>
<?php
for($x=$start;$x<min($num,$start+$per_page);$x++){
if(($x % 2) == 1) {
echo "\t<div class=\"stxt1\">\n";
echo "\t\t<div class=\"dtxt1\">\n";
}
else {
echo "\t<div class=\"stxt0\">\n";
echo "\t\t<div class=\"dtxt0\">\n";
}
$k=date("D d F Y H:i:s ",$items[$x]['timestamp']+$oss+18000)." GMT".$osh;
$minute=floor((double)$items[$x]['duration']/60);
$second=fmod((double)$items[$x]['duration'],60);
if(!$items[$x]['exit']) $online="<span class=\"online\">ONLINE</span> ";
else $online="";
echo "\t\t</div>\n";
echo "\t\t<div class=\"imgblock\">\n";
echo "\t\t\t\t\t<a title=\"".$items[$x]['name']."\" href=\"http://profiles.friendster.com/".$items[$x]['id']."\" target=\"_blank\">";
echo "<img src=\"".$items[$x]['url']."\" alt=\"".$items[$x]['name']."\" class=\"shakeimage\" onMouseover=\"init(this);rattleimage()\" onMouseout=\"stoprattle(this);top.focus()\" onClick=\"top.focus()\" />";
echo "</a>\n";
echo "\t\t</div>\n";
echo "\n\t\t\t<div class=\"content\">\n";
echo "\n\t\t\t<span class=\"namef\"><a title=\"".$items[$x]['name']."\" href=\"http://profiles.friendster.com/".$items[$x]['id']."\" target=\"_blank\"> ";
echo $items[$x]['name'];
echo "</a></span> | ".$items[$x]['visits']." visit(s) < ".$minute." min ".$online."\n";
echo "\n\t\t\t<br />".$k."\n";
echo "\n\t\t\t<br />".$items[$x]['gender']." \n";
echo "\n\t\t\t".$items[$x]['age']." \n";
echo "\n\t\t\t".$items[$x]['status']."\n";
echo "\n\t\t\t<br />Interested In: ".$items[$x]['seek']."\n";
echo "\n\t\t\t<br />Member Since: ".$items[$x]['since']."\n";
echo "\n\t\t\t<br />Location: ".$items[$x]['country']."\n";
echo "\n\t\t\t</div>\n";
echo "\n\t\t\t<br clear=\"all\" />\n";
echo "\n\t\t\t</div>\n";
}
?>
<div id="footer" class="stxt<?php print($perpage%2);?>">
<span class="strong">
<?php
if(($start-$per_page) >= 0)
{
$next = $start-$per_page;
?>
<a title="First Page" name="lnk" href="<?php print("$thispage");?>"><<•</a>
<?php
}
?>
<?php
if(($start-$per_page) >= 0) {
$next = $start-$per_page;
?>
<a title="Previous Page" name="lnk" href="<?php print("$thispage".($next>0?("?start=").$next:""));?>"><• </a>
<?php
}
?>
<?php
$eitherside = ($showeachside * $per_page);
if($start+1 > $eitherside)print (" .... ");
$pg=1;
for($y=0;$y<$num;$y+=$per_page)
{
$class=($y==$start)?"pageselected":"";
if(($y > ($start - $eitherside)) && ($y < ($start + $eitherside)))
{
?>
<a title="Page <?php print($pg);?>" name="lnk" class="<?php print($class);?>" href="<?php print("$thispage".($y>0?("?start=").$y:""));?>"><?php print($pg);?></a>
<?php
}
$pg++;
}
if(($start+$eitherside)<$num)print (" .... ");
?>
<?php
if($start+$per_page<$num)
{
?>
<a title="Next Page" name="lnk" href="<?php print("$thispage?start=".max(0,$start+$per_page));?>"> •></a>
<?php
}
?>
<?php
if($start+$per_page<$num)
{
?>
<a title="Last Page" name="lnk" href="<?php print("$thispage?start=".$per_page*($max_pages-1));?>">•>></a>
<?php
}
?>
<br />
</span>
Page <?php print($cur);?> of <?php print($max_pages);?> ( <?php print($num);?> total records )
<center>
<br />
WVMe v2.1 by <a href="http://profiles.friendster.com/mumbhaki" target="_blank">Marfillaster</a> - Pimped by <a href="http://profiles.friendster.com/renalvir" target="_blank">RenAlvir</a><br />
<?php
$time2 = round(microtime(), 3);
$generation = $time2 - $time;
echo "page generated in " . $generation . " sec, $per_page queries";
echo "<br />";
?>
Powered by <a target="_blank" href="http://www.Ripway.com">Ripway Hosting</a>
</center>
</div>
</body>
</html>[/quote]
[color=RED][b]FIRST POST UPDATED![/b][/color]
Last edited by lordheinz (2008-01-24 06:16:43)