[AJAX Instant Quick Reply] - AJAX отправка и отображение сообщения

Автор teerex, 29 октября 2009, 15:47:04

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

teerex

AJAX Instant Quick Reply
Автор: SlammedDime
Последняя версия: 1.0.2
Совместим: 1.1.5, 1.1.8, 2.0 RC1
Ссылка: http://custom.simplemachines.org/mods/index.php?mod=1214
Русификация: Не требуется.
Описание:  AJAX отправка и отображение сообщений через форму быстрого ответа.
После отправки ответа на странице сразу появляется отправленный ответ, но перегружаясь.
На странице проекта можно просмотреть краткий ролик.

teerex

А теперь о плохом

При использовании этого модуля на форуме с русским utf-8 текст сообщений в итоговой странице выводится в виде специальных символов html.
Например, слово
"тест" = тест

В таком же виде хранится в базе.

При использовании любого другого вида отправки ответа (в том числе с отключенным Javascript) - всё замечательно.

Хотя браузер преобразует хексадецимальные нотации в читаемый русский текст но
1) такой текст не участвует в поиске,
2) при использовании функций, которые разбирают текст - цензура, смайлы на русском языке - так же нельзя распознать такой текст.

Все спец.символы html успешно преобразуются через  Обслуживание форума -> Преобразовать элементы-HTML в UTF-8 и начинают участвовать в поиске проверяться и т.п.
но ведь не будешь постоянно сидеть и нажимать :)
делать скрипт, который будет регулярно запускаться и преобразовывать - это почти то же, что лепить костыль к фотомодели...


Как победить?


Поднял тестовый форум, на котором можно потестировать
http://smf.waysys.ru/index.php?topic=1

Внимание, для того, чтобы отправка сообщения произошла через AJAX Instant Quick Reply - надо быть зарегистрированным пользователем
Создал пользователя test, пароль test
+ Открыта регистрация
+ Любые другие пароли-явки любому модератору по запросу.

digger®

Цитата: teerex от 29 октября 2009, 16:02:15
А теперь о плохом

При использовании этого модуля на форуме с русским utf-8 текст сообщений в итоговой странице выводится в виде специальных символов html.
Например, слово
"тест" = тест

В таком же виде хранится в базе.

То же самое происходит при использовании быстрого редактирования, это баг движка.

teerex

Цитата: digger от 29 октября 2009, 22:08:24
То же самое происходит при использовании быстрого редактирования, это баг движка.
т.е. это ещё никак нигде не решено?
надо требовать фиксов движка или лепить фотомодели костыль? :)

Ведь получается с этим ведь все сталкиваются, кто использует SMF форум на utf-8 и нелатинские символы (и русские и греки и арабы...)


crazyASD

Фикс бага "Кракозябры в быстром ответе" из SMF 2.0:
Открываем /Themes/Default/xml_topic.js

Меняем:
x[x.length] = 'subject=' + escape(textToEntities(document.forms.quickModForm['subject'].value.replace(/&#/g, "&#"))).replace(/\+/g, "%2B");
x[x.length] = 'message=' + escape(textToEntities(document.forms.quickModForm['message'].value.replace(/&#/g, "&#"))).replace(/\+/g, "%2B");


После этого чудо-кракозябры после быстрого редактирования больше не появляются.
На:
x[x.length] = 'subject=' + escape(document.forms.quickModForm['subject'].value.replace(/&#/g, "&#").php_to8bit()).replace(/\+/g, "%2B");
    x[x.length] = 'message=' + escape(document.forms.quickModForm['message'].value.replace(/&#/g, "&#").php_to8bit()).replace(/\+/g, "%2B");

Сон разума порождает монстров
Wordpress - рулит!  SMF 2.0.11

-LoRD-


redwert

Цитата: -LoRD- от 04 декабря 2009, 12:23:44
Будет ли работать данный мод на 2.0 RC2?

если я правильно понимаю, то пока невозможно

teerex

Цитата: redwert от 06 декабря 2009, 19:52:33
Поставил у себя AJAX Instant Quick Reply, скажите как включить в настройках администратор этот мод. Установка прошла успешно, но ничего не происходит
1) Very Very Very Important.  If you have Sleepy's View Single Post mod installed, you MUST uninstall it before installing this.  This incorporates that mod as well in order to work properly.

2) на форуме установлена тема по-умолчанию?
при установке мод затрагивает только тему по-умолчанию. Чтобы мод работал в другой теме - нужно внести изменения и в неё.
Какие именно - можно посмотреть здесь:
http://custom.simplemachines.org/mods/index.php?mod=1214
Manual Install Instructions for SMF (выбираем версию)
жмём Parse

смотрим изменения в файле
/Themes/default/Display.template.php
/Themes/default/xml_topic.js
/Themes/default/Xml.template.php
и добавляем в свою тему (если эти файлы присутствуют в вашей теме, конечно)
если не присутствуют - то дело в другом, опишите подробнее что установлено

3) кроме того, конечно, на клиенте должен быть включен javascript :)

redwert

Ага, то егоо поставил, но файлы в своей теме не поменял