Back to ListHelper class

Method images

public static array
images
(mixed $name, mixed $active = null, mixed $javascript = null, mixed $directory = null, mixed $extensions = 'bmp|gif|jpg|png')
Build the select list to choose an image
Parameters
  • string $name The name of the field
  • string $active The selected item
  • string $javascript Alternative javascript
  • string $directory Directory the images are stored in
  • string $extensions Allowed extensions
Returns
  • array Image names
Since
  • 1.5
Class: ListHelper
Project: Joomla

Method images - Source code

/**
 * Build the select list to choose an image
 *
 * @param   string  $name        The name of the field
 * @param   string  $active      The selected item
 * @param   string  $javascript  Alternative javascript
 * @param   string  $directory   Directory the images are stored in
 * @param   string  $extensions  Allowed extensions
 *
 * @return  array  Image names
 *
 * @since   1.5
 */
public static function images($name, $active = null, $javascript = null, $directory = null, $extensions = 'bmp|gif|jpg|png')
{
    if (!$directory) {
        $directory = '/images/';
    }
    if (!$javascript) {
        $javascript = "onchange=\"if (document.forms.adminForm." . $name . ".options[selectedIndex].value!='') {document.imagelib.src='..{$directory}' + document.forms.adminForm." . $name . ".options[selectedIndex].value} else {document.imagelib.src='media/system/images/blank.png'}\"";
    }
    $imageFiles = new \DirectoryIterator(JPATH_SITE . '/' . $directory);
    $images = array(HTMLHelper::_('select.option', '', Text::_('JOPTION_SELECT_IMAGE')));
    foreach ($imageFiles as $file) {
        $fileName = $file->getFilename();
        if (!$file->isFile()) {
            continue;
        }
        if (preg_match('#(' . $extensions . ')$#', $fileName)) {
            $images[] = HTMLHelper::_('select.option', $fileName);
        }
    }
    $images = HTMLHelper::_('select.genericlist', $images, $name, array('list.attr' => 'size="1" ' . $javascript, 'list.select' => $active));
    return $images;
}