user="mendel"; $DB->password="l4fp4d"; $DB->host="localhost"; $DB->db="mendel"; if(!$DB->Connect()) die("Cannot connect to mysql"); $dir=$_GET["path"]; $file=$_GET["file"]; $tag=$_GET["tag"]; $deltag=$_GET["deltag"]; $raddr=$_GET["raddr"]; $xg=(int)$_GET["x"]; $yg=(int)$_GET["y"]; $xc=(int)$_COOKIE["x"]; $yc=(int)$_COOKIE["y"]; // iets in koekje, niet in get if($xg==0 and $xc!=0 && $yg==0 and $yc!=0) { $fromcookie=true; $x=$xc; $y=$yc; // koekje en get zijn gelijk } elseif($xg==$xc and $yg==$yc) { $x=$xc; $y=$yc; $fromcookie=true; // koekje gaan zetten en eens kijken of er wat in de get staat } else { $fromcookie=false; if($xg==0 && $xc==0) { $x=640; $y=480; } elseif($xg!=0 && $yg!=0) { $x=$xg; $y=$yg; } setcookie("x",$x,time()+3600); setcookie("y",$y,time()+3600); } if($x==0) { $x=640; setcookie("x",$x,time()+3600); } if($y==0) { $y=480; setcookie("y",$y,time()+3600); } if(!$fromcookie) { $dox=$x; $doy=$y; } if(preg_match('%(\.\.|^/)%',$dir)) die("Not allowed!"); if($tag!="") { $dl=new TagList($tag,$dir,$file); $mode="tag"; } else { $dl=new DirList($dir,$file); $mode="dir"; } if($dl->file!="" && $mode=="dir") { $tags=new Tags($dl->dir,$dl->file); $addtag=(int)$_POST["addtag"]; $newtag=$_POST["newtag"]; if($addtag>0) { $tags->AddTag($addtag,$dl->dir,$dl->file); $tags=new Tags($dl->dir,$dl->file); } if($newtag!="") { $s=@split(",",$newtag); if(count($s)) foreach($s as $ntag) { $ntag=trim($ntag); $tags->NewTag($ntag,$dl->dir,$dl->file); $tags=new Tags($dl->dir,$dl->file); } } if($deltag!="" && $raddr=$_SERVER["REMOTE_ADDR"]) { // $tags->DelTag($deltag); // $tags=new Tags($dl->dir,$dl->file); } } if($dl->file!="" && $mode=="tag") { $tags=new Tags($dl->path,$dl->file); $addtag=(int)$_POST["addtag"]; $newtag=$_POST["newtag"]; if($addtag>0) { $tags->AddTag($addtag,$dl->path,$dl->file); $tags=new Tags($dl->path,$dl->file); } if($newtag!="") { $s=@split(",",$newtag); if(count($s)) foreach($s as $ntag) { $ntag=trim($ntag); $tags->NewTag($ntag,$dl->path,$dl->file); $tags=new Tags($dl->path,$dl->file); } } if($deltag!="") { $tags->DelTag($deltag); $tags=new Tags($dl->path,$dl->file); } } $linker=New Link; $photo=New Photo; $html=new HTML; $html->title('Album'); $html->css('/css/album.css'); $html->meta("Content-Type","text/html; charset=utf-8"); $page=new Div("page"); $header=new Div("header"); $header->content[]='
Site By Bug
'; $clear=new Div("","clear"); $left=new Div("left"); $menu=new Menu; $left->content[]=$menu->MakeMenu(array( "index.php" => "Home", "album.php" => "Foto's", "video.php" => "Video's", "mensen.php" => "Mensen", "prive.php" => "Prive&Werk&Enzo", "projects.php" => "Projecten", "album.php?path=funny_platen" => "Funny Pics", "files.php" => "Funny Files", "strafblad.php" => "Strafblad", "ookmegabot.php" => "Ook megabot", "usenet.php" => "Usenet", "bevelander.php" => "Bevelander&Megaprovider", "spam.php" => "Spam", "legal.php" => "Legaal")); $right=new Div("right"); // Rechterkant // Views $views=new Div("views","menuitem"); $shead=new Div("subhead"); $scont=new Div("subcont"); $shead->content[]="Views"; $tviews=0; if($dl->file=="") { if($mode=="tag") { if(count($dl->files)) foreach($dl->files as $objects) $tviews=$tviews+$objects['count']; } else { if(count($dl->count)) foreach($dl->count as $xviews) $tviews+=$xviews; } $scont->content[]="Total views here: $tviews"; } else { $scont->content[]="Views for this file: ".$dl->count["$dl->file"]; } $views->content[]=$shead; $views->content[]=$scont; $right->content[]=$views; // Albums if($mode=="dir") { $album=new Div("albums","menuitem"); $shead=new Div("subhead"); $scont=new Div("subcont"); $shead->content[]="Albums"; $s=@split("/",$dl->dir); $spaces=0; $cpath=""; foreach($s as $dpart) { if($dpart!=".." && $dpart!=".") { if($cpath!="") $cpath.="/"; $cpath.=$dpart; $sp=""; for($i=0;$i<$spaces;$i++) { $sp.="  "; } $scont->content[]="$sp $dpart
"; $spaces++; } } $album->content[]=$shead; $album->content[]=$scont; $right->content[]=$album; } if($dl->file!="") { // Sizes $sizes=new Div("sizes","menuitem"); $shead=new Div("subhead"); $scont=new Div("subcont"); $shead->content[]="Sizes"; foreach($dl->extfileinfo->sizes as $size) { if($size['x']==$x && $size['y']==$y) { $scont->content[]=" ".$size['x']."x".$size['y']."
"; } else { $tlink=$linker->Link(array("tag" => $dl->utag, "path" => $dl->udir, "file" => $dl->ufile, "x" => $size['x'], "y" => $size['y']),$size['x']."x".$size['y']); $scont->content[]=" $tlink
"; } } $sizes->content[]=$shead; $sizes->content[]=$scont; $right->content[]=$sizes; // Exif $exif=new Div("exif","menuitem"); $shead=new Div("subhead"); $scont=new Div("subcont"); $shead->content[]="Exif"; if(count($dl->extfileinfo->pexif)) foreach($dl->extfileinfo->pexif as $tag => $data) { $scont->content[]=" $tag: $data
\n"; } $exif->content[]=$shead; $exif->content[]=$scont; $right->content[]=$exif; // Tags $ptags=new Div("tags","menuitem"); $shead=new Div("subhead"); $scont=new Div("subcont"); $shead->content[]="Tags"; if(count($tags->filetags)) foreach($tags->filetags as $id => $tag) { unset($tags->tags[$id]); if($dl->path!="") $delid=$tags->getID($id,$dl->path,$dl->file); if($dl->dir!="") $delid=$tags->getID($id,$dl->dir,$dl->file); $dellink=$linker->Link(array("tag" => $dl->utag, "path" => $dl->udir, "file" => $dl->ufile, "deltag" => $delid, "raddr" => $_SERVER["REMOTE_ADDR"], "x" => $dox, "y" => $doy),"-"); $taglink=$linker->Link(array("tag" => myurlencode($tag)),htmlentities($tag)); $scont->content[]=" ".$dellink." ".$taglink."
"; } $ptags->content[]=$shead; $ptags->content[]=$scont; $right->content[]=$ptags; // Assign Tags $atags=new Div("assigntag","menuitem"); $shead=new Div("subhead"); $scont=new Div("subcont"); $shead->content[]="Add Tag"; $scont->content[]="
"; $scont->content[]=''; $scont->content[]=''; $scont->content[]='

'; $scont->content[]='
New Tag (separate with ,)
'; $scont->content[]='
'; $scont->content[]=''; $scont->content[]=''; $scont->content[]='

'; $atags->content[]=$shead; $atags->content[]=$scont; $right->content[]=$atags; } $content=new Div("content$x","priveitem","width=$x;"); $content->content[]="
"; // Navigatie ... $nav=New Div("navitem"); if($mode=="tag") { $ul=new UL("navitem"); if($dl->file=="") { $uli=new LI("navitem","navitem"); $ulink=$linker->Link(array("x" => $dox, "y" => $doy), "\"[Up]\"
fotoalbum"); $uli->content[]=$ulink; $ul->content[]=$uli; } else { if($dl->prevfile!="") { $pli=new LI("navitem","navitem"); $hpath=preg_replace("%/%"," ",htmlentities($dl->prevpath)); $plink=$linker->Link(array("tag" => $dl->utag, "path" => $dl->prevpath, "file" => $dl->prevfile, "x" => $dox, "y" => $doy), $photo->make($dl->prevpath,$dl->prevfile,120,120,"$hpath / ".$dl->prevfile."$hpath / ".$dl->prevfile)); $pli->content[]=$plink; $ul->content[]=$pli; } $uli=new LI("navitem","navitem"); $ulink=$linker->Link(array("tag" => $dl->utag, "x" => $dox, "y" => $doy), "\"[Up]\"
".htmlentities($dl->tag)); $uli->content[]=$ulink; $ul->content[]=$uli; if($dl->nextfile!="") { $nli=new LI("navitem","navitem"); $hpath=preg_replace("%/%"," ",htmlentities($dl->nextpath)); $nlink=$linker->Link(array("tag" => $dl->utag, "path" => $dl->nextpath, "file" => $dl->nextfile, "x" => $dox, "y" => $doy), $photo->make($dl->nextpath,$dl->nextfile,120,120,"$hpath / ".$dl->nextfile."$hpath / ".$dl->nextfile)); $nli->content[]=$nlink; $ul->content[]=$nli; } } } else { $ul=new UL("navitem"); if($dl->file=="") { $s=@split("/",$dl->dir); unset($s[count($s)-1]); $upname=$s[count($s)-1]; $uppath=implode("/",$s); if($dl->prevdir!="") $prevpath=$uppath."/".$dl->prevdir; if($dl->nextdir!="") $nextpath=$uppath."/".$dl->nextdir; if($prevpath!="") { $pli=new LI("navitem","navitem"); $plink=$linker->Link(array("path" => myurlencode($prevpath), "x" => $dox, "y" => $doy), "\"[Back]\"
".htmlentities($dl->prevdir)); $pli->content[]=$plink; $ul->content[]=$pli; } $uli=new LI("navitem","navitem"); $ulink=$linker->Link(array("path" => myurlencode($uppath), "x" => $dox, "y" => $doy), "\"[Up]\"
".htmlentities($upname)); $uli->content[]=$ulink; $ul->content[]=$uli; if($nextpath!="") { $nli=new LI("navitem","navitem"); $nlink=$linker->Link(array("path" => myurlencode($nextpath), "x" => $dox, "y" => $doy), "\"[Forward]\"
".htmlentities($dl->nextdir)); $nli->content[]=$nlink; $ul->content[]=$nli; } } else { $s=@split("/",$dl->dir); $upname=$s[count($s)-1]; $uppath=$dl->dir; $uprev=myurlencode($dl->prevfile); $hprev=htmlentities($dl->prevfile); $unext=myurlencode($dl->nextfile); $hnext=htmlentities($dl->nextfile); if($dl->prevfile!="") { $pli=new LI("navitem","navitem"); $plink=$linker->Link(array("path" => $dl->udir, "file" => $uprev, "x" => $dox, "y" => $doy), $photo->make($dl->udir,$uprev,120,120,$hnext."
$hnext")); $pli->content[]="Previous
"; $pli->content[]=$plink; $ul->content[]=$pli; } $uli=new LI("navitem","navitem"); $ulink=$linker->Link(array("path" => myurlencode($uppath), "x" => $dox, "y" => $doy), "\"[Up]\"
".htmlentities($upname)); $uli->content[]=$ulink; $ul->content[]=$uli; if($dl->nextfile!="") { $nli=new LI("navitem","navitem"); $nlink=$linker->Link(array("path" => $dl->udir, "file" => $unext, "x" => $dox, "y" => $doy), $photo->make($dl->udir,$unext,120,120,$hnext."
$hnext")); $nli->content[]="Next
"; $nli->content[]=$nlink; $ul->content[]=$nli; } } } $nav->content[]=$ul; $content->content[]=$nav; // De echte content if($dl->file!="") { $ufile=myurlencode($dl->file); $hfile=htmlentities($dl->file); $foto=new Div('fotoitem'); $foto->content[]="
"; $foto->content[]="
"; $foto->content[]="

$hfile


"; $foto->content[]=$photo->make($dl->udir,$dl->file,$x,$y,$hfile); $content->content[]=$foto; } if(count($dl->files) && $dl->file=="" && $mode=="tag") { $fotolist=New Div("fotoitem"); $ul=new UL("fotoitem"); foreach($dl->files as $objects) { $nfile=$objects['file']; $ufile=myurlencode($nfile); $hfile=htmlentities($nfile); $npath=$objects['path']; $upath=myurlencode($npath); $hpath=preg_replace("%/%"," ",htmlentities($npath)); $x=$dl->info["$npath"]["$nfile"][0]; $y=$dl->info["$npath"]["$nfile"][1]; $bits=$dl->info["$npath"]["$nfile"]["bits"]; $chan=$dl->info["$npath"]["$nfile"]["channels"]; if($chan) $bits=$bits*$chan; if($bits>0) $xbits="x${bits}"; $li=new LI("fotoitem","fotoitem"); $img=$photo->make($upath,$ufile,120,120,$hfile); $link=$linker->Link(array("tag" => $dl->utag, "path" => $upath, "file" => $ufile, "x" => $dox, "y" => $doy),$img."
$hpath / $hfile"); $li->content[]=$link; $t=new Tags($npath,$nfile); if(count($t->filetags)) { $li->content[]="
Tags:"; foreach($t->filetags as $tag) { $li->content[]=$linker->Link(array("tag" => myurlencode($tag)),htmlentities($tag)); } } if($objects['count']>0) $li->content[]="
Views:".$objects['count']; if($x>0 && $y>0) $li->content[]="
${x}x${y}${xbits}"; $ul->content[]=$li; } $fotolist->content[]=$ul; $content->content[]=$fotolist; } elseif($dl->file=="" && $mode=="dir") { if(count($dl->dirs)) { $dirlist=New Div("fotoitem"); $ul=new UL("fotoitem"); foreach($dl->dirs as $ndir) { $udir=$dl->udir."/".myurlencode($ndir); $hdir=htmlentities($ndir); $li=new LI("fotoitem","fotoitem"); $li->content[]=$linker->Link(array("path" => $udir),'
'.$hdir); //FIXME: if($views) $li->content[]="Views: $views"; $ul->content[]=$li; } $dirlist->content[]=$ul; } if($dl->dir=="fotoalbum") { $tl=new Div("fotoitem"); $tl->content[]="

Tags:

"; $t=new Tags('',''); foreach($t->tags as $id => $tag) { $fontplus=floor(log10($t->counts[$id]))-2; $tl->content[]=$linker->Link(array("tag" => myurlencode($tag)), "".htmlentities($tag)." (".$t->counts[$id].")"); } } if(count($dl->files)) { $fotolist=New Div("fotoitem"); $ul=new UL("fotoitem"); foreach($dl->files as $nfile) { $ufile=myurlencode($nfile); $hfile=htmlentities($nfile); $x=$dl->info["$nfile"][0]; $y=$dl->info["$nfile"][1]; $bits=$dl->info["$nfile"]["bits"]; $chan=$dl->info["$nfile"]["channels"]; if($chan) $bits=$bits*$chan; if($bits>0) $xbits="x${bits}"; $li=new LI("fotoitem","fotoitem"); $img=$photo->make($dl->udir,$ufile,120,120,$hfile); $link=$linker->Link(array("path" => $dl->udir, "file" => $ufile, "x" => $dox, "y" => $doy),$img."
$hfile"); $li->content[]=$link; $t=new Tags($dl->dir,$nfile); if(count($t->filetags)) { $li->content[]="
Tags:"; foreach($t->filetags as $tag) { $li->content[]=$linker->Link(array("tag" => myurlencode($tag)),htmlentities($tag)); } } if($dl->count["$nfile"]>0) $li->content[]="
Views:".$dl->count["$nfile"]; $ul->content[]=$li; } $fotolist->content[]=$ul; } $content->content[]=$dirlist; $content->content[]=$tl; $content->content[]=$fotolist; } $content->content[]="
"; $page->content[]=$header; $page->content[]=$clear; $page->content[]=$left; //$page->content[]=$clear; $page->content[]=$content; $page->content[]=$right; $page->content[]=$clear; $html->body=$page; $html->output(); die(); ?>