<?php
/*################################################################
# MOSAIC MINI (c) yellowgreen designbüro #
# #
# Home: http://yellowgreen.de/mosaic-mini/ #
# License: http://creativecommons.org/licenses/by-sa/3.0/ #
# #
# How to install: #
# Just put this script in a folder with images on your server #
# and start the script by accessing the folder with a browser. #
# #
# How to uninstall: #
# Rename this file to "uninstall.php" and start the script. #
# It will delete the cache dir, if it exists. #
################################################################*/
// SETTINGS
/*##########################################################*/
// Title and description
$gallery_title = "My gallery";
$gallery_description = "Another MOSAIC MINI gallery";
// Modes
$page_mode = "normal"; // "normal" or "embedded"
$mosaic_mode = "gallery"; // "gallery" or "imagewall"
$popup_mode = "modal"; // "popup" or "modal"
// Look and feel
$background_color = "#FFFFFF";
$link_color = "#00BFFF";
$sort_reverse = "on";
$thumbnail_quality = 80;
$standard_size = "normal";
$slideshow_pause_during_images = 3;
// Standard sizes
$small_size = 90;
$normal_size = 150;
$large_size = 225;
// Standard images per row
$small_size_per_row = 5;
$normal_size_per_row = 3;
$large_size_per_row = 2;
// Paths
$images = "./";
$cache = $images . "cache/";
/*##########################################################*/
// OUTPUT
error_reporting(0);
umask(0000);
header('content-type: text/html; charset=utf-8');
$version = "1.6.9"; // Built 2009-06-29
// Output error messages
if(phpversion() < 4) die("<strong>Error</strong>: MOSAIC needs at least PHP 4.01. Current PHP version is " . phpversion());
if(!extension_loaded("gd")) die("<strong>Error</strong>: MOSAIC needs the PHP extension GD-LIB for image rendering. Please contact your hosting provider.");
// Output converted image
if(isset($_GET["arrow"])) {
header("content-type: image/png");
$arrow_forward = "iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAAH7+Yj7AAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAARVSURBVHjaYvj//z8DCNtY2awA4lIQmxFE2Frb/mdABlAV/5F0/GcCil9gQANYtQMEEAOyNhibEcRB0x3BBGVEHz56mBHKXsHEgAWABKcA8VKYZSAdAAEEth0EMFyAABOBCguY0BTB7JuOpDAfJM8CJH6iGwFUnAWkspANYQEKsqNbi80ZyG4MAVKrsZgO9jpAAMEVQhXLAal7oDAHKjDBFubMQPYfbF6GmQgLyD84ggbuXpS4genG4plWJjzWSSIJVTPhshKo+AVSZDOw4HHbdiDlgazwFxCzoQXRQzR9MtiTJBY3MyH7FguAuxMggFBiBsn6aiDVwoAffAGFDNCgL7jSBDO+CCIANgEN9ofHNNCwyVgMmwv1hgMRBvohpwgzIH0SiyJQ5lmGJThuAykVXCaDom87KX4DWqKKZHg+kJqAXiC8ICfQgIaB0lAjNhfqERsZQEMygdQ0PEoewRKiEJDzFj1tAbEGEN8AYgki7HsHDA5h9BJiC5DyJiMEuICGfceZsKGGg8KnDocBN0FKgIa8RpcACCCcBkINLQVS4UBsDMR/gXg9EBcDDXqESw+GgUBDeIDUcyDmIeDNGqDBrXgNBBoGSlP5JIYfqOz/iy0vbwRlITLzMtxQWF4Op8AwlFIfVhavwFYIQguHy0Qm+slgA4GMFgJ5F5STBKCxjA/kYNQ/2GoyNFcEAql1eAw1ZyKxpFkPtWguDiVFTOTEANDQFKjB6MHgysRAGchF4/OQbSAwPIuwFGV3WMgwSB1apGEDi0EufESCYW/xGAYC3SAXWgHxEwIGgZJKIAH7foGyH6zEBtkshG4OEIO8N4dIDwgDDXxHTAOVGDAFaFgucl4GF+NkGrYVZhiuAvY5kZUSCIQCDVtDsAoAGioKpA4AsRYOg1qBBtVgkwAIMLx1ChaLhKAlOijGdUkMmsvQOgnUaXhHrCaCDoS2/CeTEKzEAlA7Ihc9CohyINBRnNBKwY+BPmATqMsHa3sQquXJqZipBcB9RlwNdlD6uo2lgEAHoCK/A9R0g7bSnKjsSJC5qrB0Ciu5pKGdRjYiDEgEal6AFuqg3kgatFsjRAVHgnpsSkB7noKqeGao4+SI1Iy1o4HmYFBx0ovcTyQDgColJVBlUkqC44htAVwDUp5I/Y4caLuanwRjQG4qBTkwlpapHuhYUHT1QTHIwQbQYsuGCO2xLPj6fzRy8AVozQxyLCgZFOFRrsIE7Y/THQAdp0hEG+QLKAT3AXEInRzlAY1eYmNtHws0bYTQyEH80MyRQ2QRhg76QL2o40CDQP2+aio5yh469GBAoVEdILexQBNuDdS3OURoVMTSAa6AJnZOKgU+qIVZia2DHI6t50hnAGo0rMTXWGCGdgj96OwwUIsmCHk0gNCoCjO0p5VGY4fNAuIsdIeR1KKGprMiaLXIQ6GDQOVuNyiHoo+FUtzkx1LQwoaYVLDkWlCNcQeIzwLxSqBj7pNjDwBJPO2OM7QR7gAAAABJRU5ErkJggg==";
$arrow_backward = "iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAAH7+Yj7AAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAARISURBVHjaYvj//z8DCNtY2awA4lIQmxFE2Frb/mdABlAV/5F0/GcCil9gQANYtQMEEAOyNhibEcRB0x3BBGXMPXz0MCOUvQImmIysFCQ4BcSAWQbSARBAYNuRBbGAiUCFBdidycAgAJT8iCzOAuT8hLKzgJLTcZjKgMvE9UBNQcjiyG4MAVKr0U2CeR0ggOAKoYrlgNQ9UJgDFZhgs5oZyP6DzW0wE2EB+QeXJ2DuxBY3f4GmsKCFbSsLNmuwgGomIhQxILsRbA0Qq+NT+AuJfwNHnMvgihmMIGIi4L4XMDmAAEKJGST3VgOpFgb84AsQSwIN+oIRg1BDmPFFEAGwCWiwPzwUgYZNJtKwyyCvYfG6HyzcQPnADEjn4DEkCGjAemKcCTIUlHK240pi5ACQl1+giTEDbSoi10BQJiAUGe+ALhbGlYvQwCNYQhQCct4S6YgUIL4JSpbYLEYvIbYAKW8yfMoFNOw7zoQNNbwRSNXhMADkQlugIa/RJQACCKeBUENLgVQ4EBuDYh9UWgJxMdCgR3iLWTRDeIDUcyDmIeDNGqDBrXgNBBo2AUjlkxh+LECD/2LLyxtBWYjM5Ac3FJaXwykwDKXUhxWxK4jU6AAtGOZiicDJYAOBjBYiDJoOLWUOQvn7sKgBFzCgQqAaj0F3gIaoEutvUMmFr1QBlcYvSAzLImwGFgANmkhm5LgyYamRJlIQ2zxMWMLhAxCzkWngHSYsgvxA/BNo6HYyDFwMMhBXRveAVv+ZJBjYDTLQioCiaVCD5Qio+wXKfrASG1RaCxHhAlAy0gC1RYBYAk1OGGjgO1gTQ5hIL4EM+YDFsCkgw1CaS6BinMyY3Qo0LBdfAfsciwtwgVCgYWsIVgFAQ0WB1AEg1sJhUCvQoBpsEgABhrdOwWKRELREDwRiXRKD5jK0TpoIC2+iGg6EHAht+U8mIViJBaAUmIseBUQ5EOgoTmil4MdAH7AJ1OWDtT0I1fLkVMzUAuA+I64GOyh93SaygCAFgGrHrVBzK0CNWQLqQelTFZZOYSWXNLTTyEYFB4EMBuXIWcjNHWggJACp+USYAeqxKQH1P2WBdnWOUei4HdAW4zUiLCYGgNxyDOg2JVAND2qeypHooI9A3AQton/RKD2C3FQKcmAskRqOQIuFC3TMNLEgB6oQUNQHdFTxAOVqFSZofxwfCASmBcUBcuAXJhyNZGQActw9aKPmNhB70NGB+0BR3AfEIcQGOajXD3QkLEeCRvCaQGNuNHJgH6wcbCHQoyAGXIC28Q/iqdejgNRSIs3rAJpViVyTTCYwwEIK+A6NmQ7ksSYix6hgLcxcbB3kcBJ6jrQCoEbDSnyNBVDNso6OLRnkFk0QevWIb1QF5NBpQJxGY4fNYoCMX/8lu0UNHWgpglaLPJSWbaAOG7QCIFQGM5DU5EdztCLSEBOo+DHAkqvvAPFZIF4JdMx9cuwBAChjBwRjtG1OAAAAAElFTkSuQmCC";
if($_GET["arrow"] == "backward") echo base64_decode($arrow_backward); else echo base64_decode($arrow_forward);
exit();
}
// Output mosaic image
if(isset($_GET["image"]) && is_file($_GET["image"]) && isset($_GET["size"])) {
// Image data
$types = array(1 => "gif", "jpeg", "png", "swf", "psd", "wbmp");
$imagedata = getimagesize($_GET["image"]);
// If not exists, create cache directory
if(!is_dir($cache) && is_readable("./")) mkdir($cache, 0777);
// Get thumbfile name for image
$thumbfile = substr($_GET["image"], strrpos($_GET["image"], '/') + 1);
$thumbfile = substr($thumbfile, 0, strrpos($thumbfile, '.')) . "_" . $_GET["size"] . "." . $types[$imagedata[2]];
// Calculate sizes
$imagedata[0] > $imagedata[1] ? $horizontal = true : $vertical = true;
$crop_x = 0; $crop_y = 0;
// Set mode
if(isset($_GET["mode"]) && $_GET["mode"] == "normal") {
if(isset($horizontal)) $width = $_GET["size"]; else $height = $_GET["size"];
if(!isset($width)) $width = floor($height * $imagedata[0] / $imagedata[1]);
if(!isset($height)) $height = floor($width* $imagedata[1] / $imagedata[0]);
$source_width = $imagedata[0]; $source_height = $imagedata[1];
} else {
$width = $_GET["size"]; $height = $_GET["size"];
if(isset($horizontal)) {
$source_width = $imagedata[1]; $source_height = $imagedata[1];
$crop_x = ($imagedata[0] - $source_width) / 2;
} else {
$source_width = $imagedata[0]; $source_height = $imagedata[0];
$crop_y = ($imagedata[1] - $source_height) / 2;
}
}
// Output image
header("content-type: image/" . $types[$imagedata[2]]);
if(!file_exists($cache . $thumbfile)) {
$original_image = call_user_func("imagecreatefrom" . $types[$imagedata[2]], $_GET["image"]);
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $original_image, 0, 0, $crop_x, $crop_y, $width, $height, $source_width, $source_height);
if($types[$imagedata[2]] != "jpeg") $thumbnail_quality = "";
call_user_func("image" . $types[$imagedata[2]], $new_image, $cache . $thumbfile, $thumbnail_quality);
call_user_func("image" . $types[$imagedata[2]], $new_image, false, $thumbnail_quality);
imagedestroy($original_image);
imagedestroy($new_image);
} else
readfile($cache . $thumbfile);
exit();
}
// Output popup
if(isset($_GET["src"])) {
$relative_path = basename($_GET["src"]);
if(!file_exists($relative_path)) header("location: index.php");
// Get image data
$imagedata = getimagesize($relative_path);
$filesize = round(filesize($relative_path));
switch(strlen($filesize)) {
case (strlen($filesize) > 4 && strlen($filesize) < 7) : $filesize = round($filesize / 1000) . " kB"; break;
case (strlen($filesize) >= 7) : $filesize = round($filesize / 1000000, 2) . " MB"; break;
default : $filesize = $filesize . " Byte";
}
// Output HTML content
header('content-type: text/html; charset=utf-8');
echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>' . basename($_GET["src"]) . ' (' . $imagedata[0] . ' × ' . $imagedata[1] . ' px, ' . $filesize . ')' . '</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="MOSAIC" />
<style type="text/css">
body { margin:0px; background-color:#000000; text-align:center }
a:hover { background-color:#000000 }
#image { width:' . $_GET["width"] . 'px; height:' . $_GET["height"] . 'px }
</style>
</head>
<body>
<!-- IMAGE -->
<div id="image"><img src="' . $_GET["src"] . '" width="' . $_GET["width"] . '" height="' . $_GET["height"] . '" alt="' . basename($_GET["src"]) . '" /></div>
</body>
</html>
';
exit();
}
// Output JavaScript
if(isset($_GET['js'])) {
header('content-type: application/x-javascript');
?>
// MoreCSS Library
O="elementropertValuepyorelefunctioM CSS.piesstyent.=n(,=getPcontvar ','ery(,'pacityvaluelassif();innHTlistStcolorName':'rebZak;c.ngth,){tiongetseexecute.Zplac;}};bef =='inpÃudoCStrà g(`aÃ'aftype')list--countÃ
EmÃctMLst=n(){à cludeposiÃmage7y='îNumbtagJáfiltÃe(/hZf'.slicetrim(Zloadauto.ndîsByTaZsultsZmovetarÃ
};=´gJ('li.subór,,âIâ¢exádefaultcommaâ¢Ã³atuscJadd':opÃs[ΩïedÂ¥]téof elà for){uâ¢efà edhióoryäs[i]spanhoóte¡(i=0;~;i++)ymbol-cQlic'+tooltip°s[0]focusà put/g,onchangeò®SectcalrblurZf';¢(%)/úColorÃarchñ=Ã+val(switch(!â&&â numbpªà g¢%o·¬caÃ'locaÃ.ôCât*100(0,§ºwà dow.INPUTëtoggpÃIõOf(idÃìâüâ¡)ë?ñ:'ââ®-ï-titn ÃtAttrà ï¬ÃTés¡wardCâ«Câ;Ëibu»('\"elementropertMoreCalueenttiSS.getdocum pyVlassonle.toolp.innerpiesvar posse=func(.sty.eightidthif(')return windowsliceSS.ame,'yV(ZtscreenlayerEm ode);horthancOrIDcalrHTMLi){sÃdStribrowroolp=Pize='ByTagNQremovePosiclo[0]teparInt.ngthpopupcNQget('opacityndexOfacvebody[1].execuóTdefaul=(mÃ
=}el+'re.â¢place,,.cli mou;};.ellipsiSSSé`arú-fft[i]for(i=ô;i++)Z~©, 'Z;.G(';pudoCscroll+Séûshow,0,wbehavioómplaóJìC(StyângvÃNumbeChild(visibca'ÃhâÃilit´(/(%â0;i<ifrQtagopâ¶tViewà »Ãë¬âúÃsÃî(ápxºar;bâ¢ak;Ã~.avai=0 â.oÂ¥tst7.âen(§-sé)/2func=ëpy;=âcâ¢aóÃ7Pies.spli=ò(hâ¢f',áëabsoÃûdivÃ=no, oggftà IFRAMEâºmâgin.õ=õ;á°ÃZ7©Wâû¢ñ.aËppendÃluóº¡Ã}};erÃ¥`-c-\"electorlementMoreCvar entreproperttargeteightSS.if(onfunctidocum stylesizessin.dexOfdisplaistenidthe.').length;bak;splittrgSssefileHeaDOMlice(loadode);DefitlassSJes[j]typeget){[level;for(turncaZ'Ev te=trim(ositi`dTagNameady('.placescrollscenfalZ=='eruZCaptuObjectwdows[i]=(='nûSizscriptGëdCÃ;};=0;at*/1007áStyleÃ,lû>-1.';origal=offZXMLHtéLûev Ã}â¥tpReque.pageelZ áEs.s.ö.availe.cli tachéies++)Qswitch(~ñ.ÃedprotolassTagysJ=sJò(yValuäj©j<caëÃileºâ«By«ïóâ¢eóh/g,'':=MÃ
óëmpTaráfiÅPâ¢h;mÃ
ú=newiÃH=parZIn.push(movei©i<pos}{âmÃ
à åñStaë.Gó âestlkà ´åe':û§âsheetbodyq.Wè(e,'ûún_timûaddÂ¥!§à Ãe{»§nÃeâû;j¡,max[0]deçblockÃâ¤tÃ;ÃmÃ
,erâ¢io.Ãw=+'%â\"elementropertpseudlassentlesector.ngthcase'oCnodorndexOf(es,pyMeCSEm getar;break;ectsctiveNameif(al.slice(VuestS.i'v e,piNa,cr,umberelse.')batchApÃ
sByTaÃ>-1)fse[i]':f(Qi=0ntervpysrun=ply);s[vel,G`m7~;i++)time.aSnextAnOfsdocumÃg(wd-1sequencswitchi=Zûâ;i<1))stwindow.=='fó.apé(sáZ=[==functio,vel+óÃ
N(Ã¥0.c&&©ö Ã
ByIQs=Zõ±d(óÃ
s(Ãû]Z©];¢sâîóÃâOrIDà ='ver(Ïexi§s®ΩÃ,£)Z.p[ãá]ëà ë};ÃPiesfir§à øush®0,J.){sameà eªy-seÃ+1):,ìôâ¢0)Ãé(.href condà cr)(i+1la§;}f(Qj=0anchà .sub§)?°:||ouâ;j<â;jâ¬++)Z[backúâ¹j].=ºâñó¿(,pQò=(â¡â¢â«mâseï¬a=Ev ne·i7á,~¥ö õ'bclick=´n(1;ÃodyÃ[0Ã],G,0Ã>ûŸJ¢ãâüeÃ,Ã`m7,ñddÃLiçeÃrâ¢setiä(Å,ï".split('\"');Q="ËM CSS(¬={'ªÃªË®-ïQ÷âQâQìQìâ-QâÃQÃô-QÃâ-téQâTéÃsÃQúSÃÃGQâ¹ÃQÃpÃ-iõQâ Ãâ ËQÃQûxt-sÃeQ»xtSÃeËQËÃÃÃËÅQÅ'ÃapplyOnLoad={ê¸+û Å;Ã÷â¥Â¬Å¸Ä±Å¸%ÃÃıÃart(%)§âSELECTë{ââæ.!ûë{µŸëtop.ã=Ÿâ¬,æ.µÃëeï¬(Ãâ¬,'+æ.+')+â§}}Ãââ¥Â¬ÃbackºÆ.backã˺Æ.ËãúÃÃãcloÃÃcloÃãprà tÃprà tãïºïãÿºÿãâºâãcÃkº(â Ã?cÃk():triggEvâ¡,'cÃk§bZakÃÃâ-ÃÃÃ¥â-å§µappeâ¢Ã«{Ã=ÃÃÃ¥=Ã¥Ãï¬Â¶Ã±)+Ã¥;}µdeȑ{=¶ñâ¢ÃÃ~)==Ã)=â¢(Ã~â¢(~-Ã¥~)==Ã¥)=â¢Ã~-Ã¥~ñ=ÃìÃcºâ«+û nÅüâ¡`aÃ'úÃûnÅüâ¡bZakÃââ¥Â¬âÃ{µë=¯;¿¯Ëââò¯=â)¯ûâ};âÿò¯áë¯Ë}ÃÃeï¬(ÃÃâ¥,â¬öâô-öovwri»ÃÏâô-ÏÃÃ¥=(öáÃÃÃ=(öáåÃ!ûë{£=(â)?â.£:£;£)âãâ£ï¬Ï+Ã¥;=cZa»XMLHttpRequeó(.open('Ã
',.âZadyóa»â.ZadySta»==4&&.Ï==200)ï¬.ZspâÃText+Ã¥;};.Ãâ¢(null}ÃâTéË={'âºÂº1,'âº1};øË[]áâëté˵âº'&&brows()áSafarië{téË«â«Ã¨â¨',10Ë®save',«â¤(«.laó¥Ã'.ë+1)+'.Å«â¤Ã gë.laó¥Ã'.ë)+'.âº_ÆÂ§Ë¨',¨}µâë{âkeyup=n(¬¯=¯¢Dâ'§}ÃúSÃâ°âÃâ°1.25emÃGâÃG§G!ûëGû; G:ÅG;tagJ==('UL'||'OLë)â¦i<±ë ú(±ë[i]elÃúâ¡Ëúâ¡Â¬Â©ÃºTéûnâeâñû<â =ö:absolu»; margà -ft:-Åâ°+G+'>Å+'</â> ÅñÃâ¹GâGblack§tagJ==('UL'||'OLë)â¦i<±ë ú(±ë[i]elÃúâ¡Ëúâ¡Â¬Ã±Ã»<â =G:ÅG+'>Åñ+'</â>â©GâÃéÃ˰s©zoomû100%â©°ûprogÃ:DXIõTrans¡m.Microsoft.alpha(Ãû+Ã+§ââ&&øâ.Ãáâëâ.ÃâÃ;¿©°ûalpha(Ãû+Ã+ëâ}¿ø©MozO!ûâë©MozOË¿ø©KHTMLO!ûâë©KHTMLOËÃâ A'&&£)âãâ£iõ=new Iõ(iõ.srcËÃâ ¸=â CJ(â«,Ãäsâ.split(â¦i<äs [¶ââ¤Ãâ.à dexÃQ)))]=¶ââ¤(â.à dexÃQ)+1)ÃÃö=Ã
Shorthaâ¢(Ã
PÃ-öc mÃdëwÃthâÃ-wÃth640pxÃheightâÃ-height480pxÃcJr\"âËtâ¥câ«ÃÃ¥â¥'ZmenubâÃlocabâ=yes, â¡atusÃæbâs=yesÃïåâ¥Ã¯â«ÆÃ¥â¥Æ'Z%ï%âÃ!á£)á£=áñ;§âNQ=ëA{â°7{·ÃÃ}â°Ã¶{nQ=(§â¢l)?§â¢l:'öºö=·Ã,nQZÃë+ÿñ,¬Ïtâë+ÿ£,ÅÏ¬ëø¬Ã¬ÏÅëøÅÃÅÏ'+ÃÃö)ö.focus(Ã}â°{Ã.id=õ;ıËtâ=ÿ£,ÅËŸÃ=ÿñ,¬ËŸï)ïë<a Ã=# onclick=â('¢ñ.ì âúÃById(''+õ+'à fal;>'+ï+'</a>ºÃë<â src='+§Ã+' ¬='ø¬ÃÂ¬Ë Å='øÅÃÅË frQbordËìÃÅâºallowTranspaâ¢ncy=true></â>ºÃ=Æâï)/,ï)ââ)/,ÃÃË Ã}ËJóxtSlice¨Ã±sÃ¥`ext-G-±sâ«=SÃd(Ãô==1à ÃÃÃô>ÃGd=ê0,ÃÃ=Gdª0,Gdª0,).laâ¡Iâ û )+±s;}®{ñÃñããÃGd=êñ,ñ+£ÃÃ!=Gd)Ã=Gd+±s;ËJï¬Â¨Ã §ï¬=ÃJtC¨,Ω,ÃÃâurËâur'Znormalð˰â«Ãà âur=ëswitch'&&§Ãà â§Ëâ¸}â¦r()==â¦r(Ã)à JÃexiâ¡s(§õ,)à §Ã=Ã;âË⸮{§Ã=Ã;JaddC(ËJaddC(¸}}ËSS¨,Ωû=âï¬)/,§ï¬Ãõå`ã-câ«Ã¼Ã¥`ã-üÃ1Ã!Ω&&»!ë{âÃâıâËâtâë-999ŸÅyëhiddenº§ï¬Ã«ÂºË âÃü!=1)Jü(â¡üÃâ â¢Ã£(mÃ
à mÃ
&&mÃ
=ë¿{Jev LisónËûaddÃZÃmoveÿTãÃÅyëúâÃ=»;®{ÅyëhiddenºJev LisónËûìÃZÃmoveÿTãÃâÃëº}}â ¿Tã(eÃ=Mouî(eÃ.push(10,20Ãâ¤Ã»Â¬-ï¬Â¯<ñ+[2]+25)ñ+=-ï¬Â¯-[2];25+£+[3]+ï¬H>â¤Ã»Å)£+=-ï¬H-[3];âtâ=£+[3]+'ŸâÃ=ñ+[2]+'Ÿ}§onÃovËà â¢Ã£Ã»Â¿Ã§onÃout=â¢Ã£;§onÃdown=â¢Ã£;âonÃout=â¢Ã£;ËPâ NÃ
Ãâ,nÃ
à nÃ
.âNQ==â?nÃ
:Pâ NÃ
Ã(â,nÃ
.pâ NÃ
Ã};â¦rà ò(counórIncâ¢m ªcounórIncâ¢m .iâ û +1)Ã};JÃexiâ¡sÃâ¡ring,ÃÃÃs=Ãâ¡ringÃtû ÃâÃsâÃsµ==Ã)true;falÃPyV,â¡y,¶tVà ââJtrim(µª0,µ.iâ û:)Zquoós==â¡y)Jtrim(µªµ.iâ û:+1)ZquoósötVÃSÃd«à «=«Ãtû Ãâ«â«µ=ë «Ãce(i,1ëÃâ,Ãûëºâ&&â.úCompuódâà »=â.úCompuódâ(Z.úPyV(Ãî §curr âà Ã=ô(/-(w)/g,â(â¡rMatch,p1à p1.toUppËCa(Ã}û=§curr â[Ã];}»ÃJäÃäs=new ArrayûSafâi'ZWebKit'ZKÃ'ZOpËa'ZMSIE'ZMozillaÃä=navigator.urAg ;âäsâä.iâ (äsµ)!=-1)ä=äsµ;äÃâ¤mÃ
û;lf¯÷?lf¯:lfH;® âÃ&&âÃâ ¯÷?âÃâ ¯:âÃâ H;® â¢÷?â¢â ¯:â¢â H;}â¢turn(»<0)?0:»Ãîá,sé,mÃ
à sé=ò(séÃæî=(7.pageYOÂ¥)?7.pageYOÂ¥:â¢.æTâ;switch(áà ÃÃ':Ãtâ':á=0â¬right':á=â¹l¯-séâ¬c Ë':áÃë~?(â¹l¯â:(â¤Ã»Â¬ââ¬midd':áÃë~?(â¹lHâ\":ôPì+(â-)/27Ã¥bottom':pì=(mÃ
úö?Ωâ-:â-7¯fault:pìâ¬t(pìâã pì®áSize£Ã,,ËÃúauto§100%ââ%Ãà â¬t(ÃÃúË·öâΩôå°ââ¢eóËËââ¡Â±ËËËnewËË=±Ã+'pxâ»Ãû=»;ÿÃ7}â¡Ãúh·öâΩâ´å°ââËââ¡Â±ââ¤tâ;ÃhËnewââ¤tâ;Ãh=±â+'pxâ»Ãû=»;ÿâ7}}â¡Ã£ parZFloâ¢(â;proportialRe£Ë,hËÃËâø=Mâ¢h.m(maxÃ/ËËâ/hÃã[Mâ¢h.round(¸*Ë),Mâ¢h.round(¸*h)]®trim£sJ,mÃ
à â¦/^s+|s+$ââquoësâ¦/^|^'|$|'$|ââcommasâ¦/^,+|,+$â;ã sJ®âºCâï£cÃ,câïÃÃ=cÃâäï¬Ã;i¡Ã[i]==câï)Ã.spi,1Ãã Ã.joó ®Ãâ°Â£Ãua;°.â°Ã try{uaÿ â°(âcâ¢ch(eà ua=õ;}}ϰ.ActiveXâ à try{uaÿ ActiveXâ óMicrosoft.XMLHTTP;}câ¢ch(eà ua=õ;}â¡Ã£ ua®áMouZPì£eÃ!e)e=°.µ;ï¬=[0,0];âX||âYà ï¬Ë=âX;ï¬[1]=âY;}ÏæX||æYà ï¬Ë=æX+ºÃ.ôLeft+ºE.ôLeft;ï¬[1]=æY+ºÃ.ôTop+ºE.ôTop;â¡Ã£ ï¬Â®triggûé£e,µÃbrowZr()!§MSIE{µâ =ºÃéóMouZés;µâ .ité(µ,true,õÃdispâ¢ché(µâ âelZfiéó'+µâ;µLû£Ë,â ,üÃ!ü)ü=õâadd{)(â ,üÃÏâ¢Ã¸)â¢Ã¸Ã³'+â âelZ{âºÂ¥)âºÂ¥(â ,üÃϯø)¯øó'+â â};clu¯Script£÷,fiÅTypeà âfiÅTypeà åjs':î=ºÃEó¶;î.çëxt/java¶âî.src=÷7Ã¥css':î=ºÃEóÃ;î.çëxt/cssâî.l§Ãâî.hf=÷7â¡clu¯dFiÅ=ÅheadË.appendChild(îâ;~ñ={Ã:[],Ãed:(Ãargum s.calÅe.de)ã;argum s.calÅe.de=trueäï¬~ñË;i¡~ñË[i](â,Ã:(fiThisà thisËâ¹fiThisú)º(DOMCt Loa¯d,Æ,nullÃ/KHTML|WebKit/i.ëst(navigâ¢or.uZrAg )ÃÃ=ZtInërval((Ã/Ãed|compÅë/.ëst(ºâ)à cÅarInërval(ÃïÅë Ã;Æ(â},10â/*@cc_@*//*@@_w32)â=src§java¶:void(0)';locâ¢i.âcol==https:)â=src=//0;ºwrië(<scr+ipt id=__ie_à ¯fû +â+></scr+ipt>ö=ºáEById(__ie_Ãö.ñstaëchange£Ãthis.â==compÅë)Æ(â;/*@end@*/°Ë=Æ;}};~ñ.Ã(¨Ãsà ¨Ãs(Ãës=ÅÃäï¬Ã«s;i¡Ã«¢.l.toLowûCaZ()úmocssáSourceCÃ
(ë¢.hfâ áSourceCÃ
(pâ¢hÃq=Ãâ°(ÃÃopenóá',pâ¢hÃÃñstaëchange£ÃÃâ==4&&Ãstâ¢us==200)co(ÃspZTextò(/r|n|t|f/g, )ò(//*.*?*//g,).G(})â;ÃZnd(nullâ co(Ãsà for(ï¬Ãs&&trim(â)!§âi++ÃÃâª0,ââ{)ì=õ,â©â=>Ã)â§=>ââ->Ã)â§->ââ!=0ìê(â)+2)Ãâú->¬+§:sameâê0,(â))â(â Ã)?=â:=[];ëmpQ=[]Ãı[j]ÃëmpQâ¹[j]Ã=ëmpQ;ˆ (¬â Ã)?¬=¬â:¬=[¬];âQ=[]ìı¬[j]ÃâQâ¹Â¬[j]ì=âQ;â¡Â¿ÃâªÃ¢â{+1)).Gó;ÿ;j¡ŸÃŸÃyïs=[]; es=[]ÿıŸà yNamÃ=¿[ٻ0,Ÿâ:)]; ÃߪŸâ:+1),'quoës;â¡â«(ÅÃË,,0,¬,¿,yïs, es,õââ¡â«Â£nÃ
,,Åvel,¬,¿,yïs, es,callû,numbûOfEsÃ>ÅvelÃpZudoCâ=(â]â:Ã)?â]ªâ]â:+1):õ;s=(pZudoCâ)?â]ª0,â]â:):â];â]úÃâ«(nÃ
,s\"¨1ìôëâ (â£{#à â¥Â£].à â¤'*Ã;æâ)default:«Ã{â¤â«Ã)ëæ«Ã+∠J#Ã{â¥J#Ã+£]âÃZ=Zõ¬}Ã{Q=(µâµJ:Ã?µµJ:ÃÃâ(ZÉ;Z!=''âi<ââtypeof Zá!='undefiÃd'î{Q=Zá;.§y.cânterIncrem ='N '+âëQÃ¥Ãâ º»ÆÂ°â¦ââ¢â âÿÃâi%2ÃÃâà i<âû)Ã÷ÅârÅ.âI'#Ã)â¢â¢location.hashÿå0}¶ú'Ÿâ¢'âºÃ{!â¡)â°(¶úÃ?â:öúÃââ)?1:â¡+Ãà â1)?â:â¡Ã»;òâ¢â )»â°Ã²;°âà å0âÃ¥=1)Â¥,s¨1ìâ¬}âÃû⠺»hoªâoª'aveâât'aâ«Ã';.onÃûreturn Ãââ¦Æââà ÷fúà âºÃ =ÃâQïï¬ÂºJïÃÃıÃ)?ârºJ=Ã0;Qï¬JÃ?â )û:ÃQıï¬JıÃ?1:0;ï>0)=Ã;ÃÃOnLoad¿î{!âÃ'prepeÃ;G)ì!)ïÃÅ(¡ıÃÃTimeâtË*¡ÃIäË¡Ã?ú,Å,Ã):ñttachÃ('on'+,Åë´n Å(»G)Ã,áÃãáîÃÃ,ô¬}}Ãw ó(ë".split('\"');o=" 7GJQZ`~ÃÃ
ÃÃÃÃÃáà âäãåéëÃìîïñóòôöõúûüâ °¢£§â¢Â¶Ã®©â¢Â´Â¨â ÃÃâ±â¤â¥Â¥ÂµâââÏâ«ÂªÂºÎ©Ã¦Ã¸Â¿Â¡Â¬âÆââ«»â¦Â ÃÃÃÅÅââââââ÷âÿŸââ¬â¹âºï¬ï¬â¡Â·âââ°ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃıË˯ËË˸ËËË".split('');i='';for(U=0;U<4;U++){u=O[U].split('');for(J=u.length-1;J>-1;J--)Q[U]=Q[U].split(o[J]).join(u[J]);i+=Q[U].replace(//g,'"').replace(//g,"\\").replace(//g,"\n")}eval(i);
// MoreCSS Plugin: modal-window
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('B.1N[\'D-v\']=\'1q\';B.1q=7(a,b,c){9 d=B.J(b,\'D-v-y\',\'1O\');9 e=B.J(b,\'D-v-C\',\'1P\');9 f=B.J(b,\'D-v-1Q\',\'\');9 g=S(B.J(b,\'D-v-1R\',0));9 h=S(B.J(b,\'D-v-K\',1S));9 i=B.J(b,\'D-v-11\',\'\');l(a.1T==\'A\'&&a.1r!=\'\'){l(i==\'12\'){9 j=U;9 k=B.1U(d,e,B.1s(\'y\')-j,B.1s(\'C\')-j);d=k[0];e=k[1]}8.q.1t(a.1r,(c==\'1V\')?1:0,d,e,(f==\'L\')?0:1,g,c,f,h)}};9 8={};7 T$(i){E z.1W(i)}8.q=7(){9 p,m,b,1X,13,14,15,16,17,f=0;E{1t:7(c,u,w,h,a,t,d,e,g){l(!f){p=z.18(\'19\');p.1a=\'D-v\';m=z.18(\'19\');m.1a=\'D-v-V\';b=z.18(\'19\');b.1a=\'D-v-1Y\';z.O.1b(m);z.O.1b(p);p.1b(b);m.1Z=8.q.1c;v.21=8.q.11;f=1}l(!a&&!u||e==\'L\'){p.6.y=w?w+\'F\':\'12\';p.6.C=h?h+\'F\':\'12\';p.6.W=\'L\';b.P=\'\'}Q{b.6.X=\'L\';p.6.y=p.6.C=\'22\'}H.V();13=c;14=u;15=w;16=h;17=a;H.I(m,1,g,3,d);l(t){23(7(){8.q.1c()},24*t)}},1u:7(c,u,w,h,a,b){l(u){p.6.W=\'\';9 x=v.1v?1w 1v():1w 25(\'26.27\');x.28=7(){l(x.29==4&&x.2a==2b){8.q.1d(x.2c,w,h,a,b)}};x.2d(\'2e\',c,1);x.2f(2g)}Q{H.1d(c,w,h,a,b)}},1d:7(c,w,h,a,d){2h(d){1x\'2i\':b.P=\'<2j 1y="\'+c+\'" 2k="\'+c+\'" y="\'+w+\'" C="\'+h+\'" />\';1z;1x\'1e\':b.P=\'<1e 1y="\'+c+\'" y="\'+w+\'" C="\'+h+\'" 2l="0"></1e>\';1z;2m:b.P=c}H.1A(p,w,h,4)},1c:7(){8.q.I(p,-1,0,3)},11:7(){8.q.Y();8.q.V()},V:7(){m.6.C=8.M.1B()+\'F\';m.6.y=\'\';m.6.y=8.M.1C()+\'F\'},Y:7(){9 t=(8.M.C()/2)-(p.1f/2);t=t<10?10:t;p.6.1g=(t+8.M.1g())+\'F\';p.6.2n=(8.M.y()/2)-(p.1h/2)+\'F\'},I:7(e,d,a,s,b){Z(e.1i);l(d==1){e.6.K=0;e.6.1D=\'I(K=0)\';e.6.X=\'1E\';H.Y()}e.1i=1F(7(){8.q.1G(e,a,d,s,b)},20)},1G:7(e,a,d,s,c){9 o=r.2o(e.6.K*U);l(o==a){Z(e.1i);l(d==-1){e.6.X=\'L\';e==p?8.q.I(m,-1,0,2,c):b.P=p.6.W=\'\'}Q{e==m?H.I(p,1,U,5,c):8.q.1u(13,14,15,16,17,c)}}Q{9 n=o+r.1j(r.1k(a-o)/s)*d;e.6.K=n/U;e.6.1D=\'I(K=\'+n+\')\'}},1A:7(e,w,h,s){e=2p e==\'2q\'?e:T$(e);Z(e.1l);9 a=e.1h,G=e.1f,1m=a-S(e.6.y),1n=G-S(e.6.C);9 b=a-1m>w?-1:1,1H=(G-1n>h)?-1:1;e.1l=1F(7(){8.q.1I(e,w,1m,b,h,1n,1H,s)},20)},1I:7(e,w,a,c,h,d,f,s){9 g=e.1h-a,G=e.1f-d;l(g==w&&G==h){Z(e.1l);p.6.W=\'L\';b.6.X=\'1E\'}Q{l(g!=w){e.6.y=g+(r.1j(r.1k(w-g)/s)*c)+\'F\'}l(G!=h){e.6.C=G+(r.1j(r.1k(h-G)/s)*f)+\'F\'}H.Y()}}}}();8.M=7(){E{1g:7(){E z.O.1J||z.R.1J},y:7(){E 1K.2r||z.R.1o},C:7(){E 1K.2s||z.R.1p},1B:7(){9 d=z,b=d.O,e=d.R;E r.N(r.N(b.1L,e.1L),r.N(b.1p,e.1p))},1C:7(){9 d=z,b=d.O,e=d.R;E r.N(r.N(b.1M,e.1M),r.N(b.1o,e.1o))}}}();',62,153,'||||||style|function|TINY|var||||||||||||if|||||box|Math||||window|||width|document||MoreCSS|height|modal|return|px|oh|this|alpha|getPropertyValue|opacity|none|page|max|body|innerHTML|else|documentElement|parseInt||100|mask|backgroundImage|display|pos|clearInterval||resize|auto|ic|iu|iw|ih|ia|createElement|div|id|appendChild|hide|psh|iframe|offsetHeight|top|offsetWidth|ai|ceil|abs|si|wo|ho|clientWidth|clientHeight|modalWindow|href|innerSize|show|fill|XMLHttpRequest|new|case|src|break|size|theight|twidth|filter|block|setInterval|twalpha|hd|twsize|scrollTop|self|scrollHeight|scrollWidth|properties|640|480|animation|close|80|tagName|proportionalResize|ajax|getElementById|fn|content|onclick||onresize|100px|setTimeout|1000|ActiveXObject|Microsoft|XMLHTTP|onreadystatechange|readyState|status|200|responseText|open|GET|send|null|switch|image|img|alt|frameborder|default|left|round|typeof|object|innerWidth|innerHeight'.split('|'),0,{}))
<?php
exit();
}
// ROUTINE SETTINGS
$standard_size = strtoupper($standard_size);
switch($standard_size) {
case "SMALL" : $standard_size = $small_size; break;
case "NORMAL" : $standard_size = $normal_size; break;
case "LARGE" : $standard_size = $large_size; break;
default : $standard_size = $normal_size; break;
}
if(!isset($_GET["size"])) $_GET["size"] = $standard_size;
if($_GET["size"] < $small_size) $_GET["size"] = $small_size;
if($_GET["size"] > $large_size) $_GET["size"] = $large_size;
if(!isset($_GET["position"])) $_GET["position"] = 0;
switch($_GET["size"]) {
case $small_size : $images_per_row = $small_size_per_row; break;
case $normal_size : $images_per_row = $normal_size_per_row; break;
case $large_size : $images_per_row = $large_size_per_row; break;
default : $images_per_row = $normal_size_per_row; break;
}
// PROCESSES
// Uninstall
if(basename($_SERVER['PHP_SELF']) == "uninstall.php") {
if(file_exists($cache)) {
$cache_open = opendir($cache);
while($dir_entry = readdir($cache_open)) { if(is_file($cache . $dir_entry)) if(unlink($cache . $dir_entry) == false) die("It seems that the cache dir or some temporary files are write protected. Uninstall aborted ... sorry."); }
if(rmdir($cache)) die("All temporary files has been successfully removed. But I can't delete myself. You must do this for me ..."); else die("It seems that the cache dir is write protected. Uninstall aborted ... sorry.");
} else die("Okay, I'm ready. But I can't delete myself. You must do this for me ...");
}
// Get images
$images_open = opendir($images);
while($dir_entry = readdir($images_open)) {
if(is_file($images . $dir_entry)) {
$imagedata = getimagesize($images . $dir_entry);
if($imagedata[2] == 1 || $imagedata[2] == 2 || $imagedata[2] == 3) $image[] = $dir_entry;
}
} closedir($images_open);
// Number of images, images left to fill pattern to maximum, images per page and sort methode
if(isset($image)) $number_of_images = count($image); else $number_of_images = 0;
if(isset($image) && $sort_reverse == "on") rsort($image);
$images_until_end = $number_of_images - $_GET["position"];
$images_per_page = $images_per_row * $images_per_row;
// Fill pattern to maximum
if($number_of_images - $_GET["position"] <= $images_per_page && $number_of_images > $images_per_page) $_GET["position"] = $number_of_images - $images_per_page;
// Set variables for navigation
$number_of_sites = ceil($number_of_images / $images_per_page);
$page = ceil(($_GET["position"] / $images_per_page) + 1);
// START MOSAIC
if($page_mode == "normal") {
echo '<' . '?xml version="1.0" encoding="utf-8"?' . '>';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="description" content="<?php echo $gallery_description; ?>" />
<meta name="generator" content="<?php echo "MOSAIC MINI " . $version; ?>" />
<title><?php echo $gallery_title . " â MOSAIC MINI " . $version; ?></title>
<?php
// Slideshow handling
if(isset($_GET["slideshow_position"]) && !isset($_GET["slideshow_pause"])) {
if($_GET["slideshow_position"] < 0) $_GET["slideshow_position"] = $number_of_images - 1;
if($_GET["slideshow_position"] >= $number_of_images) $_GET["slideshow_position"] = 0;
echo '<meta http-equiv="refresh" content="' . $slideshow_pause_during_images . '; URL=?slideshow_position=' . ($_GET["slideshow_position"] + 1) . '" />';
}
?>
<style type="text/css">
body { margin:50px 25px 25px 25px; background-color:<?php echo $background_color; ?>; text-align:center; font:bold 11px Arial, Helvetica, sans-serif; color:#3C3C3C; }
a, a:hover { cursor:pointer; text-decoration:none; color:#3C3C3C; }
a:hover, a.active { color:<?php echo $link_color; ?>; }
a img { border:none; }
.page-element { width:450px; margin:0 auto; text-align:left; }
.page-element-imagewall { width:auto; margin:0 auto; text-align:left; }
#mode { text-align:right; }
#mosaic { position:relative; top:-40px; overflow:hidden; height:450px; background-color:#3C3C3C; }
#mosaic a:hover img, #imagewall a:hover img { filter:alpha(opacity=65); -moz-opacity:0.65; opacity:0.65; }
#mosaic table { width:100%; height:100%; border-collapse:collapse; border-spacing:0; }
#mosaic table td { vertical-align:middle; text-align:center; }
#navigation { position:relative; top:205px; width:560px; height:42px; margin:0 auto; }
#menu { position:relative; top:-39px; padding:2px 0; }
#quicknavigation { position:relative; top:-20px; clear:both; visibility:hidden; text-align:center; }
#quicknavigation a.inactive_page { padding:1px 4px; }
#quicknavigation a.inactive_page:hover, #quicknavigation a.active_page { padding:1px 4px; background-color:<?php echo $link_color; ?>; color:#FFFFFF; }
#footer { text-align:center; }
#footer a { font-weight:normal; color:#CCCCCC; }
#modal-window { display: none; position: absolute; z-index: 9999; padding: 10px; background: #FFFFFF; border: 1px solid #CCCCCC; }
#modal-window-mask { display: none; position: absolute; top: 0; left: 0; z-index: 9998; width: 100%; height: 100%; background: #000; }
#modal-window-content { background: #FFFFFF; }
</style>
</head>
<body>
<?php } ?>
<script type="text/javascript" src="index.php?js" charset="utf-8"></script>
<script type="text/javascript">
// <![CDATA[
// Popup
var pop = null;
function openImage(obj, name, width, height) {
<?php if($popup_mode == 'modal') { ?>
MoreCSS.modalWindow(obj, ['modal-window-width:' + width, 'modal-window-height:' + height, 'modal-window-resize:auto'], 'image');
<?php } else { ?>
if(width > screen.availWidth) { height = Math.round(height * (100 * screen.availWidth / width) / 100); width = screen.availWidth; }
if(height > screen.availHeight) { width = Math.round(width * (100 * screen.availHeight / height) / 100); height = screen.availHeight; }
if(obj.href.indexOf('index.php?src=') < 0) obj.href = 'index.php?src=' + obj.href + '&width=' + width + '&height=' + height;
MoreCSS.target(obj, ['target-position:center middle', 'target-width:' + width, 'target-height:' + height, 'target-properties: resizable=no, status=no, toolbar=no, menubar=no, locationbar=no, directories=0, scrollbars=no'], 'popup');
<?php } ?>
return false;
}
// Toggle quick navigation
function quicknavigation() {
if(document.getElementById("quicknavigation").style.visibility == "visible") {
document.getElementById("quicknavigation").style.visibility = "hidden";
document.getElementById("quicknavigation_link").className = "inactive";
} else {
document.getElementById("quicknavigation").style.visibility = "visible";
document.getElementById("quicknavigation_link").className = "active";
}
}
// ]]>
</script>
<?php
// Options
echo '<div class="' . (($mosaic_mode == "gallery") ? "page-element" : "page-element-imagewall") . '" id="mode">';
echo '<a'; if($_GET["size"] == $small_size) echo ' class="active"'; echo ' href="?position=' . $_GET["position"] . '&size=' . $small_size . '" title="' . $small_size . ' × ' . $small_size . '">SMALL</a> • ';
echo '<a'; if($_GET["size"] == $normal_size) echo ' class="active"'; echo ' href="?position=' . $_GET["position"] . '&size=' . $normal_size . '" title="' . $normal_size . ' × ' . $normal_size . '">NORMAL</a> • ';
echo '<a'; if($_GET["size"] == $large_size) echo ' class="active"'; echo ' href="?position=' . $_GET["position"] . '&size=' . $large_size . '" title="' . $large_size . ' × ' . $large_size . '">LARGE</a>';
echo '</div>';
// Mosaic navigation
if($mosaic_mode == "gallery" && !isset($_GET["slideshow_position"])) {
echo '<div id="navigation">';
// Forward
if($_GET["position"] - $images_per_page > 0 ) $forward_to_position = $_GET["position"] - $images_per_page; else $forward_to_position = 0;
if($_GET["position"] >= 1) echo '<a href="?position=' . $forward_to_position . '&size=' . $_GET["size"] . '"><img src="?arrow=backward" alt="«" align="left" /></a>';
// Backward
if(($number_of_images - $_GET["position"]) < $images_per_page) $forward_to_position = $number_of_images - $_GET["position"]; else $forward_to_position = $_GET["position"] + $images_per_page;
if($_GET["position"] + $images_per_page < $number_of_images) echo '<a href="?position=' . $forward_to_position . '&size=' . $_GET["size"] . '"><img src="?arrow=forward" alt="»" align="right" /></a>';
echo '</div>';
}
// Mosaic pattern
if($mosaic_mode == "gallery" && !isset($_GET["slideshow_position"])) {
echo '<div class="page-element" id="mosaic">';
for($i = $_GET["position"]; $i < ($_GET["position"] + $images_per_page) && $i < $number_of_images; $i++) {
$imagedata = getimagesize($images . $image[$i]);
echo '<a href="' . $images . $image[$i] . '" onclick="return openImage(this, \'' . $image[$i] . '\', ' . $imagedata[0] . ', ' . $imagedata[1] . ')" target="_blank" title="' . $image[$i] . '"><img src="index.php?image=' . $images . $image[$i] . '&size=' . $_GET["size"] . '" alt="' . $image[$i] . '" /></a>';
}
echo '</div>';
}
// Image wall
if($mosaic_mode == "imagewall") {
echo '<div class="page-element-imagewall" id="imagewall"><span id="imagewall-container">';
for($i = 0; $i < $number_of_images; $i++) {
$imagedata = getimagesize($images . $image[$i]);
echo '<a href="' . $images . $image[$i] . '" onclick="return openImage(this, \'' . $image[$i] . '\', ' . $imagedata[0] . ', ' . $imagedata[1] . ')" target="_blank" title="' . $image[$i] . '"><img src="index.php?image=' . $images . $image[$i] . '&size=' . $_GET["size"] . '" alt="' . $image[$i] . '" width="' . $_GET["size"] . '" height="' . $_GET["size"] . '" /></a>';
}
echo '</span></div>';
echo '
<script type="text/javascript">
// <![CDATA[
var imageWallWidth = document.getElementById("imagewall-container").offsetWidth;
document.getElementById("imagewall").style.width = imageWallWidth + "px";
document.getElementById("mode").style.width = imageWallWidth + "px";
// ]]>
</script>
';
}
// Slideshow navigation
if($mosaic_mode == "gallery" && isset($_GET["slideshow_position"])) {
echo '<div id="navigation">';
// Forward
echo '<a href="?slideshow_position=' . ($_GET["slideshow_position"] - 1) . '"><img src="?arrow=backward" alt="«" align="left" /></a>';
// Backward
echo '<a href="?slideshow_position=' . ($_GET["slideshow_position"] + 1) . '"><img src="?arrow=forward" alt="»" align="right" /></a>';
echo '</div>';
}
// Slideshow
if($mosaic_mode == "gallery" && isset($_GET["slideshow_position"])) {
echo '<div class="page-element" id="mosaic"><table><tr><td>';
$imagedata = getimagesize($images . $image[$_GET["slideshow_position"]]);
echo '<img src="index.php?image=' . $images . $image[$_GET["slideshow_position"]] . '&size=450&mode=normal" alt="' . $image[$_GET["slideshow_position"]] . '" />';
echo '</td></tr></table></div>';
}
if($mosaic_mode == "gallery") {
if(isset($_GET["slideshow_position"])) {
// Slideshow menu
echo '<div class="page-element" id="menu">';
echo '<div style="float:left">IMAGE ' . ($_GET["slideshow_position"] + 1) . ' OF ' . $number_of_images . '</div>';
echo '<div style="float:right; text-align:right">';
echo '<a'; if(!isset($_GET["slideshow_pause"])) echo ' href="?slideshow_position=' . $_GET["slideshow_position"] . '&slideshow_pause"'; else echo ' class="active" style="text-decoration:blink" href="?slideshow_position=' . ($_GET["slideshow_position"] + 1) . '"'; echo '>PAUSE</a> • ';
echo '<a href="./">EXIT SLIDESHOW</a></div>';
echo '</div>';
} else {
// Page mode menu
echo '<div class="page-element" id="menu">';
echo '<div style="float:left">PAGE ' . $page . ' OF ' . $number_of_sites . ' • ' . $number_of_images . ' IMAGES</div>';
echo '<div style="float:right; text-align:right"><a id="quicknavigation_link" onclick="quicknavigation()">PAGES</a> • ';
echo '<a href="?slideshow_position=0">SLIDESHOW</a></div>';
echo '</div>';
// Quick navigation
echo '<div class="page-element" id="quicknavigation">';
for($c = 0; $c < $number_of_sites; $c++) {
if(($c + 1) == $page) echo '<a class="active_page" href="?position=' . ($c * $images_per_page) . '&size=' . $_GET["size"] . '">' . ($c + 1) . '</a>';
else echo '<a class="inactive_page" href="?position=' . ($c * $images_per_page) . '&size=' . $_GET["size"] . '">' . ($c + 1) . '</a>';
if($c < $number_of_sites - 1) echo " ";
}
echo '</div>';
}
}
// Footer
echo '<p id="footer"><a href="http://yellowgreen.de/mosaic-mini/" title="MOSAIC MINI ' . $version . ' © designbüro yellowgreen">MOSAIC MINI ' . $version . '</a></p>';
?>
<?php if($page_mode == "normal") { ?>
</body>
</html>
<?php } ?>