/** * Build imagelist * @param string The image directory to display */ function listImages($listdir) { global $mosConfig_absolute_path, $mosConfig_live_site; // get list of images $d = @dir($mosConfig_absolute_path . "/images/stories/" . $listdir); if ($d) { //var_dump($d); $images = array(); $folders = array(); $docs = array(); while (false !== ($entry = $d->read())) { $img_file = $entry; if (is_file($mosConfig_absolute_path . "/images/stories" . $listdir . '/' . $img_file) && substr($entry, 0, 1) != '.' && strtolower($entry) !== 'index.html') { if (eregi(".bmp\$|.gif\$|.jpg\$|.png\$", $img_file)) { $image_info = @getimagesize($mosConfig_absolute_path . "/images/stories/" . $listdir . '/' . $img_file); $file_details['file'] = $mosConfig_absolute_path . "/images/stories" . $listdir . "/" . $img_file; $file_details['img_info'] = $image_info; $file_details['size'] = filesize($mosConfig_absolute_path . "/images/stories" . $listdir . "/" . $img_file); $images[$entry] = $file_details; } else { // file is document $docs[$entry] = $img_file; } } else { if (is_dir($mosConfig_absolute_path . "/images/stories/" . $listdir . '/' . $img_file) && substr($entry, 0, 1) != '.' && strtolower($entry) !== 'cvs') { $folders[$entry] = $img_file; } } } $d->close(); HTML_Media::imageStyle($listdir); if (count($images) > 0 || count($folders) > 0 || count($docs) > 0) { //now sort the folders and images by name. ksort($images); ksort($folders); ksort($docs); HTML_Media::draw_table_header(); for ($i = 0; $i < count($folders); $i++) { $folder_name = key($folders); HTML_Media::show_dir('/' . $folders[$folder_name], $folder_name, $listdir); next($folders); } for ($i = 0; $i < count($docs); $i++) { $doc_name = key($docs); $iconfile = $mosConfig_absolute_path . "/administrator/components/com_media/images/" . substr($doc_name, -3) . "_16.png"; if (file_exists($iconfile)) { $icon = "components/com_media/images/" . substr($doc_name, -3) . "_16.png"; } else { $icon = "components/com_media/images/con_info.png"; } HTML_Media::show_doc($docs[$doc_name], $listdir, $icon); next($docs); } for ($i = 0; $i < count($images); $i++) { $image_name = key($images); HTML_Media::show_image($images[$image_name]['file'], $image_name, $images[$image_name]['img_info'], $images[$image_name]['size'], $listdir); next($images); } HTML_Media::draw_table_footer(); } else { HTML_Media::draw_no_results(); } } else { HTML_Media::draw_no_dir(); } function rm_all_dir($dir) { //$dir = dir_name($dir); //echo "OPEN:".$dir.'<Br>'; if (is_dir($dir)) { $d = @dir($dir); while (false !== ($entry = $d->read())) { //echo "#".$entry.'<br>'; if ($entry != '.' && $entry != '..') { $node = $dir . '/' . $entry; //echo "NODE:".$node; if (is_file($node)) { //echo " - is file<br>"; unlink($node); } else { if (is_dir($node)) { //echo " - is Dir<br>"; rm_all_dir($node); } } } } $d->close(); rmdir($dir); } //echo "RM: $dir <br>"; } }
/** * Build imagelist * @param string The image directory to display */ function listImages($listdir) { global $mosConfig_live_site; // get list of images $d = @dir(COM_MEDIA_BASE . DIRECTORY_SEPARATOR . $listdir); if ($d) { //var_dump($d); $images = array(); $folders = array(); $docs = array(); $allowable = '\\.xcf$|\\.odg$|\\.gif$|\\.jpg$|\\.png$|\\.bmp$'; while (false !== ($entry = $d->read())) { $img_file = $entry; if (is_file(COM_MEDIA_BASE . $listdir . '/' . $img_file) && substr($entry, 0, 1) != '.' && strtolower($entry) !== 'index.html') { if (eregi($allowable, $img_file)) { $image_info = @getimagesize(COM_MEDIA_BASE . "/" . $listdir . '/' . $img_file); $file_details['file'] = COM_MEDIA_BASE . $listdir . "/" . $img_file; $file_details['img_info'] = $image_info; $file_details['size'] = filesize(COM_MEDIA_BASE . $listdir . "/" . $img_file); $images[$entry] = $file_details; } else { // file is document $file_details['size'] = filesize(COM_MEDIA_BASE . $listdir . "/" . $img_file); $file_details['file'] = COM_MEDIA_BASE . $listdir . "/" . $img_file; $docs[$entry] = $file_details; } } else { if (is_dir(COM_MEDIA_BASE . '/' . $listdir . '/' . $img_file) && substr($entry, 0, 1) != '.' && strtolower($entry) !== 'cvs') { $folders[$entry] = $img_file; } } } $d->close(); HTML_Media::imageStyle($listdir); if (count($images) > 0 || count($folders) > 0 || count($docs) > 0) { //now sort the folders and images by name. ksort($images); ksort($folders); ksort($docs); HTML_Media::draw_table_header(); for ($i = 0; $i < count($folders); $i++) { $folder_name = key($folders); HTML_Media::show_dir('/' . $folders[$folder_name], $folder_name, $listdir); next($folders); } for ($i = 0; $i < count($docs); $i++) { $doc_name = key($docs); $iconfile = $GLOBALS['mosConfig_absolute_path'] . '/administrator/components/com_media/images/' . substr($doc_name, -3) . '_16.png'; if (file_exists($iconfile)) { $icon = 'components/com_media/images/' . substr($doc_name, -3) . '_16.png'; } else { $icon = 'components/com_media/images/con_info.png'; } HTML_Media::show_doc($doc_name, $docs[$doc_name]['size'], $listdir, $icon); next($docs); } for ($i = 0; $i < count($images); $i++) { $image_name = key($images); HTML_Media::show_image($images[$image_name]['file'], $image_name, $images[$image_name]['img_info'], $images[$image_name]['size'], $listdir); next($images); } HTML_Media::draw_table_footer(); } else { HTML_Media::draw_no_results(); } } else { HTML_Media::draw_no_dir(); } }