1 (26.10.2010 02:19 отредактировано KANekT)

Тема: [Релиз] Шапка топика

Позволяет пользователям выделить первый пост и показывать его на каждой странице.

Версия расширения 0.2.6

Ссылки:
SVN kanekt-punbb.googlecode.com/svn/f_post/
АРХ kanekt-punbb.googlecode.com/file … _0.2.6.zip

Сайт KANekT

Поделиться

2

Re: [Релиз] Шапка топика

Вот бы ещё выделять его как-нибудь...

Поделиться

3

Re: [Релиз] Шапка топика

в стилях есть что-то типо first-topic
так что выделить не будет думаю особо проблемы

может кто знает как лучше написать запрос выбора первого сообщения)

Сайт KANekT

Поделиться

4 (21.01.2010 13:03 отредактировано Ghost)

Re: [Релиз] Шапка топика

Я как-то так и делал бы. Или сделать отдельным запросом и отдельно выводить. А то как-то страшненько вышло smile

А зачем здесь лишний раз выбирается id первого поста в теме?

                $where1 = 'select id from '.$forum_db->prefix.'posts where topic_id='.$id.' limit '.$forum_page['start_from'].',1';
                $query['WHERE'] .= ' and (p.id=t.first_post_id or (p.id >= ('.$where1.') '.$where2.'))';
    

Добавлено спустя 10 минут 46 секунд:

Поставил в профиле 5 сообщений на страницу и получил ошибку:
Notice: Undefined offset: 1 in F:\www\htdocs\punbb13\viewtopic.php(298) : eval()'d code on line 67

Добавлено спустя 13 минут 58 секунд:

Всё-таки, мне кажется, лучше было бы в vt_qr_get_posts сделать отдельную выборку и вывод, а не цепляться к существующей выборке.

Поделиться

5 (21.01.2010 21:36 отредактировано KANekT)

Re: [Релиз] Шапка топика

Ghost пишет:

А зачем здесь лишний раз выбирается id первого поста в теме?

Если ты про $where1 то это выбирается номер последнего сообщения на странице. Выборку с помощью limit не возможно сделать...

Ghost пишет:

Поставил в профиле 5 сообщений на страницу и получил ошибку:
Notice: Undefined offset: 1 in F:wwwhtdocspunbb13iewtopic.php(298) : eval()'d code on line 67

Исправлено в 0.2.1
code.google.com/p/kanekt-punbb/s … nifest.xml

Ghost пишет:

vt_qr_get_posts сделать отдельную выборку и вывод

то есть ?
запрос 1 поста, а потом как его придепить к массиву остальных элементов?
в 0.1.0 версии я сделал выборку первого сообщения и приделывал его к каждой странице, но потребовался доп хук которого нет в виевтопике... да и получилось очень громоздко.

Сайт KANekT

Поделиться

6

Re: [Релиз] Шапка топика

Ставлю закрепление сообщений в теме на 10 страниц, при попытке перехода на любую из страниц кроме первой выдаёт ошибку:

An error was encountered

The error occurred on line 297 in /var/www/vhosts/arsamania.ru/httpdocs/forum/viewtopic.php

Database reported: Not unique table/alias: 't' (Errno: 1066).
PunBB.Ru ☭

Сайт nobody

Поделиться

7 (23.01.2010 12:03 отредактировано KANekT)

Re: [Релиз] Шапка топика

очень странно в хуке vt_qr_get_posts прописан алиас  t

                $query['JOINS'][] = array(
                'INNER JOIN'    => 'topics AS t',
                'ON'            => 't.id=p.topic_id'
                );

Есть еще расширения на форуме которые так же используют этот хук?
возможно в них уже есть такой JOINS запрос

Сайт KANekT

Поделиться

8

Re: [Релиз] Шапка топика

nobody, включи в конфиг

define('FORUM_SHOW_QUERIES',1);

Сайт hcs

Поделиться

9 (24.01.2010 22:45 отредактировано KANekT)

Re: [Релиз] Шапка топика

Версия 0.2.2
Оптимизация запроса...
code.google.com/p/kanekt-punbb/s … nifest.xml
Сразу что-то в голову не пришло sad - сделать лимитом, а не замарачиваться с последним постом.

Сайт KANekT

Поделиться

10

Re: [Релиз] Шапка топика

Версия 0.2.2, с включенным SHOW_QUERIES:

An error was encountered

The error occurred on line 297 in /var/www/vhosts/arsamania.ru/httpdocs/forum/viewtopic.php

Database reported: Not unique table/alias: 't' (Errno: 1066).

Failed query: SELECT u.email, u.title, u.url, u.location, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online, u.html_user, u.html_user_display, u.thanks as uThanks, p.thanks as pThanks, t.id as tId FROM foo_posts AS p INNER JOIN foo_users AS u ON u.id=p.poster_id INNER JOIN foo_groups AS g ON g.g_id=u.group_id LEFT JOIN foo_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) LEFT JOIN foo_thanks AS t ON (t.user_thanked_id=2 and p.id=t.post_id) INNER JOIN foo_topics AS t ON t.id=p.topic_id WHERE p.topic_id=215 and (p.id=t.first_post_id or p.id>=(select id from foo_posts where topic_id=215 limit 135, 1)) ORDER BY p.id LIMIT 16

Включены расширения: Admin add user, Antispam System, BBCode buttons, Birthdays, DL HTML user, Events registration, Fancy Nick to Form, Improved online list, jquery, JS post quote, MP3 Player, Private Messaging, Pun Admin Manage Extensions Improved, Pun Move Posts, PunBB AnyCode Hook Manager, PunBB Repository, PunBB Twiter, Sitemap Generator, thanks, Topic title on forum index, VideoTag.

ЗЫ: Ужаснулся количеству работающих расширений smile

Добавлено спустя 5 минут 17 секунд:

Пробовал отключать DL HTML user, Fancy Nick to Form, JS post quote, MP3 Player - никакого эффекта.

PunBB.Ru ☭

Сайт nobody

Поделиться

11 (25.01.2010 12:12 отредактировано KANekT)

Re: [Релиз] Шапка топика

Мой косяк) LEFT JOIN foo_thanks AS t
надо расширение Спасибо менять... )
на днях перепишу smile

Сайт KANekT

Поделиться

12 (26.01.2010 11:53 отредактировано Ghost)

Re: [Релиз] Шапка топика

KANekT пишет:
Ghost пишет:

vt_qr_get_posts сделать отдельную выборку и вывод

то есть ?
запрос 1 поста, а потом как его придепить к массиву остальных элементов?
в 0.1.0 версии я сделал выборку первого сообщения и приделывал его к каждой странице, но потребовался доп хук которого нет в виевтопике... да и получилось очень громоздко.

Да. Но не прикреплять к массиву, а выводить вообще отдельно. И вынести в отдельный functions.php, наверное. Зато не будет таких проблем с запросами smile
Не знаю, правда, какой вариант лучше будет из соображений производительности...

Поделиться

13

Re: [Релиз] Шапка топика

0.2.3
Исправление бага с неотображением некоторых постов.

Сайт KANekT

Поделиться

14

Re: [Релиз] Шапка топика

спасибо, работает
единсвенное что заметил номер сообщения(который в правом верхнем углу) стоит порядковый а не 1 или это только у меня?

Сайт extraterrestrial

Поделиться

15

Re: [Релиз] Шапка топика

ну да вроде у всех.
Так сильно мешает?

Сайт KANekT

Поделиться

16

Re: [Релиз] Шапка топика

не мешает, просто не понятно с первого взгляда что это шапка темы
вот если бы сообщение отделялось маленькой строчкой или цифра там один стояла...

Сайт extraterrestrial

Поделиться

17

Re: [Релиз] Шапка топика

йа подумаю над этим... в ближайшее время smile

Сайт KANekT

Поделиться

18

Re: [Релиз] Шапка топика

Первый пост выделяется цифрой 1.
kanekt-punbb.googlecode.com/file … _0.2.4.zip

Сайт KANekT

Поделиться

19

Re: [Релиз] Шапка топика

спасибо

Сайт extraterrestrial

Поделиться

20

Re: [Релиз] Шапка топика

Исправлен баг с первой цифрой.
цифра 1 ставилась везде - не зависимо от выделен пост или нет.
на первой странице было две цифры 1.
kanekt-punbb.googlecode.com/file … _0.2.5.zip

Сайт KANekT

Поделиться

21

Re: [Релиз] Шапка топика

А можно галку по дефолту установленной?

Сайт hcs

Поделиться

22

Re: [Релиз] Шапка топика

Не понимаю для чего это нужно в общем расширении...

Настраивать ее в Админ панели? или чтобы при установке была сразу ?

Можно конешно сделать Выбор форума и чтобы она была тама влюченной...

Сайт KANekT

Поделиться

23

Re: [Релиз] Шапка топика

hcs пишет:

А можно галку по дефолту установленной?

В принципе никто не мешает исправить инталлер

$forum_db->add_field('topics', 'post_show_first_post', 'INT(10)', false, 0);

на

$forum_db->add_field('topics', 'post_show_first_post', 'INT(10)', false, 1);

Добавлено спустя 56 секунд:

или я не совсем понял вопрос...

Сайт KANekT

Поделиться

24

Re: [Релиз] Шапка топика

Все правильно понял, мог бы и сам догадаться smile

Сайт hcs

Поделиться

25

Re: [Релиз] Шапка топика

0.2.6
Поддержка [Релиз] Fancy Fast PunBB

Сайт KANekT

Поделиться