get( 'width' ); $height = $params->get( 'height' ); $i = count($images); $random = mt_rand(0, $i - 1); $image = $images[$random]; $size = getimagesize (JPATH_BASE.DS.$image->folder .DS. $image->name); if ($width == '') { $width = 100; } if ($size[0] < $width) { $width = $size[0]; } $coeff = $size[0]/$size[1]; if ($height == '') { $height = (int) ($width/$coeff); } else { $newheight = min ($height, (int) ($width/$coeff)); if ($newheight < $height) { $height = $newheight; } else { $width = $height * $coeff; } } $image->width = $width; $image->height = $height; $image->folder = str_replace( '\\', '/', $image->folder ); return $image; } function getImages(&$params, $folder) { $type = $params->get( 'type', 'jpg' ); $files = array(); $images = array(); $dir = JPATH_BASE.DS.$folder; // check if directory exists if (is_dir($dir)) { if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != '.' && $file != '..' && $file != 'CVS' && $file != 'index.html' ) { $files[] = $file; } } } closedir($handle); $i = 0; foreach ($files as $img) { if (!is_dir($dir .DS. $img)) { if (eregi($type, $img)) { $images[$i]->name = $img; $images[$i]->folder = $folder; ++$i; } } } } return $images; } function getFolder(&$params) { $folder = $params->get( 'folder' ); $LiveSite = JURI::base(); // if folder includes livesite info, remove if ( JString::strpos($folder, $LiveSite) === 0 ) { $folder = str_replace( $LiveSite, '', $folder ); } // if folder includes absolute path, remove if ( JString::strpos($folder, JPATH_SITE) === 0 ) { $folder= str_replace( JPATH_BASE, '', $folder ); } $folder = str_replace('\\',DS,$folder); $folder = str_replace('/',DS,$folder); return $folder; } }