О запуске форума |
|
1
|
03.01.15 00:55
fe57
|
О запуске форума
Этот разговор с самим собой планируется полезным мне в будущем. Когда забуду, как запускать форум, а будет нужно. Если окажется полезным кому-то ещё, буду рад.
Во-первых, выражаю искреннюю благодарность автору форума, авторство и ссылки указаны в самом низу странички. Это один из немногих движков, который запустился в моих неопытных руках, и единственный понравившийся. О php наслышан как и все, но не более. Про SQL, его разновидности, про то что он требуется для большинства движков форумов - узнал позавчера, а также узнал, что в моём тарифном плане хостинга не предусмотрена работа с базами данных. Попробовав несколько txt-форумов, остановился на этом.
|
|
|
03.01.15 00:56
fe57
|
Re: О запуске форума
Всё произошло отлично, но есть одна тонкость, которая может отнять немало времени или просто огорчить. Это отображение кириллицы, а также unicode-символов. Вместо них отображалась комбинация &#-код, и написать что-либо нелатинницей было невозможно. После поиска места, где хранятся посты и сообщения, было обнаружено, что в префиксе unicode-символов &# символ & заменяется комбинацией & amp; (пробел вставлен нарочно, иначе парсер преобразует всю комбинацию в обычный амперсанд). Ручная правка содержимого файлов данных форума сделала возможным написать кириллические символы таким хитрым образом и подтвердила догадку - при сохранении данных форума сообщения ошибочно парсятся дважды, отчего и происходит замена амперсанда в уже сформированных html-кодах unicode.
|
|
|
03.01.15 01:00
fe57
|
Re: О запуске форума
Обзор интернетов привёл к следующей страничке: http://php.net/manual/ru/function.htmlentities.php. Здесь написано, что для избежания досадного эффекта кодирования уже закодированных символов в версии PHP 5.2.3 и выше для функции htmlentities(..) введён дополнительный булевый аргумент double_encode, явно разрешающий или запрещающий перекодирование. В движке форума функция htmlentities(..) имеет лишь один аргумент, и встречается эта функция в трёх местах:
\pm.php \post.php \include\functions.php
Решением проблемы стала замена
на
в этих трёх файлах во всех местах где есть вызов htmlentities(..). Всё заработало как нужно.
Ещё небольшой момент, которого не нашлось в инструментах администратора и который пришлось доделать вручную. Попав на форум, пользователь может пожелать сходить на корневой сайт. И огорчиться, не найдя лёгкого пути. Для этого логотип сайта обложен ссылкой на уровень вверх, в файле \styles\bluelight\top.html вот так:
|
|
|
03.01.15 01:10
57fe Administrator
|
Re: О запуске форума
В процессе написания поста обнаружилась ещё одна проблема. Неверно считается число оставшихся для написания поста символов при использовании кириллицы. Считаются символы в редакторе, а при попытке запоститься считаются символы после html-unicode-энкодера, которых уже в 5-6 раз больше. В результате написанный пост не влез в одно сообщение, хотя движок форума говорил мне о неизрасходованных более чем 2000 символов из доступных 5000. Как временное решение проблемы - изменил лимит числа символов сообщения с 5000 на 50000. При этом теперь 1 пишем, 5-6 в уме.
|
|
|
|
1
|