<?php
error_reporting(E_ALL) ;

$dirname= "." ;
$page_limit = 12 ;

function check_file($filename,$extensionlist)
{
    $file_array = explode(".",$filename) ;
    if (count($file_array) > 2)
    {
        return false ;
    }
    else
    {
        $extension = $file_array[1] ;
        if (in_array($extension,$extensionlist))
        {
            return true ;
        }
        else
        {
            return false;
        }
    }
}


function get_file_array($dir)
{
    $img_extensions = array("jpeg","jpg","gif","tiff","bmp") ;
    $file_array = array() ;
    if($handle = opendir($dir)) {
     while(false !== ($file = readdir($handle))){
      if(check_file($file,$img_extensions)){
       //Het is een plaatje, laat hem zien...
        $file_array[] = $file ;
       }
      }
     closedir($handle);
    }
    return $file_array;
}

function showImages($image_array,$begin = false, $eind = false)
{
    $begin_check = $begin ;    
    $return = "<tr>" ;
    if ($begin+12 > count($image_array))
    {
        $eind = count($image_array)-1 ;
    }
    
    while ($begin <= $eind)
    {
        if ($begin%3 == 0 && $begin != $begin_check)    
        {
            $return .= "</tr><tr>" ;
        }
        $return .= "<td><img src=".$image_array[$begin]." width='100'></td>";
        $begin++ ;
    }
    return $return."</tr>" ;
}

function genPages($number_of_files,$page_limit)
{
    $pages = $number_of_files/$page_limit ;
    $pages++ ;
    $i = 1 ;
    $return = "<table><tr>" ;
    while ($i <= $pages)
    {
        $return .= "<td><a href=?page=".$i.">".$i."</td>" ;
        $i++ ;
    }
    $return .= "</tr></table>" ;
    return $return ;
}

echo "<table>" ;

$file_list = get_file_array($dirname) ;
$page_limit-- ;
if (count($file_list) > $page_limit)
{
    if(!isset($_GET["page"]))
    {
        $page = 1 ;
    }
    else
    {
        $page = $_GET["page"] ;
    }
    $begin = ($page * 12) - 12 ;
    $eind = $page * 12 ;
    $display = showImages($file_list,$begin,$eind) ;
}
else
{
    $display = showImages($file_list,0,count($file_list)-1) ;
}
echo "<html>
<body>";
echo $display ;
echo "</table>";
if (count($file_list) > $page_limit)
{
    echo genPages(count($file_list),$page_limit) ;
}
echo "
</body>
</html>" ;
?>