diff --git a/includes/sidenav.php b/includes/sidenav.php index 1d16009..82f0f69 100755 --- a/includes/sidenav.php +++ b/includes/sidenav.php @@ -37,6 +37,9 @@ Les Photos + Commande des photos +
diff --git a/photos.php b/photos.php index 383960b..6ebdc34 100644 --- a/photos.php +++ b/photos.php @@ -1,9 +1,299 @@ $value) { + $path = realpath($dir . DIRECTORY_SEPARATOR . $value); + if (!is_dir($path)) { + $valid = pathinfo($path, PATHINFO_EXTENSION) == "zip"; + if ($valid) + break; + } + } + return $valid; +} + +/** + * Get all directories in the specified path and creates them on the page + * @param string $path path to search directories in + */ +function createDirectories($path) +{ + $path = photoRoot . $path; + $displayedItems = 0; + $folders = getDirectories($path); + foreach ($folders as $key => $value) { + $folderTitle = $value; + $photos = getTotalPhotoCount($path . DIRECTORY_SEPARATOR . $value); + $albums = getTotalAlbumCount($path . DIRECTORY_SEPARATOR . $value); + $folderLink = "?" . urlParam . "=" . getActivePath() . DIRECTORY_SEPARATOR . $value; + include("includes/photos/folder_template.php"); + $displayedItems++; + + } +} + + +/** + * Get all photos in the specified path and creates them on the page + * @param string $path path to search photos in + */ +function createPhotos($path) +{ + $path = photoRoot . "_thumb" . $path; + $files = scandir($path); + $displayedItems = 0; + foreach ($files as $key => $value) { + $realPath = realpath($path . DIRECTORY_SEPARATOR . $value); + if (isValidImage($realPath)) { + $imageSrc = $path . DIRECTORY_SEPARATOR . $value; + $imageId = "photo-" . $displayedItems; + include("includes/photos/photo_template.php"); + $displayedItems++; + } + } +} + +/** + * get folders in the given path + * @param string $path path to search folders in + * @return array array of folders + */ +function getDirectories($path) +{ + $files = scandir($path); + $folders = []; + foreach ($files as $key => $value) { + $realPath = realpath($path . DIRECTORY_SEPARATOR . $value); + if (isValidDirectory($realPath, $value)) { + array_push($folders, $value); + } + } + return $folders; +} + +/** + * Counts directories in the specified folder + * @param string $path path to search directories in + * @return int directories count + */ +function getDirectoriesCount($path) +{ + $files = scandir($path); + $dirCount = 0; + foreach ($files as $key => $value) { + $realPath = realpath($path . DIRECTORY_SEPARATOR . $value); + if (isValidDirectory($realPath, $value)) { + $dirCount++; + } + } + return $dirCount; +} + +/** + * Counts images in the specified folder + * @param string $path path to search photos in + * @return int photo count + */ +function getPhotoCount($path) +{ + $files = scandir($path); + $fileCount = 0; + foreach ($files as $key => $value) { + $realPath = realpath($path . DIRECTORY_SEPARATOR . $value); + if (isValidImage($realPath)) { + $fileCount++; + } + } + return $fileCount; +} + +/** + * Get the count of all directories, recursively from the path specified + * @param string $path root for search + * @return int total number of directories + */ +function getTotalAlbumCount($path) +{ + $folders = getDirectories($path); + $total = sizeof($folders); + foreach ($folders as $key => $value) { + $total += getTotalAlbumCount($path . DIRECTORY_SEPARATOR . $value); + } + return $total; + } + +function getTotalPhotoCount($path) +{ + $folders = getDirectories($path); + $total = getPhotoCount($path); + foreach ($folders as $key => $value) { + $total += getTotalPhotoCount($path . DIRECTORY_SEPARATOR . $value); + } + return $total; +} + +/** + * Check if the given image is valid + * @param string $imagePath absolute path of the image + * @return bool True if the file is a jpg, jpeg or png, false otherwise + */ +function isValidImage($imagePath) +{ + $ext = pathinfo($imagePath, PATHINFO_EXTENSION); + return !is_dir($imagePath) && ($ext == "jpg" || $ext == "JPG" || $ext == "jpeg" || $ext == "JPEG" || $ext == "png" || $ext == "PNG"); +} + +/** + * Check if the given folder is valid (is not '.' or '..') + * @param string $directoryPath directory path + * @param string $directory directory name + * @return bool True if the directory is valid, false otherwise + */ +function isValidDirectory($directoryPath, $directory) +{ + return is_dir($directoryPath) && $directory != "." && $directory != ".." && substr($directory, 0, 1) !== "."; +} + + +/** + * Creates buttons representing the actual path for easier navigation + * @param string $path Actual Path + */ +function generatePath($path) +{ + $folders = explode(DIRECTORY_SEPARATOR, $path); + $currentPath = ""; + $pathTitle = "Menu"; + $pathLink = "?" . urlParam . "="; + include("includes/photos/path_template.php"); + foreach ($folders as $value) { + if ($value != "") { + $pathTitle = $value; + $currentPath .= DIRECTORY_SEPARATOR . $value; + $pathLink = "?" . urlParam . "=" . $currentPath; + include("includes/photos/path_template.php"); + } + } +} + ?> -EN MAINTENANCE ! +Clique sur le dossier de ton choix pour afficher les photos. Il faut que tu sois inscrit à l'INSA pour pouvoir + les regarder (et oui, pas de spoiler). +
++ Si tu ne peux pas voir les photos (la fenêtre pour entrer le mot de passe ne s'affiche pas), ouvre cette page + avec + un autre navigateur. +
+Chemin :
Clique sur le dossier de ton choix pour afficher les photos. Il faut que tu sois inscrit à l'INSA pour pouvoir - les regarder (et oui, pas de spoiler). -
-- Si tu ne peux pas voir les photos (la fenêtre pour entrer le mot de passe ne s'affiche pas), ouvre cette page - avec - un autre navigateur. -
-Chemin :