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

Pinned Post (Закрепленный верхний пост) v.1.1


SAT

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

  • Ответы 135
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

СЕТ, я профессиональный программист :D а ты — фуфло.

будешь вопить — получишь в лоб.

 

такое количество строк лишь говорит что ты не умеешь грамотно писать ;)

 

в общем, иди на х :)

 

3. На Форуме запрещаются нецензурные выражения и оскорбления. Для выяснения личных отношений существует Личный ящик

Sphinx

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

.silent

 

В общем на заметку тебе умник: не надо казаться надо быть!

Ты даже ответить умное ничего не можешь, только ругань да "громкие" заявления, это ярко отражает уровень твоего интеллекта :D

ничего друго от тебя не ожидалось

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

я им не кажусь, я им работаю.

твои заявления, извини, громче.

 

а про твой уровень интеллекта свои выводы я сделал уже давно :D

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

  • 1 месяц спустя...

Хм, а ответа все нет...

А мод так и не портировали...

:D

Или решили дождаться уже 2.2 ?..

Хотелось бы все же поиметь этот мод и на 2.1.х и на 2.2.х

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

PinMix

 

мод перепишу, как буду переходить сам на 2.1, на 2.2 я не буду переходить, потому под 2.2 моих модов не будет.

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

Насколько я помню, я первым отдезендил IPB 2.2 и пришёл к этому выводу :D

 

В ПМ лучше бы ответил.

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

Destruction

 

неа, я еще юзал 2.2 когда она была в разработке %)

еще даже до первой паблик бетта версии %) месяца три назад и тогда же примерно в какой-то теме писал это.

 

В ПМ лучше бы ответил.

 

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

Ну давайте подеритесь еще!.. :D

SAT Скажи лучше на когда это намечается?..

Случаем не к выходу 2.3?.. (извиняюсь за сарказм...)

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

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

так что, есть для 2.1х. что то? вроде видел на форумах.
Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
так что, есть для 2.1х. что то? вроде видел на форумах.

 

Ну так что, есть у кого? Я на каком то форуме видел на 2.1.7 такой мод..

 

там нет этого мода, там просто режим отображения темы по умолчанию стоит "Линейный", всего лишь...

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

  • 1 месяц спустя...

Прикрепленное первое сообщение для 2.1.x :D

-----------------------------------------

+---------------------------------------------------------------------
|   Invision Power Board v2.1.x
|  =================================================================
+---------------------------------------------------------------------
|
|   > First pinned post mod
|   > by Alex/AT
|
|   > Version: 1.0
|   > Date: 03.12.2006
|   > Last Update: 03.12.2006
|
+---------------------------------------------------------------------
|
|   > Version 1.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] Alex/AT Mod: Pinning first post in the topics
	case 'pinpost':
		$this->pin_post();
		break;
	case 'unpinpost':
		$this->unpin_post();
		break;
	// [END] Alex/AT Mod: Pinning first post in the topics
----------------------------------------------------------------------
FIND
----------------------------------------------------------------------
?>
----------------------------------------------------------------------
ABOVE, FIND
----------------------------------------------------------------------
}
----------------------------------------------------------------------
ABOVE, ADD
----------------------------------------------------------------------
// [BEGIN] Alex/AT 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] Alex/AT 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] Alex/AT 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] Alex/AT 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
----------------------------------------------------------------------
	// Alex/AT 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] Alex/AT 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] Alex/AT 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] Alex/AT 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] Alex/AT 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] Alex/AT Mod: Pinning first post in the topics
							   'PIN_POST' => 'pinpost',
							   'UNPIN_POST' => 'unpinpost',
// [END] Alex/AT Mod: Pinning first post in the topics
======================================================================

######################################################################
./sources/lib/func_mod.php
======================================================================
FIND
----------------------------------------------------------------------
?>
----------------------------------------------------------------------
ABOVE, FIND
----------------------------------------------------------------------
}
----------------------------------------------------------------------
ABOVE, ADD
----------------------------------------------------------------------
// [BEGIN] Alex/AT 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] Alex/AT 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] Alex/AT Mod: Pinning first post in the topics
		if ($this->topic['pinned_post'] and $first > 0)
		{
			$this->pids = array( 0 => $this->topic['topic_firstpost'] );
		}
		// [END] Alex/AT 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] Alex/AT 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] Alex/AT Mod: Pinning first post in the topics
======================================================================

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

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

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

  • 2 недели спустя...
Прикрепленное первое сообщение для 2.1.x

Поставил - респект! Замечательно работает!!!

 

Есть ли возможность разрешить данную фичу пользователям?

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

Перевел на русский :D для 2.1.7

 

+---------------------------------------------------------------------
|   Invision Power Board v2.1.x
|  =================================================================
+---------------------------------------------------------------------
|
|   > First pinned post mod
|   > by Alex/AT
|
|   > Version: 1.0
|   > Date: 03.12.2006
|   > Last Update: 03.12.2006
|
+---------------------------------------------------------------------
|
|   > Version 1.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
======================================================================
Найти
----------------------------------------------------------------------
           //-----------------------------------------
           // Edit member
           //-----------------------------------------
           case 'editmember':
               $this->edit_member();
               break;
----------------------------------------------------------------------
Ниже добавить
----------------------------------------------------------------------
       // [bEGIN] Alex/AT Mod: Pinning first post in the topics
       case 'pinpost':
           $this->pin_post();
           break;
       case 'unpinpost':
           $this->unpin_post();
           break;
       // [END] Alex/AT Mod: Pinning first post in the topics
----------------------------------------------------------------------
Найти
----------------------------------------------------------------------
?>
----------------------------------------------------------------------
ABOVE, FIND (выше найти)
----------------------------------------------------------------------
}
----------------------------------------------------------------------
ABOVE, ADD (Выше добавить)
----------------------------------------------------------------------
   // [bEGIN] Alex/AT 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] Alex/AT Mod: Pinning first post in the topics
======================================================================

######################################################################
./sources/action_public/topics.php
======================================================================
Найти
----------------------------------------------------------------------
       //-----------------------------------------
       // 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++;
           }
       }
----------------------------------------------------------------------
Ниже добавить
----------------------------------------------------------------------
       // [bEGIN] Alex/AT 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] Alex/AT 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', 'UNSUBBIT' );
----------------------------------------------------------------------
Заменить
----------------------------------------------------------------------
       // Alex/AT 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' );
----------------------------------------------------------------------
Найти
----------------------------------------------------------------------
           elseif ($key == 'OPEN_TOPIC' or $key == 'CLOSE_TOPIC')
           {
               if ($this->ipsclass->member['g_open_close_posts'])
               {
                   $mod_links .= $this->append_link($key);
               }
           }
----------------------------------------------------------------------
Ниже добавить
----------------------------------------------------------------------
// [bEGIN] Alex/AT 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] Alex/AT Mod: Pinning first post in the topics
----------------------------------------------------------------------
Найти
----------------------------------------------------------------------
       if ($this->topic['pinned'] == 1 and $key == 'PIN_TOPIC')   return "";
       if ($this->topic['pinned'] == 0 and $key == 'UNPIN_TOPIC') return "";
----------------------------------------------------------------------
Ниже добавить
----------------------------------------------------------------------
       // [bEGIN] Alex/AT 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] Alex/AT Mod: Pinning first post in the topics
----------------------------------------------------------------------
Найти
----------------------------------------------------------------------
                                  'PIN_TOPIC'     => '15',
                                  'UNPIN_TOPIC'   => '16',
                                  'UNSUBBIT'      => '30',
                                  'MERGE_TOPIC'   => '60',
                                  'TOPIC_HISTORY' => '90',
----------------------------------------------------------------------
Ниже добавить
----------------------------------------------------------------------
// [bEGIN] Alex/AT Mod: Pinning first post in the topics
                                  'PIN_POST' => 'pinpost',
                                  'UNPIN_POST' => 'unpinpost',
// [END] Alex/AT Mod: Pinning first post in the topics
======================================================================

######################################################################
./sources/lib/func_mod.php
======================================================================
Найти
----------------------------------------------------------------------
?>
----------------------------------------------------------------------
Выше найти
----------------------------------------------------------------------
}
----------------------------------------------------------------------
Выше добавить
----------------------------------------------------------------------
   // [bEGIN] Alex/AT 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] Alex/AT Mod: Pinning first post in the topics
======================================================================

######################################################################
./sources/lib/func_topic_linear.php
======================================================================
Найти
----------------------------------------------------------------------
           //-----------------------------------------
           // Run query
           //-----------------------------------------

           $this->lib->topic_view_mode = 'linear';
----------------------------------------------------------------------
Ниже добавить
----------------------------------------------------------------------
           // [bEGIN] Alex/AT Mod: Pinning first post in the topics
           if ($this->topic['pinned_post'] and $first > 0)
           {
               $this->pids = array( 0 => $this->topic['topic_firstpost'] );
           }
           // [END] Alex/AT Mod: Pinning first post in the topics
----------------------------------------------------------------------
Найти
----------------------------------------------------------------------
           //-----------------------------------------
           // 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 ) );
           }
----------------------------------------------------------------------
Ниже добавить
----------------------------------------------------------------------
           // [bEGIN] Alex/AT 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] Alex/AT Mod: Pinning first post in the topics
======================================================================

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

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

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

  • 4 месяца спустя...

Обнаружил багу - если прикрепляешь скрытый пост то вместо него отображается пустое сообщение без даты и текста с автором Unregistered. Ни удалить ни откредактировать ничего сделать нельзя((

Приходится создавать новую тему и переносить все сообщения туда а старую удалять.

 

Есть ли способ хотя бы запретить прикреплять скрытый пост?

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

  • 1 месяц спустя...
  • 3 месяца спустя...

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

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

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