Страница 1 из 2
Composer - как научить его видеть кирилицу?

Добавлено:
08 апр 2015, 18:25
vbnm
Дело в том, что когда в Composer добавляешь файлы, то он напроч отказывается загружать те, что набраны не латинским.
Куда копать?
Re: Composer - как научить его видеть кирилицу?

Добавлено:
09 апр 2015, 10:57
cmsservice
В смысле в компзер, имеется ввиду в атрибут типа файл или куда?
Re: Composer - как научить его видеть кирилицу?

Добавлено:
10 апр 2015, 06:47
vbnm
Куда именно я пока не в курсе.
Попробуй добавить в сообщение фаил мп3 когда он содержит в названии кирилицу.
у меня такие просто не грузятся.
Re: Composer - как научить его видеть кирилицу?

Добавлено:
10 апр 2015, 10:34
cmsservice
Гипотеза: Думаю это связано с тем, что у них там в регулярных выражениях во всяких функциях, которые обрабатывают имя файла (текст хелпер и вроде файл хелпер) не поддерживается юникод. Его поддержка добавляется простым добавлением символа 'u' после регулярки. У нас кастомная версия C5 и мои бойцы эту штуку сразу правят после скачивания и укладывания дистрибутива на внутренний сервер. Вы тоже можете это сделать, там на минуту делов-то.
Вообще было предложение вынести все регулярки в файлы локализации, но как-то прошло незамечено. Это бы решило подобные проблемы, уверен что они не только у нас наблюдаются, но и у Японцев

Re: Composer - как научить его видеть кирилицу?

Добавлено:
10 апр 2015, 11:50
Count_Raven
cmsservice писал(а):Гипотеза: Думаю это связано с тем, что у них там в регулярных выражениях во всяких функциях, которые обрабатывают имя файла (текст хелпер и вроде файл хелпер) не поддерживается юникод. Его поддержка добавляется простым добавлением символа 'u' после регулярки. У нас кастомная версия C5 и мои бойцы эту штуку сразу правят после скачивания и укладывания дистрибутива на внутренний сервер. Вы тоже можете это сделать, там на минуту делов-то.
Вообще было предложение вынести все регулярки в файлы локализации, но как-то прошло незамечено. Это бы решило подобные проблемы, уверен что они не только у нас наблюдаются, но и у Японцев

Да. Насколько я помню это происходит в FileImporter. Там идёт обеззараживание названия файла и из него удаляются любые символы, кроме латинских, цифр и некоторых знаков. Соответственно, все символы кириллицы (да и японские или, к примеру, индийские какие-нибудь) выкидываются совсем и, так как файл остаётся без имени, то он игнорируется.
Re: Composer - как научить его видеть кирилицу?

Добавлено:
10 апр 2015, 12:20
cmsservice
Count_Raven писал(а):Соответственно, все символы кириллицы (да и японские или, к примеру, индийские какие-нибудь) выкидываются совсем и, так как файл остаётся без имени, то он игнорируется.
Во, значит там надо поставить транслитерацию (она есть уже в системе) еще перед очисткой имени.
UPD: Это в файле /concrete/src/File/Service/File.php в методе sanitize()
Re: Composer - как научить его видеть кирилицу?

Добавлено:
11 апр 2015, 09:48
vbnm
cmsservice писал(а):Count_Raven писал(а):Соответственно, все символы кириллицы (да и японские или, к примеру, индийские какие-нибудь) выкидываются совсем и, так как файл остаётся без имени, то он игнорируется.
Во, значит там надо поставить транслитерацию (она есть уже в системе) еще перед очисткой имени.
UPD: Это в файле /concrete/src/File/Service/File.php в методе sanitize()
найти-то его нашел, что дальше делать?
попробовал
Набор из букв и цифр (латиница + кириллица):
- Код: Выделить всё
^[а-яА-ЯёЁa-zA-Z0-9]+$
не срабатывает
где-то еще идет проверка
Re: Composer - как научить его видеть кирилицу?

Добавлено:
11 апр 2015, 10:02
cmsservice
Не не, там первых две строчки проверкой занимаются. Для нормальной реализации нужно их заменить отрезанием расширения от имени файла, потом фильтрации имени с помощью метода filter класса URLify и к полученному присоединить расширение. Тогда все шикарно работает.
Re: Composer - как научить его видеть кирилицу?

Добавлено:
11 апр 2015, 11:41
vbnm
Трабла не в расширении файла, он спокойно грузит МП3 и остальное.
Трабла в том, что он не понимает кирилицу.
Или я не понимаю, то о чем говоришь.
Там сейчас идет проверка чисто по латинице, все остальное в игнор, вот я и попробовал топорно указать ему еще и кирилицу.
Если есть у вас в компани уже есть этот фаил с редакцией, то просто выложи.
Re: Composer - как научить его видеть кирилицу?

Добавлено:
11 апр 2015, 11:54
cmsservice
Именно, что не понимаешь, если в отладчике посмотришь процесс, то поймешь о чем я.
Re: Composer - как научить его видеть кирилицу?

Добавлено:
11 апр 2015, 14:53
vbnm
ок. придется ждать начит)
Re: Composer - как научить его видеть кирилицу?

Добавлено:
11 апр 2015, 15:44
cmsservice
Чего ждать-то?
Re: Composer - как научить его видеть кирилицу?

Добавлено:
12 апр 2015, 14:20
cmsservice
Мы тебя ввели в заблуждение. На самом деле, блок conversations обламывает загрузку кирилических имен и происходит это в JS где-то, т.е. до PHP еще даже дело не доходит. Т.ч. если есть желание, то можешь копаться в /concrete/js/dropzone.js
Re: Composer - как научить его видеть кирилицу?

Добавлено:
13 апр 2015, 12:52
vbnm
ок
Re: Composer - как научить его видеть кирилицу?

Добавлено:
13 апр 2015, 18:16
vbnm
dropzone.js
фунгкция:
- Код: Выделить всё
function (b) {
return p.emit('uploadprogress', a, Math.max(0, Math.min(100, b.loaded / b.total * 100)))
},
j.setRequestHeader
('Accept', 'application/json'),
j.setRequestHeader
('Cache-Control', 'no-cache'),
j.setRequestHeader
('X-Requested-With', 'XMLHttpRequest'),
j.setRequestHeader
('X-File-Name', a.name),
b = new FormData, this.options.params) {
n = this.options.params;
for (g in n) i = n[g],
b.append(g, i)
}
строка с
a.nameпока в ней все дело
меняешь её значение, фаил с кирилицей грузится но выводит абракадабру на латинском в названии
пример, если из нее сделать типо:
- Код: Выделить всё
('X-File-Name', a.name =('a.name')),