Перейти к контенту

[3.0.x]Важные сообщения (pinposts)


Гость

Рекомендуемые сообщения

index.php?app=downloads&module=display&section=screenshot&id=212

Название: Важные сообщения (pinposts)

Добавил: LastDragon

Добавлен: 26 Ноя 2009

Обновлен: 27 Ноя 2009

Категория: IP.Board 3.0.x

 

Данный хук (hook) позволяет прикреплять сообщения в темах форума.

 

Распространяется под лицензией GNU General Public License v3 (GPL).

 

Офф. сайт

 

ВАЖНО: при удалении хука IPB удаляет внесенные в таблицы изменения, а это значит, что информация о прикреплённых сообщениях тоже будет удалена.

 

Нажмите здесь, чтобы скачать файл

Ссылка на комментарий
Поделиться на других сайтах

Вроде работает нормально, единственное. что не нашел, так это настройки по нему :D Не может же быть, что настроек вообще нет никаких )
Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...
Права группам нужны.

 

Они есть - с.м. возможности модераторов для каждого форума - вместо "Может закреплять темы" стало "Может закреплять темы/сообщения".

Ссылка на комментарий
Поделиться на других сайтах

ВАЖНО: при удалении хука IPB удаляет внесенные в таблицы изменения, а это значит, что информация о прикреплённых сообщениях тоже будет удалена.
тоесть при удалении хука посты прикрепленные будут удалены7
Ссылка на комментарий
Поделиться на других сайтах

ВАЖНО: при удалении хука IPB удаляет внесенные в таблицы изменения, а это значит, что информация о прикреплённых сообщениях тоже будет удалена.
тоесть при удалении хука посты прикрепленные будут удалены7

 

Не совсем - будет удалена только информация о прикрепленных постах, сами посты останутся.

Ссылка на комментарий
Поделиться на других сайтах

Права группам нужны.

 

Они есть - с.м. возможности модераторов для каждого форума - вместо "Может закреплять темы" стало "Может закреплять темы/сообщения".

 

 

Установлено, вроде все пучком. В чем-то даже лучше чем было двойке, смотрим в работе! (3.0.5)

 

Спасибо за мод! :D

Ссылка на комментарий
Поделиться на других сайтах

по поводу tcom-овского "все пучком" ;))

ну не совсем, есть такое дело, что когда заходишь в тему с прикрепленным постом, по кнопочке "последнее непрочитанное сообщение" - выкидывает на страничку без номера, где есть только прикрепленный пост.

мелочь, конечно, но не оч радует. :D

Ссылка на комментарий
Поделиться на других сайтах

ну не совсем, есть такое дело, что когда заходишь в тему с прикрепленным постом, по кнопочке "последнее непрочитанное сообщение" - выкидывает на страничку без номера, где есть только прикрепленный пост.

мелочь, конечно, но не оч радует. :D

 

Принято - после праздников посмотрю в чем проблема.

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
по поводу tcom-овского "все пучком" ;))

ну не совсем, есть такое дело, что когда заходишь в тему с прикрепленным постом, по кнопочке "последнее непрочитанное сообщение" - выкидывает на страничку без номера, где есть только прикрепленный пост.

мелочь, конечно, но не оч радует. :D

 

А если в топике нет поднятых этим модом сообщений? :)

Ссылка на комментарий
Поделиться на других сайтах

хук не совместим с редиректом внешних ссылок от ритцуки

Правильнее: "редирект внешних ссылок от ритцуки не совместим с этим хуком", т.к. "редирект" содержит ошибку в названии класса из-за чего ломает всю цепочку наследования (т.е. с ним остальные хуки тоже не будут работать).

 

Ссылки по теме:

* Как исправить редирект

* Почему так происходит

Изменено пользователем LastDragon
Ссылка на комментарий
Поделиться на других сайтах

  • 6 месяцев спустя...

Доброе времени суток!

Хотелось бы уточнить - работает ли данная полезная и нужная модификация(хук) - на версии IPB 3.1.* ?

Проверял ли кто-нибудь, и если не работает - планируется ли её обновление?

Спасибо.

Ссылка на комментарий
Поделиться на других сайтах

планируется ли её обновление?

Планируется, как только IPS перестанет переделывать API и исправит ошибки в работе хуков.

Ссылка на комментарий
Поделиться на других сайтах

планируется ли её обновление?

Планируется, как только IPS перестанет переделывать API и исправит ошибки в работе хуков.

Значит некогда. :(

Ссылка на комментарий
Поделиться на других сайтах

  • 1 год спустя...
  • 2 недели спустя...

Возможное решение проблемы, правда сильно кривое, но за неимением горничной:

Заходим в управление хуками, начинаем его редактировать. Файлы хука - на всякий случай удаляем нафиг файл #2 переопределяющий public_forums_forums_topics

А потом накладываем следующий патч

--- admin/applications/forums/modules_public/forums/topics.php.orig	2011-09-08 15:04:26.000000000 +0600
+++ admin/applications/forums/modules_public/forums/topics.php	2011-09-28 12:57:39.927048282 +0600
@@ -1550,6 +1550,25 @@
		}

		//-----------------------------------------
+		// Add pinned posts
+		//-----------------------------------------
+		if ( count( $this->pids ) )
+		{
+			$this->DB->build( array(
+									'select' => 'pid',
+									'from'   => 'posts',
+									'where'  => 'topic_id='.$topicData['tid'].' AND post_pinned=1'.$queued_query_bit,
+									'order'  => $this->settings['post_order_column'].' '.$this->settings['post_order_sort']));
+
+			$this->DB->execute();
+
+			while( $p = $this->DB->fetch() )
+			{
+				$this->pids[ $p['pid'] ] = $p['pid'];
+			}
+		}
+
+		//-----------------------------------------
		// Do we have any PIDS?
		//-----------------------------------------

Понимаю, что сильно коряво и по идее нужно было бы пересобрать хук и переопредилить объект к которому относится патч, но я так и не въезжаю в логику написания хуков :)

Если кто сможет - спасибо скажет много народу :D

Ссылка на комментарий
Поделиться на других сайтах

kornel

А можно для менее продвинутых растолковать?)))

1.

на всякий случай удаляем нафиг файл #2

там нет функции удаления, как это делаете вы?

2.

А потом накладываем следующий патч

Опять-же как и куда его "наложить"?

Потому как при добавление в конец файла - форум выпал в ошибку

 

 

Хотелось-бы запустить этот хук, ибо народ привык а тут -фигвам)))

Да, и файл "переопределяющий public_forums_forums_topics" может быть не 2м - у меня он #4й

Изменено пользователем prizrak53
Ссылка на комментарий
Поделиться на других сайтах

там нет функции удаления, как это делаете вы?
Тип файла хука поставил в "Выберите"
Опять-же как и куда его "наложить"? Потому как при добавление в конец файла - форум выпал в ошибку
Находите в районе 1550 строки (у меня 1552) коммент // Do we have any PIDS? и перед ним добавляете
                //-----------------------------------------
      		// Add pinned posts
      		//-----------------------------------------
      		if ( count( $this->pids ) )
      		{
              		$this->DB->build( array(
                                                              		'select' => 'pid',
                                                              		'from'   => 'posts',
                                                              		'where'  => 'topic_id='.$topicData['tid'].' AND post_pinned=1'.$queued_query_bit,
                                                              		'order'  => $this->settings['post_order_column'].' '.$this->settings['post_order_sort']));
              		$this->DB->execute();
              		while( $p = $this->DB->fetch() )
              		{
                      		$this->pids[ $p['pid'] ] = $p['pid'];
              		}
      		}

А вообще это делается утилитой patch.

Да, и файл "переопределяющий public_forums_forums_topics" может быть не 2м - у меня он #4й
Спасибо. Буду иметь ввиду. Изменено пользователем kornel
Ссылка на комментарий
Поделиться на других сайтах

Жаль, у меня всё-же не работает - при входе в тему выходит ошибка работы с БД, а сделал всё точно.

Видно придётся ещё подождать.

А "public_forums_forums_topics" при каждой переустановке меняет место расположения.

 

PS

Перед 1552стр имеется подобный код-

  $this->DB->build( array(
   	'select' => 'pid',
   	'from'   => 'posts',
   	'where'  => 'topic_id='.$topicData['tid']. $queued_query_bit,
   	'order'  => $this->settings['post_order_column'].' '.$this->settings['post_order_sort'],
   	'limit'  => array( $first, $this->settings['display_max_posts'] ) ) );
 $this->DB->execute();
 while( $p = $this->DB->fetch() )
 {
  $this->pids[ $p['pid'] ] = $p['pid'];
 }

Может его надо заменить вашим,я в этом дуб - приходится использовать готовые решения))))

Менял, (метод тыка))) тогда ругается на цикличность которая не может завершиться.

Изменено пользователем prizrak53
Ссылка на комментарий
Поделиться на других сайтах

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.