place[0])) { $Page->link .= '/'.$Page->place[0]; } $cal = []; foreach (glob("{$Page->link}/2*") as $url) { $link = preg_replace('/\.html$/', '', $url); $name = pathinfo($link, PATHINFO_BASENAME); @list ($date, $suffix) = explode('.', $name, 2); $group = substr($date, 0, 4); if (!isset($cal[$group][$date])) { $cal[$group][$date] = []; } if (is_dir($url) ? file_exists("$url/index.html") : filesize($url)) { $cal[$group][$date][$suffix] = $link; } } if (!$cal) { return; } $year = 3600 * 24 * 365; # seconds per year $scale = 7; # em width per year $mindate = max(time(), strtotime($date) + ($year / $scale * 3)); # at least last entry plus 3em for centered text $length = ($mindate - strtotime(key(current($cal)))) / $year * $scale; # earliest entry position printf('\n\n";