<?php
// This Demo uses jQuery and the PHP SlideShow class.
require_once('SlideShow.class.php');
// Select the mode: loc or url
// $mode = "loc";
$mode = "url";
// Select where your images come from.
// If 'loc' then use a relative or absolute path to somewhere on this computer.
//$url = "./images"; // Points to the directory here.
// If 'url' then use an full URL to a server where the images are.
$url = "https://bartonlp.org/photos"; // Change this if you want. The images are on this server.
$ss = new SlideShow($mode, $url, false);
$names = $ss->getImageNames();
//error_log("names: " . $names);
echo <<<EOF
<!DOCTYPE html>
<html lang="en">
<head>
<title>Photo Slide Show Demo</title>
<!-- jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
jQuery(document).ready(function($) {
let names = "$names".split(','); // Make the PHP values $names into an array.
let mode = "$mode";
let width = 400;
let images = [];
function next(i) {
console.log(i, names[i]);
let ss = $("#slideshow");
ss.html("<img>").hide();
let img = $("img", ss);
if(mode == 'loc') {
img.attr("src", "SlideShow.class.php?mode=proxy&path="+names[i]);
} else {
img.attr("src", names[i]);
}
img.on('load', function() {
let h = this.height, // Get the real width
w = this.width, // and height
sized = h / w * width; // width is the actual size we want, and h is the actual height based
// on the formula
$(this).width(width);
ss.css({border: '4px solid black', width: '400px', height: sized +'px'}).show();
//ss.show();
});
if(++i >= names.length) {
i = 0;
}
setTimeout(function() {
next(i);
}, 5000);
}
next(0);
});
</script>
<style>
#slideshow {
position: relative;
}
#slideshow img {
max-height: 700px;
}
#footer {
border: 1px solid back;
background-color: green;
color: white;
margin: 10px;
width: auto;
}
#errors {
border: 1px solid red;
margin-left: 0;
width: 500px;
margin-right: auto;
margin-top: 40px;
margin-bottom: 40px;
height: auto;
text-aligh: center;
display: none;
overflow: auto;
}
</style>
</head>
<body>
<div id="slideshow" style="border: 4px solid black"></div>
</body>
</html>
EOF;
|