Страниц (200): В начало « ... 60 61 62 63 [64] 65 66 67 68 ... » В конец
Найдено сообщений: 2986 |
yura3d |
Отправлено: 12 июля 2010 — 15:07 • Тема: Дополнение: Расширенный редактор сообщений (Beta) • Форум: Модификации и дополнения |
Ответов: 225 Просмотров: 0
|
Решил-таки по многочисленным просьбам выложить новый редактор сообщений, который уже в течение полугода установлен на этом форуме. Сразу предупреждаю, это бета-версия, которая до этого обкатывалась всего на нескольких форумах (включая наш форум поддержки), поэтому возможны некоторые нюансы в работе.
Краткое описание (Отобразить)Обновлённый редактор сообщений позволит придать Вашему форуму более эстетичный вид за счёт использования графических иконок вместо стандартных кнопок для вставки бб-кодов. Степень удобства в использовании теперь также на высоте. При вставке бб-кода курсор автоматически устанавливается в место ввода текста, при выделении фрагмента текста и применении к нему бб-кода выделение не пропадает, что позволяет Вам быстро применить несколько бб-кодов к одному и тому же фрагменту текста без необходимости его повторного выделения. Теперь Ваши пользователи могут не запоминать порядок следования данных для того или иного бб-кода благодаря удобной системе запросов-подсказок. Присутствует виртуальная кириллическая клавиатура, что, несомненно, удобно для иностранных посетителей. Решены проблемы с неверным позиционированием курсора в браузерах на движке Gecko (Firefox, Konqueror и т.д.)
Установка (Отобразить)Скрытый текст:Для просмотра Вам необходимо авторизоваться и оставить не менее 2 сообщений
Обновления (последнее 23.11.2010) (Отобразить)- 23.11.2010 (уже включено в инструкцию по установке). Если Вы устанавливали расширенный редактор сообщений ранее этой даты, рекомендуется установить исправление по данной инструкции
Перспективы (Отобразить)В ближайшем будущем планируется:
- отказаться от использования браузерных запросов (prompt'ов) в пользу более удобных всплывающих подсказок (в частности, это решит некоторые проблемы при работе с буфером обмена);
- реализовать кнопки бб-кодов выравнивания текста;
- применить WYSIWYG-подход для формы редактора сообщений с возможностью переключения в обычный режим.
Дополнение от 30.01.2011. Реализация кнопок выравнивания текста по левому/правому краю и по центру. Инструкция здесь
Как обычно, пожелания и замечания оставляйте в этой теме |
yura3d |
Отправлено: 12 июля 2010 — 13:37 • Тема: Запрет на вставку чужого сайта во фрейм • Форум: HTML |
Ответов: 2 Просмотров: 0
|
bruno пишет:Как это делается?
Делается одной строчкой кода. Проверяется кол-во фреймов на исходной странице, и если оно отлично от 0, значит текущая страница (страница Вашего сайта) является составной по отношению к исходной (в рамках фреймовой структуры), и далее выполняется редирект на текущую страницу
Вот пример такой страницы на нашем сервере: http://way-s.ru/go.php?http://exbb.info/test.htm
А вот её исходник:
CODE:<script>
if((self.parent&&!(self.parent===self))&&(self.parent.frames.length!=0)){self.parent.location=document.location}
</script>
Эта страница вылетает из фрейма
Для защиты Ваших страниц вставьте первые 3 строки на Ваши страницы (желательно это сделать в заголовках страниц - head) |
yura3d |
Отправлено: 12 июля 2010 — 13:11 • Тема: Вопросы по JavaScript • Форум: JavaScript |
Ответов: 93 Просмотров: 0
|
Александр Михалицын пишет:Событие как ставишь? attachEvent/addEventListener?
По правде говоря, у меня реализовано несколько проще. Если немного углубиться в подробности, то есть некоторый span, который доступен для редактирования пользователями (атрибут contentEditable):
CODE:<span contentEditable="true" onKeyDown="mykeydown(event);">Тут текст</span>
Далее следует фунция-обработчик:
CODE:function mykeydown(event) {
if (!event) event = window.event;
if (event.keyCode == 13)
event.returnValue = false;
}
Этот способ работает в IE (по крайней мере в 6-ой его версии)
Проблема в том, что при редактировании текста в span'е в случае нажатия Enter, происходит полная ерунда. IE6 начинает заключать строки в теги <p></p>, в результате чего осуществляется переход не на одну, а на две строки (мне же нужен <br>). В Опере 9 span'ы почему-то начинают размножаться с каждым нажатием Enter. В Опере 10 похожая ситуация
Задача в том, чтобы перехватывать нажатие Enter и не позволять исполняться родительским обработчикам, которые творят эту ерунду. Достаточно будет лишь в дочернем обработчике добавить <br> в span (например, посредством innerHTML)
Сейчас ещё подумал. Ведь текст может быть вставлен и из буфера обмена, и при этом в нём могут быть переходы на новую строку. Видимо, весь алгоритм нужно свести к такой последовательности: сначала получаем обновлённый текст, выполняем необходимые преобразования, а затем отправляем его стандартным обработчикам |
yura3d |
Отправлено: 12 июля 2010 — 10:51 • Тема: Свой стиль для ссылки активной страницы • Форум: PHP/Perl |
Ответов: 7 Просмотров: 0
|
Приведу сообщение Defenderyk из переписки в аське:
Defenderyk пишет:видел такой пример:
CODE:<a href="&op=3"'.(isset($_GET['op']) && $_GET['op'] == 3 ? ' class="current"' : '').'>Счетчики</a>
т.е находясь на странице op=3 ссылка определяется со стилем current
но вот как применить такое же к обычным страницам а-ля index.php и т.д
Применить возможно, но всё же это будет несколько костыльный (временный) вариант, который нежелательно использовать в случае, если ссылок довольно много. Вот пример ссылки на некоторый файл (пусть им будет, например, counters.php):
CODE:<a href="counters.php"'.(basename($_SERVER['PHP_SELF']) == 'counters.php' ? ' class="current"' : '').'>Счетчики</a>
Светлана пишет:По уму это делается ява-скриптом.
Всё верно. Вообще генерация имён стилей на уровне сервера - признак нехорошего тона, обычно к такому способу прибегают лишь в тех случаях, когда по-другому решить задачу нельзя (например, в случае с чередованием фона в табличных списках). Задача же с меню (навигацией) универсальнее реализуется на JS, поскольку в этом случае отпадают некоторые нюансы, такие как особенности шаблонизатора и т.п. |
yura3d |
Отправлено: 6 июля 2010 — 16:04 • Тема: Косметические доработки форума • Форум: Настройка форума |
Ответов: 222 Просмотров: 0
|
doxx пишет:возможно ли как-то проще удалить все сообщения 1 пользователя? кроме как вручную каждое искать?
На данный момент нет. Подобные ограничения на манипуляцию большим объёмом данных - один из недостатков файлового ядра
Jafar пишет:Можно ли сделать, чтобы темы разрезались не администратором, а другим пользователем?
Что значит разрезались? Вы имеете в виду автоматическое закрытие форумом больших тем и открытие их продолжений, или что-то другое? |
yura3d |
Отправлено: 6 июля 2010 — 15:57 • Тема: Мод: Переход по внешним ссылкам через редирект • Форум: Модификации и дополнения |
Ответов: 257 Просмотров: 0
|
alexx
Во-первых, для правильной работы мода сначала нужно установить первоначальную версию мода по инструкции из спойлера в первом сообщении темы, а затем установить обновление от 09.06.2009 (ссылка на него приведена там же)
alexx пишет:оставил как написано под Спойлером и выдало такую ошибку.
Иногда такое может быть, если форум установлен в корне домена. Вы сначала установите полностью модуль, а далее уже будем разбираться с данной проблемой |
yura3d |
Отправлено: 5 июля 2010 — 19:12 • Тема: Проекту нужен дизайнер/верстальщик шаблонов • Форум: Новости |
Ответов: 48 Просмотров: 0
|
Дмитрий Полюхов пишет:Вот так?
Не знаю, мне вообще почему-то кажется, что аббревиатуры EX вполне достаточно. Поскольку она имеет свой стиль, то она имеет все шансы быть узнаваемой, ассоциируемой с данным проектом. В отличии от набранных стандартным шрифтом "Bulletin board". Если и оставлять эти надписи, то надо как-то постараться объединить их идейно с основным логотипом. Вот, например, как было сделано здесь
З.Ы. Всё описанное выше - сугубо имхо |
yura3d |
Отправлено: 5 июля 2010 — 19:01 • Тема: Мод: Чат на форуме (Beta) • Форум: Модификации и дополнения |
Ответов: 316 Просмотров: 0
|
mod пишет:Опера 10.60, не работает прокрутка после добавления нового сообщения пользователем.
Zeg пишет:Подтверждаю. Так и есть. Сообщения появляются ниже окна, но скроль всего текста вверх не происходит.
Да уж, что-то крутят разработчики Оперы со своим JS-движком в последнее время. Может оно и к лучшему, т.к., судя по моим наблюдениям, поведение JS-движка во многом унифицируется с IE/Firefox. Однако теряется обратная совместимость со старыми версиями Оперы.
Исправление прокрутки сообщений в Opera 10.60 (Отобразить)Для исправления проблемы с прокруткой в Опере 10.60 нужно проделать следующие изменения. Откройте файл modules/chat/javascript/chat_yura3d.js, найдите фрагмент:
и замените его фрагментом:
CODE:var isOldOpera, messages, msg,
Далее в этом же файле найдите строку:
CODE: messages = document.getElementById('messages');
и над ней вставьте строки:
CODE: var newOperaVer;
isOldOpera = isOpera && (parseFloat(navigator.appVersion) < 9.8 || (newOperaVer = navigator.userAgent.match(/Version\/([0-9\.]+)/i)) != null && newOperaVer[1] < 10.60);
И, наконец, в этом же файле найдите строки:
CODE: if (start || !scroll && (isOpera && (end == chat.height || height <= 300 && messages.scrollHeight > 300) ||
!isOpera && (end == chat.height + 10 || height <= 310 && messages.scrollHeight > 310))) {
и замените их строками:
CODE: if (start || !scroll && (isOldOpera && (end == chat.height || height <= chat.height && messages.scrollHeight > chat.height) ||
!isOldOpera && (end == chat.height + 10 || height <= chat.height + 10 && messages.scrollHeight > chat.height + 10))) {
На этом всё
Данное исправление решает также проблему с прокруткой сообщений в том случае, если в настройках чата (в админке) выставлена высота окна с сообщениями, отличная от значения по-умолчанию (300 пикс) |
yura3d |
Отправлено: 5 июля 2010 — 12:38 • Тема: Дополнение: Каптча на странице восстановления пароля • Форум: Модификации и дополнения |
Ответов: 13 Просмотров: 0
|
В последнее время на нашем форуме стали появляться случаи использования системы восстановления забытого пароля не по назначению. В частности, речь идёт о имевших в последнее время место, множественных попытках восстановления пароля одного и того же или нескольких пользователей, из-за чего пользователям приходило большое число писем, сгенерированных форумом, с соответствующими инструкциями по активации нового пароля. Установлено, что подобные попытки производились до нескольких раз в секунду (возможно, с использованием бота), при этом задействовались китайские прокси-серверы
Для того, чтобы Вы, наши уважаемые пользователи, не сталкивались с подобной проблемой на своих форумах, предлагаю установить на странице восстановления пароля каптчу. Реализовать это очень просто
Реализация каптчи на странице восстановления пароля (Отобразить)Откройте файл profile.php, найдите строки:
CODE: /*if ($fm->input['captcha'] == '' || !isset($_SESSION['captcha']) || $fm->input['captcha'] !== $_SESSION['captcha']) {
$fm->_Message($fm->LANG['SendPassTitle'],$fm->LANG['CaptchaError']);
}*/
и замените их строками:
CODE: if ($fm->exbb['anti_bot'] === TRUE && ($fm->_String('captcha') == '' || !isset($_SESSION['captcha']) || $fm->input['captcha'] !== $_SESSION['captcha'])) {
$fm->_Message($fm->LANG['SendPassTitle'],$fm->LANG['CaptchaError']);
}
Теперь откройте файл templates/ваш_скин/send_pass.tpl, найдите строки:
CODE: <tr>
<td class="profilleft"><b>{$fm->LANG['EnterYouName']}</b></td>
<td class="profilright"><input type="text" style="width: 200px" size="35" maxlength="35" name="membername"></td>
</tr>
<tr>
<td class="profilleft"><b>{$fm->LANG['ReSendPass']}</b></td>
<td class="profilright"><input type="checkbox" name="resend" value="yes"> <span class="desc">{$fm->LANG['ReSendPassDesc']}</span></td>
</tr>
и замените их строками:
CODE: <tr>
<td class="profilleft"><b>{$fm->LANG['EnterYouName']}</b></td>
<td class="profilright"><input type="text" style="width: 200px" size="35" maxlength="35" name="membername"></td>
</tr>
FORM;
if ($fm->exbb['anti_bot'] === TRUE) {
echo <<< FORM
<tr>
<td class="profilleft"><b>{$fm->LANG['CaptchaCode']}</b><br /><span class="desc">{$fm->LANG['CaptchaBroken']}</span></td>
<td class="profilright"><img src="regimage.php" border="0" alt="captcha"></td>
</tr>
<tr>
<td class="profilleft"><b>{$fm->LANG['CaptchaСonfirm']}</b><br /><span class="desc">{$fm->LANG['CaptchaNote']}</span></td>
<td class="profilright"><input type="text" style="width: 130px" name="captcha" size="13" maxlength="10"></td>
</tr>
FORM;
}
echo <<<FORM
<tr>
<td class="profilleft"><b>{$fm->LANG['ReSendPass']}</b></td>
<td class="profilright"><input type="checkbox" name="resend" value="yes"> <span class="desc">{$fm->LANG['ReSendPassDesc']}</span></td>
</tr>
Каптча будет выводиться при условии, что в админке включена данная функция (страница Безопасность, пункт Активировать защиту от регистрации ботов?)
Все Ваши предложения и замечания оставляйте в этой теме |
yura3d |
Отправлено: 5 июля 2010 — 11:08 • Тема: Восстановление старых версий форума после обнуления • Форум: Решение проблем |
Ответов: 48 Просмотров: 0
|
Defenderyk пишет:т.е после пересчета происходит перезапись файла data/users.php?
Да, разумеется. Это необходимо для восстановления пользователей, которые по каким-либо причинам пропали из списка. Соответственно, функция пересчёта пользователей восстанавливает их в списке по данным из файлов профилей в папке members. Кстати, именно с некоторыми ошибками функции пересчёта связано одно из критических обновлений, оно должно быть установлено в обязательном порядке
Defenderyk пишет:эти два файла теперь имеют один и тот же ник...
Одного нужно удалить или сменить ник. В противном случае нельзя будет войти на форум под той учётной записью, которая имеет больший номер (id) |
yura3d |
Отправлено: 4 июля 2010 — 20:17 • Тема: Восстановление старых версий форума после обнуления • Форум: Решение проблем |
Ответов: 48 Просмотров: 0
|
Defenderyk пишет:правда этот новый зарегенный 3873 не может авторизоваться почему то. т.е ни тот, который был до этого 3873, ни тот который им теперь заменился
В списке пользователей он отображается? Если лень искать по самому списку, можно пробить по нику или по e-mail в админке. Или посмотреть в файле списка пользователей data/users.php. Скорее всего, именно в списке и проблема. Видимо файлы профилей в папке members присутствуют, а сами профили в списке не прописаны. А поскольку id присваивается новому пользователю на основании информации из файла списка пользователей, то происходит перезапись старых профилей новыми |
yura3d |
Отправлено: 3 июля 2010 — 22:16 • Тема: Восстановление старых версий форума после обнуления • Форум: Решение проблем |
Ответов: 48 Просмотров: 0
|
Defenderyk
Прав vipraskrutka. Присваиваемый пользователю номер (id) зависит от числа регистраций, а не от кол-ва зарегистрированных пользователей. В противном случае возможны были бы некоторые проблемы. Например, присваивание сообщений удалённого пользователя новому и т.п. |
|
Страниц (200): В начало « ... 60 61 62 63 [64] 65 66 67 68 ... » В конец
|