function listFiles($path, $regex = '.') { $files = array(); // Make sure path is valid $path = JPath::clean($path); if (empty($path) || JString::strpos($path, JPATH_ROOT) === false) { return $files; } $list = JFolder::files($path, $regex, false, true); if (empty($list)) { return $files; } foreach ($list as $filename) { $f = new JObject(); $f->name = JFile::getName($filename); $f->path = $filename; $f->src = JString::str_ireplace(JPATH_ROOT . DS, JURI::root(), $f->path); $f->src = str_replace(DS, '/', $f->src); $f->size = LinkrHelper::parseSize($f->path); $f->ext = strtolower(JFile::getExt($f->name)); switch ($f->ext) { // Image case 'bmp': case 'gif': case 'jpg': case 'jpeg': case 'odg': case 'png': case 'xcf': list($w, $h) = @getimagesize($f->path); $size = LinkrHelper::imageResize($w, $h, 32); $f->width = $size['width']; $f->height = $size['height']; $f->icon = JString::str_ireplace(JPATH_ROOT . DS, JURI::root(), $f->path); $f->icon = str_replace(DS, '/', $f->icon); $f->type = JText::_('Image'); break; // Other files // Other files default: $f->type = strtoupper($f->ext); $f->width = 32; $f->height = 32; $icon = JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_media' . DS . 'images' . DS . 'mime-icon-32' . DS . $f->ext . '.png'; if (file_exists($icon)) { $f->icon = JURI::root() . 'administrator/components/com_media/images/mime-icon-32/' . $f->ext . '.png'; } else { $f->icon = JURI::root() . 'administrator/components/com_media/images/con_info.png'; } break; } $files[] = $f; } return $files; }
function listFiles($path, $regex = '.', $simple = false) { $files = array(); // Make sure path is valid jimport('joomla.filesystem.path'); $path = JPath::clean($path); $root = strlen(JPATH_ROOT) ? JPATH_ROOT : DS; if (empty($path) || JString::strpos($path, $root) === false) { return $files; } // Get files jimport('joomla.filesystem.folder'); $list = JFolder::files($path, $regex, false, true); if (empty($list)) { return $files; } // List files jimport('joomla.filesystem.file'); // Simple list if ($simple) { foreach ($list as $f) { // Get source $s = strlen(JPATH_ROOT) ? JString::str_ireplace(JPATH_ROOT . DS, JURI::root(), $f) : JURI::root() . $f; $files[] = array('src' => str_replace(DS, '/', $s), 'name' => JFile::getName($f)); } } else { foreach ($list as $filename) { $f = new JObject(); $f->name = JFile::getName($filename); $f->path = $filename; if (strlen(JPATH_ROOT)) { $f->src = JString::str_ireplace(JPATH_ROOT . DS, JURI::root(), $f->path); } else { $f->src = JURI::root() . $f->path; } $f->src = str_replace(DS, '/', $f->src); $f->size = LinkrHelper::parseSize($f->path); $f->ext = strtolower(JFile::getExt($f->name)); switch ($f->ext) { // Image case 'bmp': case 'gif': case 'jpg': case 'jpeg': case 'odg': case 'png': case 'xcf': list($w, $h) = @getimagesize($f->path); $size = LinkrHelper::imageResize($w, $h, 32); $f->width = $size['width']; $f->height = $size['height']; if (strlen(JPATH_ROOT)) { $f->icon = JString::str_ireplace(JPATH_ROOT . DS, JURI::root(), $f->path); } else { $f->icon = JURI::root() . $f->path; } $f->icon = str_replace(DS, '/', $f->icon); //$f->type = JText::_( 'Image' ); $f->type = 'Image'; break; // Other files // Other files default: $f->type = strtoupper($f->ext); $f->width = 24; $f->height = 24; $icon = JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_media' . DS . 'images' . DS . 'mime-icon-32' . DS . $f->ext . '.png'; if (file_exists($icon)) { $f->icon = JURI::root() . 'administrator/components/com_media/images/mime-icon-32/' . $f->ext . '.png'; } else { $f->icon = LINKR_ASSETS . 'img/files.unkown-type.png'; } break; } $files[] = $f; } } return $files; }