-réécriture du code pour l’image du mois et les vignettes
-simplication: $images_du_mois est un tableau qui rassemble les chemins SD et HD, les exifs pour toutes des les images de l’album *photo-du-mois* -utilisation de PDO pour les requêtes MySQL -utilisation de kk-lightbox comme Lightbox
This commit is contained in:
263
functions.php
263
functions.php
@@ -113,9 +113,267 @@ function mois2 ($mois) {
|
||||
|
||||
|
||||
/*
|
||||
ce-mois-ci.php
|
||||
Retourne la liste des images d'un album Zenphoto
|
||||
page-ce-mois-ci.php:259
|
||||
*/
|
||||
function displayRetina ($filename,$album) {
|
||||
function imagesFromZPAlbum ($album, $connexion) {
|
||||
|
||||
$table = array();
|
||||
$table['images'] = $connexion['zp_prefix'] . "images";
|
||||
$table['albums'] = $connexion['zp_prefix'] . "albums";
|
||||
|
||||
// ****** Mysqli ****** //
|
||||
/*
|
||||
$conn = new mysqli($connexion['host'], $connexion['user'], $connexion['password'], $connexion['db_zenphoto']);
|
||||
if ($conn->connect_error) {
|
||||
trigger_error('Database connection failed: ' . $conn->connect_error, E_USER_ERROR);
|
||||
exit();
|
||||
}
|
||||
$conn->set_charset("utf8");
|
||||
|
||||
$excquery = "SELECT `id` FROM `" . $table['albums'] . "` WHERE `folder` = '" . $album . "'";
|
||||
|
||||
if ($result = $conn->query($excquery)) {
|
||||
$result->data_seek(0);
|
||||
$row = $result->fetch_row();
|
||||
$id_album = $row[0];
|
||||
$result->close();
|
||||
}
|
||||
|
||||
$pictquery = "SELECT `filename`, `EXIFModel`, `EXIFDateTimeOriginal`, `EXIFExposureTime`, `EXIFFNumber`, `EXIFISOSpeedRatings`, `EXIFFocalLength`, `EXIFGPSLatitude`, `EXIFGPSLatitudeRef`, `EXIFGPSLongitude`, `EXIFGPSLongitudeRef`, `EXIFGPSAltitude`, `EXIFGPSAltitudeRef`, `desc`, `title` FROM `" . $table['images'] . "` WHERE `albumid` = ? ORDER BY `date` DESC";
|
||||
|
||||
$stmt = $conn->prepare($pictquery);
|
||||
if($stmt === false) {
|
||||
trigger_error('Wrong SQL: ' . $pictquery . ' Error: ' . $conn->error, E_USER_ERROR);
|
||||
}
|
||||
else {
|
||||
$stmt->bind_param('i', $id_album);
|
||||
$stmt->execute();
|
||||
$fichier = $stmt->get_result()->fetch_all();
|
||||
}
|
||||
$stmt->close();
|
||||
*/
|
||||
/*
|
||||
Array
|
||||
(
|
||||
[0] => Array
|
||||
(
|
||||
[0] => 11_2018.jpg
|
||||
[1] => Canon EOS-1D Mark IV
|
||||
[2] => 2018:11:04 11:05:09
|
||||
[3] => 1/2000 sec
|
||||
[4] => f/7,1
|
||||
[5] => 500
|
||||
[6] => 700 mm
|
||||
[7] =>
|
||||
[8] =>
|
||||
[9] =>
|
||||
[10] =>
|
||||
[11] =>
|
||||
[12] =>
|
||||
[13] =>
|
||||
[14] => 11_2018
|
||||
)
|
||||
*/
|
||||
|
||||
// ****** /Mysqli ****** //
|
||||
|
||||
|
||||
// ****** PDO ****** //
|
||||
|
||||
$charset = 'utf8';
|
||||
$host = $connexion['host'];
|
||||
$dbname = $connexion['db_zenphoto'];
|
||||
|
||||
$dsn = "mysql:host=$host;dbname=$dbname;charset=$charset";
|
||||
$options = [
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
||||
PDO::ATTR_EMULATE_PREPARES => false,
|
||||
];
|
||||
try {
|
||||
$pdo = new PDO($dsn, $connexion['user'], $connexion['password'], $options);
|
||||
} catch (\PDOException $e) {
|
||||
throw new \PDOException($e->getMessage(), (int)$e->getCode());
|
||||
}
|
||||
|
||||
$excquery = "SELECT `id` FROM `" . $table['albums'] . "` WHERE `folder` = '" . $album . "'";
|
||||
$stmt = $pdo->query($excquery);
|
||||
while ($row = $stmt->fetch()) {
|
||||
//echo $row['id'] . "\n";
|
||||
$id_album = $row['id'];
|
||||
}
|
||||
|
||||
$pictquery = "SELECT `filename`, `EXIFModel`, `EXIFDateTimeOriginal`, `EXIFExposureTime`, `EXIFFNumber`, `EXIFISOSpeedRatings`, `EXIFFocalLength`, `EXIFLensInfo`, `EXIFGPSLatitude`, `EXIFGPSLatitudeRef`, `EXIFGPSLongitude`, `EXIFGPSLongitudeRef`, `EXIFGPSAltitude`, `EXIFGPSAltitudeRef`, `desc`, `title` FROM `" . $table['images'] . "` WHERE `albumid` = ? ORDER BY `date` DESC";
|
||||
|
||||
$stmt = $pdo->prepare($pictquery);
|
||||
$stmt->execute([$id_album]);
|
||||
$fichier = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
/*
|
||||
|
||||
Ajouter: EXIFLensInfo
|
||||
|
||||
|
||||
Array
|
||||
(
|
||||
[0] => Array
|
||||
(
|
||||
[filename] => 11_2018.jpg
|
||||
[EXIFModel] => Canon EOS-1D Mark IV
|
||||
[EXIFDateTimeOriginal] => 2018:11:04 11:05:09
|
||||
[EXIFExposureTime] => 1/2000 sec
|
||||
[EXIFFNumber] => f/7,1
|
||||
[EXIFISOSpeedRatings] => 500
|
||||
[EXIFFocalLength] => 700 mm
|
||||
[EXIFGPSLatitude] =>
|
||||
[EXIFGPSLatitudeRef] =>
|
||||
[EXIFGPSLongitude] =>
|
||||
[EXIFGPSLongitudeRef] =>
|
||||
[EXIFGPSAltitude] =>
|
||||
[EXIFGPSAltitudeRef] =>
|
||||
[desc] =>
|
||||
[title] => 11_2018
|
||||
)
|
||||
*/
|
||||
|
||||
//preprint($fichier);
|
||||
|
||||
// ****** /PDO ****** //
|
||||
|
||||
return $fichier;
|
||||
}
|
||||
|
||||
/*
|
||||
page-ce-mois-ci.php
|
||||
*/
|
||||
function displayRetina ($file,$album) {
|
||||
|
||||
global $ppage;
|
||||
|
||||
//preprint($file);
|
||||
|
||||
/*
|
||||
Array
|
||||
(
|
||||
[filename] => 10_2018.jpg
|
||||
[EXIFModel] => Canon EOS 5D Mark III
|
||||
[EXIFDateTimeOriginal] => 2018:10:17 19:09:12
|
||||
[EXIFExposureTime] => 1/250 sec
|
||||
[EXIFFNumber] => f/4
|
||||
[EXIFISOSpeedRatings] => 4000
|
||||
[EXIFFocalLength] => 500 mm
|
||||
[EXIFLensInfo] => EF500mm f/4L IS USM
|
||||
[EXIFGPSLatitude] =>
|
||||
[EXIFGPSLatitudeRef] =>
|
||||
[EXIFGPSLongitude] =>
|
||||
[EXIFGPSLongitudeRef] =>
|
||||
[EXIFGPSAltitude] =>
|
||||
[EXIFGPSAltitudeRef] =>
|
||||
[desc] =>
|
||||
[title] => 10_2018
|
||||
)
|
||||
*/
|
||||
|
||||
if ($ppage == "1") {
|
||||
$fullpath = "../../zenphoto/";
|
||||
}
|
||||
else {
|
||||
$fullpath = "../../../zenphoto/";
|
||||
}
|
||||
$name = explode(".", $file['filename']);
|
||||
|
||||
$thumbpath = "../zenphoto/cache/" . $album . "/";
|
||||
$a = $path . $filename;
|
||||
|
||||
$file_sd = $thumbpath . $name[0] . "_200_thumb.jpg";
|
||||
$file_hd = $thumbpath . $name[0] . "_400_thumb.jpg";
|
||||
|
||||
//echo $file_sd;
|
||||
//echo $file_hd;
|
||||
|
||||
/*
|
||||
$file_sd = $path . $file[0] . "_180_watermark.jpg";
|
||||
$file_hd = $path . $file[0] . "_360_watermark.jpg";
|
||||
*/
|
||||
|
||||
$th_sd = false;
|
||||
$th_hd = false;
|
||||
|
||||
$thumb = array();
|
||||
|
||||
if (file_exists($file_sd)) {
|
||||
$th_sd = true;
|
||||
$size_sd = getimagesize($file_sd, $info);
|
||||
$thumb['sd'] = array(
|
||||
'url' => "../../" . $file_sd,
|
||||
'width' => $size_sd[0],
|
||||
'height' => $size_sd[1]
|
||||
);
|
||||
}
|
||||
if (file_exists($file_hd)) {
|
||||
$th_hd = true;
|
||||
$size_hd = getimagesize($file_hd, $info);
|
||||
$thumb['hd'] = array(
|
||||
'url' => "../../" . $file_hd,
|
||||
'width' => $size_hd[0],
|
||||
'height' => $size_hd[1]
|
||||
);
|
||||
}
|
||||
|
||||
if (($th_sd == true) && ($th_hd == true)) {
|
||||
$standard = $thumb['sd']['url'] . ' 200w, ' . $thumb['hd']['url'] . ' 400w';
|
||||
}
|
||||
elseif ($th_sd == true) {
|
||||
$standard = $thumb['sd']['url'] . ' 200w';
|
||||
}
|
||||
elseif ($th_hd == true) {
|
||||
$standard = $thumb['hd']['url'] . ' 400w';
|
||||
}
|
||||
|
||||
|
||||
$display = '<div class="album">';
|
||||
$display .= '<div class="holder">';
|
||||
$display .= '<a href="' . $fullpath . 'albums/'.$album.'/'.$file['filename'].'" title="'.date_archive($file['filename']).'" class="kk-lightbox">';
|
||||
/*
|
||||
$display .= '<picture data-picture data-alt="">';
|
||||
$display .= '<!--[if IE 9]><video style="display: none;"><![endif]-->';
|
||||
$display .= '<source class="image_standard" srcset="' . $standard . '">';
|
||||
|
||||
$display .= '<!--[if IE 9]></video><![endif]-->';
|
||||
$display .= '<img srcset="' . $thumb['sd']['url'] . '" width="' . $thumb['sd']['width'] . '" height="' . $thumb['sd']['height'] . '"alt="">';
|
||||
$display .= '</picture>';
|
||||
|
||||
$display .= '<img width="" height=""
|
||||
src="../../../zenphoto/cache/photos-du-mois/10_2016_200_thumb.jpg"
|
||||
class="" alt=""
|
||||
srcset="../../../zenphoto/cache/photos-du-mois/10_2016_200_thumb.jpg 200w,
|
||||
../../../zenphoto/cache/photos-du-mois/10_2016_400_thumb.jpg 400w"
|
||||
sizes="(max-width: 200px) 100vw, 200px" />';
|
||||
|
||||
$display .= '<img width="' . $thumb['sd']['width'] . '" height="' . $thumb['sd']['height'] . '"
|
||||
src="' . $thumb['sd']['url'] . '"
|
||||
class="" alt=""
|
||||
srcset="' . $standard . '"
|
||||
sizes="(max-width: 200px) 100vw, 200px" />';
|
||||
*/
|
||||
$display .= "<img width='" . $thumb['sd']['width'] . "' height='" . $thumb['sd']['height'] . "' src='" . $thumb['sd']['url'] . "' class='' alt='' srcset='" . $standard . "' sizes='(max-width: 200px) 100vw, 200px' />";
|
||||
|
||||
$display .= '</a>';
|
||||
$display .= '</div>';
|
||||
$display .= '<div class="albumdesc">';
|
||||
$display .= '<a href="../../zenphoto/index.php?album='.$album.'&image='.$filename.'" title= "'.date_archive($file['filename']).'" class="">';
|
||||
$display .= '<span class="exif">'.date_archive($file['filename']).'</span>';
|
||||
$display .= '</a></div>';
|
||||
$display .= '</div>' . "\r\n";
|
||||
|
||||
//echo "display: " . $display;
|
||||
|
||||
return $display;
|
||||
}
|
||||
|
||||
|
||||
function displayRetina_bak ($filename,$album) {
|
||||
|
||||
global $ppage;
|
||||
|
||||
@@ -216,7 +474,6 @@ function displayRetina ($filename,$album) {
|
||||
return $display;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
*functions.php - displayRetina() displayRetina()
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user