Патчи для версии 3.00
. Редактировалось 1 раз, последний — #12
Обновил дистрибутив (и сделал скрипт для его сборки под Linux вместо bat-файла). Кроме встраивания перечисленных выше патчей исправил мелкую, но неприятную ошибку с редиректом при входе в АЦ. Также проверил корректность работы под PHP 7.
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
+1000 тебе в карму. Вот так должен вести себя настоящий серьёзнвй разработчик.
Всё, что мне известно о PHP-меня научил 4X_Pro
Опрос пользователей о деятельности _1_ http://intbpro.ru/flood/119/
Исправление ошибки с отсутствием значков разделов новых сообщений на главной (о ней писал aerograf в одной из соседних тем): в файле modules/mainpage.php находим вот эту строку (у меня она 43):
и меняем на
if (!$this->is_guest()) foreach ( $forums as $curforum ) {
и меняем на
if (!$this->is_guest()) foreach ( $forums as &$curforum ) {
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
Исправление ошибки с постоянно выделенными обновившимся разделами: в файле app/forum.php находим функцию init_last_visit и в ней исправляем:
на
(т.е. visit1 на visit2, иначе условие никогда не выполняется, из-за чего и возникает проблема).
$sql = 'UPDATE '.DB_prefix.'last_visit SET visit2=IF(visit1<'.$lasttime.',visit1,visit2), visit1='.$curtime.
' WHERE uid='.intval($this->get_uid()).' AND (((oid='.intval($this->forum['id']).' OR oid=0) AND type="forum")'; // одновременно обновляем и для текущего раздела, и для форума в целом (записи с fid=0)
if (!empty($this->topic)) $sql.=' OR (oid='.intval($this->topic['id']).' AND type="topic"))';
на
$sql = 'UPDATE '.DB_prefix.'last_visit SET visit2=IF(visit2<'.$lasttime.',visit1,visit2), visit1='.$curtime.
' WHERE uid='.intval($this->get_uid()).' AND (((oid='.intval($this->forum['id']).' OR oid=0) AND type="forum")'; // одновременно обновляем и для текущего раздела, и для форума в целом (записи с fid=0)
if (!empty($this->topic)) $sql.=' OR (oid='.intval($this->topic['id']).' AND type="topic"))';
(т.е. visit1 на visit2, иначе условие никогда не выполняется, из-за чего и возникает проблема).
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
Исправление ошибки с YouTube:
в файле lib/bbcode.php ищем строку (у меня это 141):
и заменяем на
Кроме этого, тут также исправлена ошибка некорректной обработки минусов в адресах роликов (не знал, что они там встречаются).
Исправленный файл прилагается.
в файле lib/bbcode.php ищем строку (у меня это 141):
self::$ext_search[]='|\[youtube\]http://youtu.be/([A-Za-z0-9_]+)\[/youtube\]|'; self::$ext_replace[]='<iframe width="560" height="315" src="//www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>';
и заменяем на
self::$ext_search[]='|\[youtube\](http://youtu.be/)?([A-Za-z0-9_\-]+)\[/youtube\]|'; self::$ext_replace[]='<iframe width="560" height="315" src="//www.youtube.com/embed/$2" frameborder="0" allowfullscreen></iframe>';
Кроме этого, тут также исправлена ошибка некорректной обработки минусов в адресах роликов (не знал, что они там встречаются).
Исправленный файл прилагается.
Прикрепленные файлы:
- bbcode.php (24 Кб)
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
Еще одно небольшое исправление: в ЛС в списке тем выводится разбиение на страницы, но при просмотре самой темы в ЛС я решил от него отказаться, вместо этого сделав вывод сообщений за определенный период (сутки, неделя и т.п.). В результате эти ссылки приводят к ошибке 404. Чтобы исправить, нужно из файла modules/privmsg.php убрать строки
и из файла template/def/privmsg/th_item.tpl вот это:
Исправленные версии файлов прикладываю.
$tperpage = $this->get_opt('topics_per_page','user'); // берем из настроек пользователя
if (!$tperpage) $tperpage = $this->get_opt('topics_per_page'); // берем из настроек сайта в целом
if (!$tperpage) $tperpage = 10; // если ниоткуда не получилось взять кол-во тем на странице, берем жестко закодированное значение во избежание деления на ноль
for ($i=0, $count=count($this->out->threads); $i<$count; $i++) {
$tpages['total']=$this->out->threads[$i]['total'];
$tpages['perpage']=$tperpage;
$tpages['page']=NULL; // никакую страницу не надо показывать как выделенную
$this->out->threads[$i]['pages']=$this->get_pages($tpages,false,false);
}
и из файла template/def/privmsg/th_item.tpl вот это:
{{ macros.pages(item.pages,item.t_hurl,1) }}
Исправленные версии файлов прикладываю.
Прикрепленные файлы:
- privmsg.php (20 Кб)
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
И второй файл — th_item.tpl.
Прикрепленные файлы:
- th_item.tpl (569 байтов)
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
Небольшое усовершенствование индекса для более быстрого вывода списка тем:
ALTER TABLE intb_topic DROP INDEX forum, ADD INDEX forum(fid,status,sticky,first_post_id DESC);
В случае, если IntB устанавливался не с intb_, а с другим префиксом таблиц, нужно внести соответствующие изменения в intb_topic.
ALTER TABLE intb_topic DROP INDEX forum, ADD INDEX forum(fid,status,sticky,first_post_id DESC);
В случае, если IntB устанавливался не с intb_, а с другим префиксом таблиц, нужно внести соответствующие изменения в intb_topic.
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
. Редактировалось 2 раза, последний — #20
Исправление мелкой ошибки, из-за которой иногда дважды выводился один и тот же раздел на главной: в файле modules/mainpage.php найти строку
и привести ее к виду
В приложении — исправленная версия файла.
foreach ($forums as $curforum ) {
и привести ее к виду
foreach ($forums as &$curforum) {
В приложении — исправленная версия файла.
Прикрепленные файлы:
- mainpage.php (8202 байта)
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
У вас нет прав для отправки сообщений в эту тему.