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

Мод Закрепление Постов


Detomir

Вопрос

На многих форумах я видел такую вещь: первый пост в теме, можно закрепить, так что он будет автоматически появлятся в начале всех последующих страниц топика. Искал, но не чего не нашёл =( помогите, мод очень нужен.

====

P.S. И ещё... нужен мод, благодаря которому, можно посмотреть в голосованиях, кто за что проголосовал.

P.S.S. Если на форуме уже есть ответы на эти вопросы, не убивать =) Я два дня лазял, не чего не нашёл... =( не на форуме, не в Файловом Архиве.

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

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

  • 0

TOIIOP

 

Нет, именно мод. Создав тему, жмёшь редактировать и внизу будет опция "Закрепить Пост", ставишь галку и пост "закрепляется". Такое можно проделать с любым постом в теме.

 

Если нужно, могу привести в доказательство скрин этой опции, с другого форума =)

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

  • 0
Да. тоже давно ищу подобный мод. Подумайте над этим, уважаемые IPB Team'щики. :D

О.. мы должны упасть ниц? ;)

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

  • 0

Есть более простая версия этого мода, там можно только первый пост закреплять

+---------------------------------------------------------------------

| 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

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

======================================================================

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

  • 0

Установил всё, как написано в 14 посте. Теперь, когда хочу закрепить первый пост, то пишет ошибку:

 

Fatal error: Call to undefined function: pin_post() in x:\home\wsego.com\www\forum\sources\action_public\moderate.php on line 338

 

Вот код 337-339 строк:

 

case 'pinpost':
$this->pin_post();
break;

 

Подскажите, плиз, в чём пробема =(

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

  • 0

Уважаемые знатоки, помогите плиз. Очень нужен этот мод, а есть одна проблемка (см. пост выше).

Переделывал мод 2 раза, но всё одно и то же.

Буду очень благодарен за помощь!

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

  • 0
Уважаемые знатоки, помогите плиз. Очень нужен этот мод, а есть одна проблемка (см. пост выше).

Переделывал мод 2 раза, но всё одно и то же.

Буду очень благодарен за помощь!

 

Рискну спросить. ещё никто не сделал такой мод для версии 2.1.7 ???

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

  • 0
Уважаемые знатоки, помогите плиз. Очень нужен этот мод, а есть одна проблемка (см. пост выше).

Переделывал мод 2 раза, но всё одно и то же.

Буду очень благодарен за помощь!

Не туда вставили функцию pin_post. Нужно до фигурной скобки('}') закрывающей класс!

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

  • 0
Не туда вставили функцию pin_post. Нужно до фигурной скобки('}') закрывающей класс!
после данного уточнения мод работает? есть, кто-то у кого он установлен?
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

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

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