Просмотр полной версии : Ошибка с "Цитата выделенного"
shumbola
07.05.2009, 19:30
Если имя пользователя форума содержит символ `'`, как в случае с Sergey Karakish'yan линк "цитата выделенного" не работает.
Artur Alikulov
07.05.2009, 19:45
Подтверждаю ;)
Eldar Ishimbaev
07.05.2009, 20:01
Знаю.
Александр Сучков
07.05.2009, 20:02
Подтверждаю
Писал об этом пару раз. Его что никто не цитировал что ли:)
Самое простое решение - можно переименовать Сергея так, чтобы не было апострофа (просто убрать или кириллицей написать) и впредь не допускать
shumbola
07.05.2009, 20:17
Самое простое решение - можно переименовать Сергея так, чтобы не было апострофа (просто убрать или кириллицей написать) и впредь не допускать
Можно и код исправить. ИМХО, не сложнее чем переименование. :-)
Можно и код исправить. ИМХО, не сложнее чем переименование. :-)
Так давно известно. И не сделали же. Я предлагаю проще решение с учетом этого факта
Azamat Davletmuratov
08.05.2009, 00:33
А у меня когда я цитирую к примеру скажем Ойбека Ибрагимова - то выходят какие-то абра-кадабры. Тоже самое наблюдал у некоторых. Это связано с браузером (Опера у мня!) или ...?
Djalolatdin Rakhimov
08.05.2009, 01:31
Самое простое решение - можно переименовать Сергея так, чтобы не было апострофа (просто убрать или кириллицей написать) и впредь не допускать
Можно и код исправить. ИМХО, не сложнее чем переименование. :-)
Есть конкретные предложения?
Ruslan Juldashev
08.05.2009, 09:37
Есть конкретные предложения?
Самое простое, непрограммистское решение в шаблоне поста в вызове функции Insert поставить двойные кавычки, а не одинарные. Тогда внутреннее содержимое с одинарной кавычкой будет нормально вставляться (но не будут вставляться имена с двойными кавычками, гггг, впрочем таких, кажется, не бывает)
<a title="Выделить текст и кликнуть здесь" onmouseover="catchSelection()" href="javascript:Insert("Djalola'tdin%20Rakhimov",%20selection,%20'215788')">Цитата выделенного</a>
Программистским решением будет в том же шаблоне вывода поста, в той же функции, в выводе имени, заменить опасные символы на мнемоники или добавить слеши перед ними:
$username = htmlspecialchars ($username, ENT_QUOTES);
или
$username = addslashes ($username);
Ruslan Juldashev
08.05.2009, 10:00
А вот чтобы в опере кириллица нормально работала нужно событие вызова функции Insert поставить не в href, а на onclick (это не я придумал, а видел где-то уже подобный фикс). Там нюанс в том, что опера кодирует кириллический «адрес» (прописанный в href) в UTF-8. Если бы страничка форума была в юникоде, всё было бы нормально.
это не я придумал, а видел где-то уже подобный фикс
В который раз я вижу рок-н-ролл ты меня разочаровываешь :).
vBulletin® v3.8.5, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot