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

закреить сообщение


michas

Вопрос

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

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

  • 0

Слева снизу: Опции модератора -> Поднять тему.

читать умеешь? ему совсем другое надо

 

нет пока такого мода

есть - могу дать ссылку на такой форум

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

  • 0

Вот мод прикрепления 1 сообщения к теме:

 

 

 

+---------------------------------------------------------------------
|   Invision Power Board v2.1.x
|  =================================================================
|   [url="http://www.invisionpower.com"]http://www.invisionpower.com[/url]
|   [url="http://www.ibresource.ru"]http://www.ibresource.ru[/url]
|  =================================================================
+---------------------------------------------------------------------
|
|   > 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
2vandal_

а в каком файле менять этот код?это уже готовый вариант?

там же все написано, что и в каком файле менять!!! даже написано где они находятся!

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

  • 0

Vandal_ откуда этот мод? (в архиве его нет)

Если IBR имеет отношение к этому моду, то почему его ни в архиве нет, ни в теме модов на продажу? У кого просить саппорт мода?

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

  • 0

Установил очень внимательно. Нажимаю Закрепить первое сообщение и ошибка.

 

Возвращаемая ошибка

 

mySQL query error: UPDATE jdf_topics SET pinned_post=1 WHERE tid=8

 

SQL error: Unknown column 'pinned_post' in 'field list'

SQL error code:

Date: 6.1.2007, 14:33

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

  • 0

######################################################################

Execute the following SQL query on the database

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

ALTER TABLE `ibf_topics` ADD `pinned_post` TINYINT( 1 ) DEFAULT '0';

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

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

  • 0

У меня тоже работает, но в теме после прикрипленного первого сообщения дублируется navstrip и правила раздела.

У всех так или только у меня?

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

  • 0
а есть мод, чтобы все первые сообщения, всех тем прикрепились первые сразу...а не чтобы модер ходил и прикрепрял???
Ссылка на комментарий
Поделиться на других сайтах

  • 0
2WARfromTEARS - Та поставте вы линейное отображение по умолчанию та и все. Зачем моды? :D)

не всех устраивает такое отображение форума

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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