ACC SHELL
<?php
/**
* File Loader.
*
* @author Jiří Zajíc (Flipcom)
* @package Stakk
*/
class GalleryFileLoader extends Nette\Object
{
private $path = 'images/gallery/';
private $supportedExtensions = array('jpg', 'jpeg', 'png');
private $photos = array();
public function getPhotosFrom($folder)
{
$photoFolder = false;
$entries = array();
$photos = array();
if (($folderHandle = opendir($this->path . $folder)))
{
while (false !== ($entry = readdir($folderHandle)))
{
if ($entry != "." && $entry != "..")
{
$extension = pathinfo($this->path . $folder . $entry, PATHINFO_EXTENSION);
$isPhoto = in_array(strtolower($extension), $this->supportedExtensions);
$entries[] = $entry;
if ($isPhoto)
{
$photos[] = $entry;
}
$photoFolder |= $isPhoto;
}
}
closedir($folderHandle);
}
if ($photoFolder)
{
setlocale(LC_ALL, "cs_CZ.UTF-8");
sort($photos, SORT_LOCALE_STRING);
return $photos;
}
else
{
foreach ($entries as $subfolder)
{
$this->photos[$subfolder] = $this->getPhotosFrom($folder . DIRECTORY_SEPARATOR . $subfolder);
}
}
return $this->photos;
}
}
ACC SHELL 2018