0 or strpos($name, ".gif") > 0);
}
function imagetime($file) { // This needs to return a Unix timestamp.
global $imagetimes;
if(!$imagetimes[$file]) {
$imagetimes[$file] = filemtime($file);
}
return $imagetimes[$file];
}
$images = array_filter(scandir("."), "test_image"); // Generate array of every image in the directory by filename
usort($images, function($a, $b) { // Sort images by modification date of the files
return imagetime("$b") - imagetime("$a");
});
$datecounts = array();
foreach($images as $im) { // Generate list of dates and how many images have them
$mt = date("Y-m-d", imagetime("$im")); // File modification date in ISO format
if($datecounts[$mt]) {
$datecounts[$mt]++;
} else {
$datecounts[$mt] = 1;
}
}
$pmt = $mt;
foreach($images as $im) { // Loops through each image and echoes it to the page
$no = substr($im, 0, strpos($im, ".")); // Filename with extension stripped
$mt = date("Y-m-d", imagetime("$im")); // File modification date in ISO format
$is = getimagesize("$im");
$ist = $is[0] . "×" . $is[1] . "px"; // Image size formatted as X×Ypx
$cl = "";
if($datecounts[$mt] > 1) { // If there's more than one image published on the same date, merge them into a single thumbnail that can be clicked to reveal the full set. Would have done this based on names, but that would have been much harder. Might do that later.
if($pmt != $mt) {
echo "";
$tn = $no;
if(file_exists("thumbs/$mt.jpg")) { // Use the same image for the group thumbnail as the first image in the group. If there's a thumbnail named with the date in question, use that instead.
$tn = $mt;
}
echo "";
$pmt = $mt;
}
$cl = " class='d$mt'";
}
echo "$im $mt • $ist";
}
?>