Наверное, много кто пытался загрузить файлы в Joomla на русском языке. Вот и я озадачился проблемой. Подойдут оба варианта: 1. файл загружается на сервер и название файла сохраняется на русском 2. файл загружается на сервер и название файла меняется на транслитированный эквивалент. И пути решения тоже любые подойдут: 1. на уровне расширения 2. на уровне ядра Joomla
Ну вот по-быстрому libraries/joomla/filesystem/file.php Добавляем к классы функцию: Код (PHP): function translit($text) { $trans = array( "а" => "a", "б" => "b", "в" => "v", "г" => "g", "д" => "d", "е" => "e", "ё" => "e", "ж" => "zh", "з" => "z", "и" => "i", "й" => "y", "к" => "k", "л" => "l", "м" => "m", "н" => "n", "о" => "o", "п" => "p", "р" => "r", "с" => "s", "т" => "t", "у" => "u", "ф" => "f", "х" => "kh", "ц" => "ts", "ч" => "ch", "ш" => "sh", "щ" => "shch", "ы" => "y", "э" => "e", "ю" => "yu", "я" => "ya", "А" => "A", "Б" => "B", "В" => "V", "Г" => "G", "Д" => "D", "Е" => "E", "Ё" => "E", "Ж" => "Zh", "З" => "Z", "И" => "I", "Й" => "Y", "К" => "K", "Л" => "L", "М" => "M", "Н" => "N", "О" => "O", "П" => "P", "Р" => "R", "С" => "S", "Т" => "T", "У" => "U", "Ф" => "F", "Х" => "Kh", "Ц" => "Ts", "Ч" => "Ch", "Ш" => "Sh", "Щ" => "Shch", "Ы" => "Y", "Э" => "E", "Ю" => "Yu", "Я" => "Ya", "ь" => "", "Ь" => "", "ъ" => "", "Ъ" => "" ); if(preg_match("/[а-яА-Я]/", $text)) { return strtr($text, $trans); } else { return $text; } } И в начале функции makeSafe добавляем строчку: Код (PHP): $file = JFile::translit($file); Это для того, чтобы com_media закачивал файлы с русским названием и транслитерировал их.