Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
andaril

Мод "Закрепленное сообщение"

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

:) нигде не могу найти этот мод под 2.1.Х

Помню, что был. И себе его скачивала. Но тогда не было возможности его установить. Сейчас хотелось бы, но сам мод пропал. И по ссылкам в этой теме нет ничего. Не подскажете, где искать? Англоязычные ресурсы устроят, если что.

Спасибо.

Поделиться сообщением


Ссылка на сообщение
+---------------------------------------------------------------------
|   Invision Power Board v2.1.x
|  =================================================================
|   [url="http://www.invisionpower.com"]http://www.invisionpower.com[/url]
|  =================================================================
+---------------------------------------------------------------------
|
|   > First pinned post mod
|   > by Alex
|
|   > Version: 1.0
|   > Date: 01.06.2006
|   > Last Update: 07.07.2006
|
+---------------------------------------------------------------------
|
|   > Version 1.0.0
|   > - Initial release
|
+---------------------------------------------------------------------
|
|   > This mod adds users and moderators possibility to pin and unpin
|   > first post in any thread they have open/close rights.
|
+---------------------------------------------------------------------
|
|   > Author is not responsible for any consequences of using this
|   > forum modification, including those caused by this module
|   > Use at your own risk
|
+---------------------------------------------------------------------

######################################################################
Execute the following SQL query on the database
======================================================================
ALTER TABLE `ibf_topics` ADD `pinned_post` TINYINT( 1 ) DEFAULT '0';
======================================================================

######################################################################
./sources/action_public/moderate.php
======================================================================
FIND
----------------------------------------------------------------------
	   //-----------------------------------------
	   // Edit member
	   //-----------------------------------------
	   case 'editmember':
		   $this->edit_member();
		   break;
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
   // [bEGIN] PIN Mod: Pinning first post in the topics
   case 'pinpost':
	   $this->pin_post();
	   break;
   case 'unpinpost':
	   $this->unpin_post();
	   break;
   // [END] PIN Mod: Pinning first post in the topics
----------------------------------------------------------------------
FIND
----------------------------------------------------------------------
?>
----------------------------------------------------------------------
ABOVE, FIND
----------------------------------------------------------------------
}
----------------------------------------------------------------------
ABOVE, ADD
----------------------------------------------------------------------
  // [bEGIN] PIN Mod: Pinning first post in the topics

  /*-------------------------------------------------------------------------*/
  // PIN POST:
  /*-------------------------------------------------------------------------*/

  function pin_post()
  {
   if ($this->topic['pinned_post'])
   {
	   $this->moderate_error();
   }

   $passed = 0;

   if ($this->ipsclass->member['g_is_supmod'] == 1)
   {
	   $passed = 1;
   }
   else if ($this->moderator['pin_topic'] == 1)
   {
	   $passed = 1;
   }
   else if ($this->topic['starter_id'] == $this->ipsclass->member['id'])
   {
	   $passed = 1;
   }
   else
   {
	   $passed = 0;
   }

   if ($passed != 1) $this->moderate_error();

   $this->modfunc->post_pin($this->topic['tid']);

   $this->moderate_log("Первое сообщение темы «закреплено»");

   $this->ipsclass->print->redirect_screen( $this->ipsclass->lang['p_pinned_post'], "showtopic=".$this->topic['tid']."&st=".$this->ipsclass->input['st'] );

  }

  /*-------------------------------------------------------------------------*/
  // UNPIN POST:
  /*-------------------------------------------------------------------------*/

  function unpin_post()
  {
   if (! $this->topic['pinned_post'])
   {
	   $this->moderate_error();
   }

   $passed = 0;

   if ($this->ipsclass->member['g_is_supmod'] == 1)
   {
	   $passed = 1;
   }
   else if ($this->moderator['unpin_topic'] == 1)
   {
	   $passed = 1;
   }
   else if ($this->topic['starter_id'] == $this->ipsclass->member['id'])
   {
	   $passed = 1;
   }
   else
   {
	   $passed = 0;
   }

   if ($passed != 1) $this->moderate_error();

   $this->modfunc->post_unpin($this->topic['tid']);

   $this->moderate_log("Первое сообщение темы «откреплено»");

   $this->ipsclass->print->redirect_screen( $this->ipsclass->lang['p_unpinned_post'], "act=ST&f=".$this->forum['id']."&t=".$this->topic['tid']."&st=".$this->ipsclass->input['st'] );
  }

  // [END] PIN Mod: Pinning first post in the topics
======================================================================

######################################################################
./sources/action_public/topics.php
======================================================================
FIND
----------------------------------------------------------------------
   //-----------------------------------------
   // Post number
   //-----------------------------------------

   if ( $this->topic_view_mode == 'linearplus' and $this->topic['topic_firstpost'] == $row['pid'])
   {
	   $row['post_count'] = 1;

	   if ( ! $this->first )
	   {
		   $this->post_count++;
	   }
   }
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
   // [bEGIN] PIN Mod: Pinning first post in the topics
   elseif ($this->topic_view_mode == 'linear' and $this->topic['pinned_post'] and $this->topic['topic_firstpost'] == $row['pid'])
   {
	   $row['post_count'] = '1 '.$this->ipsclass->lang['post_pinned'];

	   if ( $this->first < 1 )
	   {
		   $this->post_count++;
	   }
   }
   // [END] PIN Mod: Pinning first post in the topics
----------------------------------------------------------------------
FIND
----------------------------------------------------------------------
   $actions = array( 'MOVE_TOPIC', 'CLOSE_TOPIC', 'OPEN_TOPIC', 'DELETE_TOPIC', 'EDIT_TOPIC', 'PIN_TOPIC', 'UNPIN_TOPIC', 'MERGE_TOPIC', 'UNSUBBIT' );
----------------------------------------------------------------------
REPLACE WITH
----------------------------------------------------------------------
   // PIN Mod: Pinning first post in the topics
   $actions = array( 'MOVE_TOPIC', 'CLOSE_TOPIC', 'OPEN_TOPIC', 'DELETE_TOPIC', 'EDIT_TOPIC', 'PIN_TOPIC', 'UNPIN_TOPIC', 'MERGE_TOPIC', 'PIN_POST', 'UNPIN_POST', 'UNSUBBIT' );
----------------------------------------------------------------------
FIND
----------------------------------------------------------------------
	   elseif ($key == 'OPEN_TOPIC' or $key == 'CLOSE_TOPIC')
	   {
		   if ($this->ipsclass->member['g_open_close_posts'])
		   {
			   $mod_links .= $this->append_link($key);
		   }
	   }
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
// [bEGIN] PIN Mod: Pinning first post in the topics
	   elseif ($key == 'PIN_POST' or $key == 'UNPIN_POST')
	   {
		   if ($this->ipsclass->member['g_open_close_posts'])
		   {
			   $mod_links .= $this->append_link($key);
		   }
	   }
// [END] PIN Mod: Pinning first post in the topics
----------------------------------------------------------------------
FIND
----------------------------------------------------------------------
   if ($this->topic['pinned'] == 1 and $key == 'PIN_TOPIC')   return "";
   if ($this->topic['pinned'] == 0 and $key == 'UNPIN_TOPIC') return "";
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
   // [bEGIN] PIN Mod: Pinning first post in the topics
   if (($key == 'PIN_POST' or $key == 'UNPIN_POST') and $this->topic['state'] != 'open') return "";
   if ($this->topic['pinned_post'] == 1 and $key == 'PIN_POST')   return "";
   if ($this->topic['pinned_post'] == 0 and $key == 'UNPIN_POST') return "";
   // [END] PIN Mod: Pinning first post in the topics
----------------------------------------------------------------------
FIND
----------------------------------------------------------------------
							  'PIN_TOPIC'	 => '15',
							  'UNPIN_TOPIC'   => '16',
							  'UNSUBBIT'	  => '30',
							  'MERGE_TOPIC'   => '60',
							  'TOPIC_HISTORY' => '90',
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
// [bEGIN] PIN Mod: Pinning first post in the topics
							  'PIN_POST' => 'pinpost',
							  'UNPIN_POST' => 'unpinpost',
// [END] PIN Mod: Pinning first post in the topics
======================================================================

######################################################################
./sources/lib/func_mod.php
======================================================================
FIND
----------------------------------------------------------------------
?>
----------------------------------------------------------------------
ABOVE, FIND
----------------------------------------------------------------------
}
----------------------------------------------------------------------
ABOVE, ADD
----------------------------------------------------------------------
  // [bEGIN] PIN Mod: Pinning first post in the topics

  //-----------------------------------------
  // @post_pin: pin topic first post
  // -----------
  // Accepts: Array ID's | Single ID
  // Returns: NOTHING (TRUE/FALSE)
  //-----------------------------------------

  function post_pin($id)
  {
   $this->stm_init();
   $this->stm_add_post_pin();
   $this->stm_exec($id);
   return TRUE;
  }

  //-----------------------------------------
  // @post_unpin: unpin topic first post
  // -----------
  // Accepts: Array ID's | Single ID
  // Returns: NOTHING (TRUE/FALSE)
  //-----------------------------------------

  function post_unpin($id)
  {
   $this->stm_init();
   $this->stm_add_post_unpin();
   $this->stm_exec($id);
   return TRUE;
  }

  //-----------------------------------------
  // @stm_add_post_pin: add post pin command to statement
  // -----------
  // Accepts: NOTHING
  // Returns: NOTHING (TRUE/FALSE)
  //-----------------------------------------

  function stm_add_post_pin()
  {
   $this->stm[] = array( 'pinned_post' => 1 );

   return TRUE;
  }

  //-----------------------------------------
  // @stm_add_post_unpin: add post unpin command to statement
  // -----------
  // Accepts: NOTHING
  // Returns: NOTHING (TRUE/FALSE)
  //-----------------------------------------

  function stm_add_post_unpin()
  {
   $this->stm[] = array( 'pinned_post' => 0 );

   return TRUE;
  }

  // [END] PIN Mod: Pinning first post in the topics
======================================================================

######################################################################
./sources/lib/func_topic_linear.php
======================================================================
FIND
----------------------------------------------------------------------
	   //-----------------------------------------
	   // Run query
	   //-----------------------------------------

	   $this->lib->topic_view_mode = 'linear';
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
	   // [bEGIN] PIN Mod: Pinning first post in the topics
	   if ($this->topic['pinned_post'] and $first > 0)
	   {
		   $this->pids = array( 0 => $this->topic['topic_firstpost'] );
	   }
	   // [END] PIN Mod: Pinning first post in the topics
----------------------------------------------------------------------
FIND
----------------------------------------------------------------------
	   //-----------------------------------------
	   // Show end first post
	   //-----------------------------------------

	   if ( $this->lib->topic_view_mode == 'linearplus' and $this->first_printed == 0 and $row['pid'] == $this->topic['topic_firstpost'] and $this->topic['posts'] > 0)
	   {
		   $this->output .= $this->ipsclass->compiled_templates['skin_topic']->topic_end_first_post( array( 'TOPIC' => $this->topic, 'FORUM' => $this->forum ) );
	   }
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
	   // [bEGIN] PIN Mod: Pinning first post in the topics
	   if ( $this->lib->topic_view_mode == 'linear' and $this->first_printed == 0 and $row['pid'] == $this->topic['topic_firstpost'] and $first > 0)
	   {
		   $this->output .= $this->ipsclass->compiled_templates['skin_topic']->topic_end_outline( array( 'TOPIC' => $this->topic, 'FORUM' => $this->forum ) );
		   $this->output .= $this->ipsclass->compiled_templates['skin_topic']->topic_page_top( array( 'TOPIC' => $this->topic, 'FORUM' => $this->forum ), 1 );
	   }
	   // [END] PIN Mod: Pinning first post in the topics
======================================================================

######################################################################
./cache/lang_cache/*/lang_mod.php
======================================================================
FIND
----------------------------------------------------------------------
$lang = array (
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
// [bEGIN] PIN Mod: Pinning first post in the topics
'p_pinned_post' => 'Первое сообщение закреплено',
'p_unpinned_post' => 'Первое сообщение откреплено',
// [END] PIN Mod: Pinning first post in the topics
----------------------------------------------------------------------
======================================================================

######################################################################
./cache/lang_cache/*/lang_topic.php
======================================================================
FIND
----------------------------------------------------------------------
$lang = array (
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
// [bEGIN] PIN Mod: Pinning first post in the topics
'PIN_POST' => 'Закрепить первое сообщение',
'UNPIN_POST' => 'Открепить первое сообщение',
'post_pinned' => '(закреплено)',
// [END] PIN Mod: Pinning first post in the topics
----------------------------------------------------------------------
======================================================================

Поделиться сообщением


Ссылка на сообщение

Спасибо большое. :)

Поделиться сообщением


Ссылка на сообщение

У меня на 2.3 глючит просмотр страниц с сообщениями.

Поделиться сообщением


Ссылка на сообщение

если мне не изменяет память, он создан только под 2.2.х

Поделиться сообщением


Ссылка на сообщение
07/21/09 12:03 (изменено)

Да, но:

А есть вариант для 2.3.х?

 

этот должен работать. Не проверяли?

 

Я провирил. Не работает.

Изменено пользователем Fisana

Поделиться сообщением


Ссылка на сообщение

Установил, мод работает, НО вот после установки в логах мускула постоянно пишет такие вот ошибки:

 Date: Fri, 23 Oct 2009 02:32:06 +0400
Error Number: 1064
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USE INDEX (id_approved_forum)
				WHERE p.queued=0 AND t.forum_id IN(3,2,5,6,7' at line 7
IP Address: 94.41.122.39
mySQL query error: SELECT p.*, t.*, t.posts as topic_posts, t.title as topic_title, m.*, me.*, pp.*
				FROM ibf_posts p
			 		LEFT JOIN ibf_topics t ON (t.tid=p.topic_id AND t.approved=1)
			 		LEFT JOIN ibf_members m ON (m.id=p.author_id)
			 		LEFT JOIN ibf_member_extra me ON (me.id=p.author_id)
			 		LEFT JOIN ibf_profile_portal pp ON (m.id=pp.pp_member_id)
				USE INDEX (id_approved_forum)
				WHERE p.queued=0 AND t.forum_id IN(3,2,5,6,7,8,16,9,10,17,20,188,15,18,19,113,115,95,96,97,116,117,25,26,27,28,
29,30,31,32,110,33,111,34,35,36,37,38,39,40,186,41,42,43,44,45,109,46,101,94,47,
1
12,48,49,50,51,52,53,54,55,198,57,58,72,59,60,73,114,74,63,199,64,65,66,67,68,69
,
70,71,56,22,23,24,100,217,76,77,78,79,89,90,118,121,13,14,93,107,98,99,82,83,84,
2
1,75,80,81,192,193,194,128,129,130,131,132,133,134,135,136,137,138,139,140,141,1
4
2,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,16
3
,164,167,168,169,170,171,202,172,173,174,175,162,165,166,191,176,127,195,177,102
,
108,126,183,184,178,179,180,181,182,119,120,123,124,125,187,189,190,200,201,206,
2
07,208,210,211,212,213,214,216,220,219,218) AND p.author_id=8
				ORDER BY post_date DESC LIMIT 0,25

 

Форум 2.2.1

 

Не поделитесь мыслями, в чем может быть проблема?

Поделиться сообщением


Ссылка на сообщение

Под 3.0.4 будет?

Поделиться сообщением


Ссылка на сообщение

на 3.0 не пойдет ?

Поделиться сообщением


Ссылка на сообщение
04/22/10 18:32 (изменено)

сегодня чисто случайно заметил что мод не работает, нажатие на кнопку и вылетает: Fatal error: Call to undefined method moderate::pin_post() in /home/www/samsungomania.com/sources/action_public/moderate.php on line 335, проверил moderate.php - там нормально. Причем ранее поднятые посты так и отображаются вверху, а вот открепить уже немогу. Недавно переносил форум из папки в корень хоста - может в этом проблема? Помогите кто знает, что могло произойти

Изменено пользователем Майор

Поделиться сообщением


Ссылка на сообщение
Я провирил. Не работает.

Сегодня установил на 2.3.6

Все работает!

Поделиться сообщением


Ссылка на сообщение

http://forums.ibresource.ru/index.php?showtopic=46544

 

Более удобный (на мой взгляд) мод. Кторы к тому-же не запрещает совершать любые действия с темами на 2.3.2

Поделиться сообщением


Ссылка на сообщение
http://forums.ibresource.ru/index.php?showtopic=46544

 

Более удобный (на мой взгляд) мод. Кторы к тому-же не запрещает совершать любые действия с темами на 2.3.2

Ну это уже дело вкуса, а как известно о вкусах не спорят.

Меня и этот мод вполне устраивает.

Спасибо автору.

Поделиться сообщением


Ссылка на сообщение
03/30/11 04:30 (изменено)

для 3.1.4 версии есть такой мод?

 

нашел аналогичный для 3.1.4 ТУТ

Изменено пользователем User7

Поделиться сообщением


Ссылка на сообщение

для 3,2 кто нибудь нашел?

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

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