1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
<?php rcs_id('$Id: random.php,v 1.11 2004/06/14 11:26:49 rurban Exp $');
/**
*/
class randomImage {
/**
* Usage:
*
* $imgSet = new randomImage($WikiTheme->file("images/pictures"));
* $imgFile = "pictures/" . $imgSet->filename;
*/
function randomImage ($dirname) {
$this->filename = ""; // Pick up your filename here.
$_imageSet = new imageSet($dirname);
$this->imageList = $_imageSet->getFiles();
unset($_imageSet);
if (empty($this->imageList)) {
trigger_error(sprintf(_("%s is empty."), $dirname),
E_USER_NOTICE);
} else {
$dummy = $this->pickRandom();
}
}
function pickRandom() {
better_srand(); // Start with a good seed.
$this->filename = $this->imageList[array_rand($this->imageList)];
//trigger_error(sprintf(_("random image chosen: %s"),
// $this->filename),
// E_USER_NOTICE); //debugging
return $this->filename;
}
};
class imageSet extends fileSet {
/**
* A file is considered an image when the suffix matches one from
* $InlineImages.
*/
function _filenameSelector($filename) {
return preg_match("/(" . INLINE_IMAGES . ")$/i", $filename);
}
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// (c-file-style: "gnu")
// Local Variables:
// mode: php
// tab-width: 8
// c-basic-offset: 4
// c-hanging-comment-ender-p: nil
// indent-tabs-mode: nil
// End:
?>
|