Snippet Aufruf für Zufallsbilder:
<?php
# V 22.12.003
#
# Beispiel Snippet Aufruf für Zufallsbilder:
# [[!getRandPicture? &url=`images/gallery/bodensee2009` &ext=`jpg`]]
# oder per TV
# [[!getRandPicture? &url=`images/[[*tvRandPicture]]` &ext=`jpg`]]
# <img alt="[[+image_title]]" class="photos" src="[[+image_folder]][[+image_name]]" />
#
# Variablen -Start------------------->
# Datei-Endung
$strExt = '.'.$modx->getOption('ext',$scriptProperties,'jpg');
# Bilder-Ordner
$strURL = $modx->getOption('url',$scriptProperties,'images');
$folder = (isset($folder))?$folder:$strURL;
$imgDir = opendir($folder);
# Fehler-Bild
$defaultImage = (isset($defaultImage))?$defaultImage:$modx->config['base_url'].'images/icons/icon-error.png';
# Variablen -Ende-------------------<
$images = [];
$is_image = '';
while ($file = readdir($imgDir))
{
# prüfe ob die Datei ein Bild ist
$file_type = strrchr($file, '.');
if ($file_type == $strExt){
$is_image = true;
}
$is_thumb = !strncmp($file, '.thumb_', 7);
if ($file != '.' && $file != '..' && $is_image && !$is_thumb){
$images[] = $file;
}
}
closedir($imgDir);
# Platzhalter
$modx->setPlaceholder('image_folder', $folder.'/');
if (count($images) > 1)
{
srand(( double )microtime()*1000000);
$image_name = $images[rand(0, sizeof($images)-1)];
$modx->setPlaceholder('image_name', $image_name);
$image_title = str_replace('.'.$ext,'',$image_name);
$image_title = str_replace('_',' ',$image_title);
$image_title = strtoupper($image_title);
$modx->setPlaceholder('image_title', $image_title);
return;
}
# wenn keine Bilder im Ordner sind
$modx->setPlaceholder('image_folder', '');
$modx->setPlaceholder('image_name', $defaultImage);
return;