<?php

	$file_display = array('mpg', 'jpg', 'jpeg', 'png', 'gif','mkv','avi');
	function read_a_dir($d) {
		global $file_display;
		$d_contents = scandir( $d );
		$r = array("files" => array());
		foreach ($d_contents as $f) {
			$f_type = strtolower( end( explode('.', $f ) ) );
			if ($f[0] == '.') { continue; }
#			if ($f_type == 'jpg') {continue;}
			if (is_dir($d."/".$f)) {
				$r[$f] =  read_a_dir($d."/".$f);
			} else {
				if (in_array( $f_type, $file_display))  {
					$r["files"][] = $f;
				}
			}
		}
		return $r;
	}
	function build_events($a, $l = "", &$e) {
		foreach ($a as $k => $v) {
			if ($k == "files") {
				foreach ($v as $f) {
					$f_type = strtolower( end( explode('.', $f ) ) );
					if ($f_type == "mkv") {
						$event = $l.substr($f,0,strpos($f,"-"));
						$eventdttm = substr($f,strpos($f,"-")+1,14);
						$dir = "/var/www/html/cam/".implode("/",explode('-',$l));
						$eventnum = end( explode('-',$event));
						#$e[$event] = array("timestamp" => $eventdttm, "mkv" => $dir."/".$f,"jpg" => glob($dir."/".$event."-".substr($eventdttm,0,8)."*.jpg"));
						$e[$event] = array("timestamp" => $eventdttm, "mkv" => $dir.$f,"jpg" => glob($dir.$eventnum."-*.jpg"));
					} 
				}
				foreach ($v as $f) {
					$event = $l.substr($f,0,strpos($f,"-"));
					if (! isset($e[$event])) {
						$eventdttm = substr($f,strpos($f,"-")+1,14);
						$dir = "/var/www/html/cam/".implode("/",explode('-',$l));
						$eventnum = end( explode('-',$event));
						#$e[$event] = array("timestamp" => $eventdttm, "jpg" => glob($dir."/".$event."-".substr($eventdttm,0,8)."*.jpg"));
						$e[$event] = array("timestamp" => $eventdttm, "jpg" => glob($dir.$eventnum."-*.jpg"));
					}
				}
			} else {
				build_events($v, $l.$k."-", $e);
			}
		}
	}
	$events = array();
	$cams = array(); 
	$days = array();
	$www_root = 'http://jalcorn.net/cam';
	$dir = '/var/www/html/cam';
	$cam_root = 'http://jalcorn.net/cam';
	print "<HTML><HEaD></HEAD><BODY>\n";
	$output = "";

	if ( file_exists( $dir ) == false ) {
	   echo 'Directory \'', $dir, '\' not found!';
	} else {
		$root = read_a_dir($dir);
		build_events($root,"",$events);
#	   $dir_contents = scandir( $dir );
#
#		foreach ( $dir_contents as $file ) {
#			error_log("file: ".$file,0);
#		   $file_type = strtolower( end( explode('.', $file ) ) );
#		   if ( ($file !== '.') && ($file !== '..') && (in_array( $file_type, $file_display)) ) {
#		$url =  $www_root.'/'.$file;
#			  echo '<a href=', $url, '><img src="', $url, '" alt="', $file, '"/></a>';
#		  # break;
#		   }
#		}
		$timestamp = array_column($events,'timestamp');
		array_multisort($timestamp, SORT_DESC, $events);
		$output .= "<pre>\n";
		$output .= print_r($events,1);
		$output .= "</pre></body></html>\n";
		foreach($events as $event => $eventfiles) {
			$eventtime = \DateTime::createFromFormat("YmdGis", $eventfiles['timestamp'])->format("Y/m/d G:i:s");
			echo "<H2>Event ".$event." Timestamp ".$eventtime."</H2><br />";
			$jpgnum = count($eventfiles['jpg']);
			$firstimg = $eventfiles['jpg'][intdiv($jpgnum,2)];
			#$file = end ( explode('/',$firstimg));
			$file = preg_replace('#'.$dir.'#','',$firstimg);
			$url = $www_root.'/'.$file;
			$eventurl = $cam_root.'/oneevent.php?event='.$event;
			$delurl = $cam_root.'/delevent.php?event='.$event;
			echo '<a href=', $delurl, '>Delete Event ', $event, '</a> Images: '.$jpgnum.'<br />';
			echo '<a href=', $eventurl, '><img src="', $url, '" alt="', $file, '"/></a>';
			echo "\n";
		}

	}
	print $output;
?>
