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

Любая помощь по установке/настройке/модификации concrete5

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

Сообщение vbnm » 08 апр 2015, 18:25 ,  »  Сообщение:#1

Дело в том, что когда в Composer добавляешь файлы, то он напроч отказывается загружать те, что набраны не латинским.
Куда копать?
vbnm
 
Сообщения: 462
Зарегистрирован: 02 июл 2011, 01:44

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

Сообщение cmsservice » 09 апр 2015, 10:57 ,  »  Сообщение:#2

В смысле в компзер, имеется ввиду в атрибут типа файл или куда?
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

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

Сообщение vbnm » 10 апр 2015, 06:47 ,  »  Сообщение:#3

Куда именно я пока не в курсе.
Попробуй добавить в сообщение фаил мп3 когда он содержит в названии кирилицу.
у меня такие просто не грузятся.
vbnm
 
Сообщения: 462
Зарегистрирован: 02 июл 2011, 01:44

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

Сообщение cmsservice » 10 апр 2015, 10:34 ,  »  Сообщение:#4

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

Вообще было предложение вынести все регулярки в файлы локализации, но как-то прошло незамечено. Это бы решило подобные проблемы, уверен что они не только у нас наблюдаются, но и у Японцев :(
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

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

Сообщение Count_Raven » 10 апр 2015, 11:50 ,  »  Сообщение:#5

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

Вообще было предложение вынести все регулярки в файлы локализации, но как-то прошло незамечено. Это бы решило подобные проблемы, уверен что они не только у нас наблюдаются, но и у Японцев :(

Да. Насколько я помню это происходит в FileImporter. Там идёт обеззараживание названия файла и из него удаляются любые символы, кроме латинских, цифр и некоторых знаков. Соответственно, все символы кириллицы (да и японские или, к примеру, индийские какие-нибудь) выкидываются совсем и, так как файл остаётся без имени, то он игнорируется.
Country Amiant - Regno All Rianto
Аватара пользователя
Count_Raven
Супермодератор
 
Сообщения: 1156
Зарегистрирован: 06 окт 2010, 15:00
Откуда: Country Amiant

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

Сообщение cmsservice » 10 апр 2015, 12:20 ,  »  Сообщение:#6

Count_Raven писал(а):Соответственно, все символы кириллицы (да и японские или, к примеру, индийские какие-нибудь) выкидываются совсем и, так как файл остаётся без имени, то он игнорируется.

Во, значит там надо поставить транслитерацию (она есть уже в системе) еще перед очисткой имени.

UPD: Это в файле /concrete/src/File/Service/File.php в методе sanitize()
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

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

Сообщение vbnm » 11 апр 2015, 09:48 ,  »  Сообщение:#7

cmsservice писал(а):
Count_Raven писал(а):Соответственно, все символы кириллицы (да и японские или, к примеру, индийские какие-нибудь) выкидываются совсем и, так как файл остаётся без имени, то он игнорируется.

Во, значит там надо поставить транслитерацию (она есть уже в системе) еще перед очисткой имени.

UPD: Это в файле /concrete/src/File/Service/File.php в методе sanitize()

найти-то его нашел, что дальше делать?
попробовал
Набор из букв и цифр (латиница + кириллица):
Код: Выделить всё
^[а-яА-ЯёЁa-zA-Z0-9]+$

не срабатывает
где-то еще идет проверка
vbnm
 
Сообщения: 462
Зарегистрирован: 02 июл 2011, 01:44

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

Сообщение cmsservice » 11 апр 2015, 10:02 ,  »  Сообщение:#8

Не не, там первых две строчки проверкой занимаются. Для нормальной реализации нужно их заменить отрезанием расширения от имени файла, потом фильтрации имени с помощью метода filter класса URLify и к полученному присоединить расширение. Тогда все шикарно работает.
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

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

Сообщение vbnm » 11 апр 2015, 11:41 ,  »  Сообщение:#9

Трабла не в расширении файла, он спокойно грузит МП3 и остальное.
Трабла в том, что он не понимает кирилицу.
Или я не понимаю, то о чем говоришь.
Там сейчас идет проверка чисто по латинице, все остальное в игнор, вот я и попробовал топорно указать ему еще и кирилицу.
Если есть у вас в компани уже есть этот фаил с редакцией, то просто выложи.
vbnm
 
Сообщения: 462
Зарегистрирован: 02 июл 2011, 01:44

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

Сообщение cmsservice » 11 апр 2015, 11:54 ,  »  Сообщение:#10

Именно, что не понимаешь, если в отладчике посмотришь процесс, то поймешь о чем я.
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

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

Сообщение vbnm » 11 апр 2015, 14:53 ,  »  Сообщение:#11

ок. придется ждать начит)
vbnm
 
Сообщения: 462
Зарегистрирован: 02 июл 2011, 01:44

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

Сообщение cmsservice » 11 апр 2015, 15:44 ,  »  Сообщение:#12

Чего ждать-то?
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

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

Сообщение cmsservice » 12 апр 2015, 14:20 ,  »  Сообщение:#13

Мы тебя ввели в заблуждение. На самом деле, блок conversations обламывает загрузку кирилических имен и происходит это в JS где-то, т.е. до PHP еще даже дело не доходит. Т.ч. если есть желание, то можешь копаться в /concrete/js/dropzone.js
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

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

Сообщение vbnm » 13 апр 2015, 12:52 ,  »  Сообщение:#14

ок
vbnm
 
Сообщения: 462
Зарегистрирован: 02 июл 2011, 01:44

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

Сообщение vbnm » 13 апр 2015, 18:16 ,  »  Сообщение:#15

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')),
vbnm
 
Сообщения: 462
Зарегистрирован: 02 июл 2011, 01:44

След.

Вернуться в Помощь по concrete5

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron