сайт на данный момент является архивом информации по форуму phpbb 3.0. объяснения и помощь больше не предоставляются. старый сайт

Белк на PhpBB 3.0.14

информация по этому форуму. bbcode, моды и прочее, проверенное Белком. (перенос данных продолжается...)

Сегодня на конференции был 1 посетитель :: 0 зарегистрированных, 0 скрытых, 0 ботов и 1 гость (основано на активности посетителей за последние 24 часа)




 [ 1 сообщение ] 
Автор Сообщение
Не в сети
  (Андрей)
Администратор
Аватара пользователя

Стаж: 5 месяцев 21 день
Сообщения: 228
Откуда: здешние мы

Стиль сайта: subsilver2
Настоящее имя: Андрей


Topic Text in Mouse Over - мод графической направленности

мод добавляет на форум красивое всплывающее окно со следующим содержанием:
* Наведение курсора мыши на иконку последнего сообщения - всплывашка с текстом последнего сообщения темы
* Наведение курсора мыши на имя темы - всплывашка с частью текста из первого сообщения темы

есть настройки в Админке (можно выбрать какие сообщения показывать - последнее, первое или оба и выставить количество символов во всплывашке).

есть возможность в Личном разделе включить или выключить данную функцию (конечно, если она вообще включена в Админке).

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

Выглядеть сие будет примерно так:

Вложение:
topic_text_hover.jpg
topic_text_hover.jpg [ 35.99 КБ | Просмотров: 20 ] topic_text_hover.jpg



Если заинтересовало - ставится этот мод так:

скачать из архива сайта

распаковать и загрузить содержимое папки root в корень сайта (где файл config.php).

Теперь редактируем файлы форума:

*/ правок хватает - ставьте внимательно /*

общие правки (для любого стиля)
Открыть includes/acp/acp_board.php
Найти

Код: Выделить всё

      $user->add_lang('acp/board');


Вставить после найденного

Код: Выделить всё

       // BEGIN Topic Text Hover Mod
      $user->add_lang('mods/topic_text_hover');
      // END Topic Text Hover Mod


Найти

Код: Выделить всё

                  'legend2'            => 'ACP_LOAD_SETTINGS',


Вставить перед найденным

Код: Выделить всё

                  // BEGIN Topic Title Hover Mod
                  'hover_active'      => array('lang' => 'ALLOW_TOPIC_TITLE_HOVER','validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'hover_show'      => array('lang' => 'TEXT_HOVER_OPTIONS','validate' => 'int:0:3',  'type' => 'custom', 'method' => 'select_topic_text_hover_check', 'explain' => true),
                  'hover_char_limit'   => array('lang' => 'ALLOW_TOPIC_TITLE_HOVER_CHAR','validate' => 'int', 'type' => 'text:3:4', 'explain' => true, 'append' => ' ' . $user->lang['CHARS']),
                  // END Topic Title Hover Mod


Найти

Код: Выделить всё

      return h_radio('config[referer_validation]', $radio_ary, $value, $key);
   }


Вставить после

Код: Выделить всё

// BEGIN Topic Text Hover MOD
   function select_topic_text_hover_check($value, $key = '')
   {
      global $phpEx, $phpbb_root_path;
      include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);

      $radio_ary = array(TOPIC_TEXT_HOVER_FIRST => 'TOPIC_TEXT_HOVER_FIRST', TOPIC_TEXT_HOVER_LAST => 'TOPIC_TEXT_HOVER_LAST', TOPIC_TEXT_HOVER_BOTH => 'TOPIC_TEXT_HOVER_BOTH');

      return h_radio('config[hover_show]', $radio_ary, $value, $key);
   }
// END Topic Text Hover MOD



Открыть includes/ucp/ucp_prefs.php
Найти

Код: Выделить всё

            add_form_key('ucp_prefs_view');


Вставить после найденного

Код: Выделить всё

            // BEGIN Topic Text Hover Mod
            $user->add_lang('mods/topic_text_hover');
            // END Topic Text Hover Mod


Найти

Код: Выделить всё

               'wordcensor'   =>


Вставить после найденного

Код: Выделить всё

               // BEGIN Topic Title Hover Mod
               'text_hover'   => request_var('text_hover', (int) $user->data['user_text_hover']),
               // END Topic Title Hover Mod


Найти

Код: Выделить всё

                     'user_post_show_days'   => $data['post_st'],


Вставить после найденного

Код: Выделить всё

                     // BEGIN Topic Text Hover MOD
                     'user_text_hover'      => $data['text_hover'],
                     // END Topic Text Hover MOD


Найти

Код: Выделить всё

               'S_DISABLE_CENSORS'   => $data['wordcensor'],


Вставить после найденного

Код: Выделить всё

               // BEGIN Topic Text Hover MOD
               'S_DISABLE_TEXT_HOVER'   => $data['text_hover'],
               'S_TEXT_HOVER'         => $config['hover_active'],
               // END Topic Text Hover MOD



Открыть includes/functions_display.php
Найти

Код: Выделить всё

$sql = $db->sql_build_query('SELECT', array(


Вставить перед найденным

Код: Выделить всё

   // BEGIN Topic Text Hover Mod
   if ($config['hover_active'] && !$user->data['user_text_hover'])
   {
      include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);
      if($config['hover_show'] == TOPIC_TEXT_HOVER_LAST || $config['hover_show'] == TOPIC_TEXT_HOVER_BOTH)
      {
         $sql_array['LEFT_JOIN'][] = array(
            'FROM'   => array(POSTS_TABLE => 'p'),
            'ON'   => "f.forum_last_post_id = p.post_id"
         );
         $sql_array['SELECT'] .= ', p.post_text AS last_text_hover';
      }
   }
   // END Topic Text Hover Mod


Найти

Код: Выделить всё

$forum_rows[$parent_id]['forum_id_last_post'] = $forum_id;


Вставить после найденного

Код: Выделить всё

            // BEGIN Topic Text Hover Mod
            $forum_rows[$parent_id]['last_text_hover'] = (isset($row['last_text_hover'])) ? $row['last_text_hover'] : '';
            // END Topic Text Hover Mod


Найти

Код: Выделить всё

         $last_post_subject = $row['forum_last_post_subject'];


Вставить после найденного

Код: Выделить всё

                // BEGIN Topic Text Hover MOD
                if(!empty($row['last_text_hover']) && $auth->acl_get('f_read', $row['forum_id']))
                {
                    // strip all bbcode
                    include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);
                    $last_text_hover = censor_text(bbcode_strip($row['last_text_hover']));
                    if (utf8_strlen($last_text_hover) >= $config['hover_char_limit'])
                    {
                        $last_text_hover = (utf8_strlen($last_text_hover) > $config['hover_char_limit'] + 3) ? utf8_substr($last_text_hover, 0, $config['hover_char_limit']) . '...' : $last_text_hover;
                    }
                }
                else
                {
                    $last_text_hover = '';
                }
                // END Topic Text Hover MOD 


Найти

Код: Выделить всё

         'LAST_POST_SUBJECT'      => censor_text($last_post_subject),


Вставить после найденного

Код: Выделить всё

         // BEGIN Topic Text Hover MOD
         'LAST_TEXT_HOVER'      => (isset($last_text_hover)) ? censor_text($last_text_hover) : '',
         'LAST_POST_IMG'         => $user->img('icon_topic_latest'),
         // END Topic Text Hover Mod



Открыть search.php
Найти

Код: Выделить всё

if ($config['load_anon_lastread'] || ($user->data['is_registered']


Вставить перед найденным

Код: Выделить всё

         // BEGIN Topic Text Hover Mod
         if ($config['hover_active'] && !$user->data['user_text_hover'])
         {
            include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);
            if($config['hover_show'] == TOPIC_TEXT_HOVER_FIRST || $config['hover_show'] == TOPIC_TEXT_HOVER_BOTH)
            {
               $sql_from .= ' LEFT JOIN ' . POSTS_TABLE . ' p ON (p.post_id = t.topic_first_post_id)';
                  $sql_select .= ', p.post_text AS first_text_hover';
            }
            if($config['hover_show'] == TOPIC_TEXT_HOVER_LAST || $config['hover_show'] == TOPIC_TEXT_HOVER_BOTH)
            {
               $sql_from .= ' LEFT JOIN ' . POSTS_TABLE . ' pt ON (pt.post_id = t.topic_last_post_id)';
               $sql_select .= ', pt.post_text AS last_text_hover';
            }
         }
         // END Topic Text Hover Mod
         


Найти

Код: Выделить всё

            $tpl_ary = array(
               'TOPIC_AUTHOR'            =>


Вставить перед найденным

Код: Выделить всё

            // BEGIN Topic Text Hover Mod
            if (!empty($row['first_text_hover']) || !empty($row['last_text_hover']))
            {
               // strip bbcode
               include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);         
               if(!empty($row['first_text_hover']))
               {
                  $first_text_hover = bbcode_strip($row['first_text_hover']);
                  if (utf8_strlen($first_text_hover) >= $config['hover_char_limit'])
                  {
                     $first_text_hover = (utf8_strlen($first_text_hover) > $config['hover_char_limit'] + 3) ? utf8_substr($first_text_hover, 0, $config['hover_char_limit']) . '...' : $first_text_hover;
                  }
               }
               if(!empty($row['last_text_hover']))
               {
                  $last_text_hover = bbcode_strip($row['last_text_hover']);
                  if (utf8_strlen($last_text_hover) >= $config['hover_char_limit'])
                  {
                     $last_text_hover = (utf8_strlen($last_text_hover) > $config['hover_char_limit'] + 3) ? utf8_substr($last_text_hover, 0, $config['hover_char_limit']) . '...' : $last_text_hover;
                  }
               }
            }
            else
            {
               $first_text_hover = $last_text_hover = '';
            }
            // END Topic Text Hover Mod
            


Найти

Код: Выделить всё

            'POST_ID'         =>


Вставить после найденного

Код: Выделить всё

            // BEGIN Topic Post Text Mod
            'FIRST_TEXT_HOVER'   => (isset($first_text_hover)) ? censor_text($first_text_hover) : '',
            'LAST_TEXT_HOVER'   => (isset($last_text_hover)) ? censor_text($last_text_hover) : '',
            'LAST_POST_IMG'      => $user->img('icon_topic_latest'),
            // END Topic Post Text Mod



Открыть viewforum.php
Найти

Код: Выделить всё

if ($forum_data['forum_type'] == FORUM_POST)


Вставить перед найденным

Код: Выделить всё

// BEGIN Topic Text Hover Mod
if ($config['hover_active'] && !$user->data['user_text_hover'])
{
   include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);
   // the first post text in a topic
   if($config['hover_show'] == TOPIC_TEXT_HOVER_FIRST || $config['hover_show'] == TOPIC_TEXT_HOVER_BOTH)
   {
      $sql_array['LEFT_JOIN'][] = array('FROM' => array(POSTS_TABLE => 'pt'), 'ON' => 'pt.post_id = t.topic_first_post_id');
      $sql_array['SELECT'] .= ', pt.post_text AS first_text_hover';
   }
   // the last post text in a topic
   if($config['hover_show'] == TOPIC_TEXT_HOVER_LAST || $config['hover_show'] == TOPIC_TEXT_HOVER_BOTH)
   {
      $sql_array['LEFT_JOIN'][] = array('FROM' => array(POSTS_TABLE => 'ptl'), 'ON' => 'ptl.post_id = t.topic_last_post_id');
      $sql_array['SELECT'] .= ', ptl.post_text AS last_text_hover';
   }
}
// END Topic Text Hover Mod
            


Найти

Код: Выделить всё

if (sizeof($shadow_topic_list))
{


Вставить после найденного

Код: Выделить всё

   // BEGIN Topic Text Hover MOD
   if ($config['hover_active'] && !$user->data['user_text_hover'])
   {
      include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);
      $sql_join = $sql_select = '';
      if($config['hover_show'] == TOPIC_TEXT_HOVER_FIRST || $config['hover_show'] == TOPIC_TEXT_HOVER_BOTH)
      {
         $sql_join .= ' LEFT JOIN ' . POSTS_TABLE . ' p ON (p.post_id = t.topic_first_post_id)';
         $sql_select .=  ', p.post_text AS first_text_hover';
      }
      if($config['hover_show'] == TOPIC_TEXT_HOVER_LAST || $config['hover_show'] == TOPIC_TEXT_HOVER_BOTH)
      {
         $sql_join .= ' LEFT JOIN ' . POSTS_TABLE . ' pt ON (pt.post_id = t.topic_last_post_id)';
         $sql_select .= ', pt.post_text AS last_text_hover';
      }
   }
   // END Topic Text Hover MOD


Найти (может быть написана только часть строки)

Код: Выделить всё

$sql = 'SELECT *


Для части строки



Вставить перед ней



Вставить после неё

Код: Выделить всё

 ' . $sql_select . '


Найти (может быть написана только часть строки)

Код: Выделить всё

FROM ' . TOPICS_TABLE . '


В часть строки

Код: Выделить всё

' . TOPICS_TABLE . '


Вставить после этой части



Найти

Код: Выделить всё

WHERE ' . $db->sql_in_set('topic_id', array_keys($shadow_topic_list));


Вставить перед найденным

Код: Выделить всё

' . $sql_join . '


К части строки

Код: Выделить всё

topic_id'


Добавить перед ней



Найти

Код: Выделить всё

// Send vars to template


Вставить перед найденным

Код: Выделить всё

      // BEGIN Topic Text Hover Mod
      if ((!empty($row['first_text_hover']) || !empty($row['last_text_hover'])) && $auth->acl_get('f_read', $forum_id))
      {
         // strip all bbcode
         include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);
         if(!empty($row['first_text_hover']))
         {
            $first_text_hover = bbcode_strip($row['first_text_hover']);
            if (utf8_strlen($first_text_hover) >= $config['hover_char_limit'])
            {
               $first_text_hover = (utf8_strlen($first_text_hover) > $config['hover_char_limit'] + 3) ? utf8_substr($first_text_hover, 0, $config['hover_char_limit']) . '...' : $first_text_hover;
            }
         }
         if(!empty($row['last_text_hover']))
         {
            $last_text_hover = bbcode_strip($row['last_text_hover']);
            if (utf8_strlen($last_text_hover) >= $config['hover_char_limit'])
            {
               $last_text_hover = (utf8_strlen($last_text_hover) > $config['hover_char_limit'] + 3) ? utf8_substr($last_text_hover, 0, $config['hover_char_limit']) . '...' : $last_text_hover;
            }
         }
      }
      else
      {
         $first_text_hover = $last_text_hover = '';
      }
      // END Topic Text Hover Mod


Найти

Код: Выделить всё

         'PAGINATION'      =>


Вставить после найденного

Код: Выделить всё

         // BEGIN Topic Post Text Mod
         'FIRST_TEXT_HOVER'   => (isset($first_text_hover)) ? censor_text($first_text_hover) : '',
         'LAST_TEXT_HOVER'   => (isset($last_text_hover)) ? censor_text($last_text_hover) : '',
         'LAST_POST_IMG'     => $user->img('icon_topic_latest'),
         // END Topic Post Text Mod


Найти

Код: Выделить всё

'TOPIC_FOLDER_IMG_ALT'   => $user->lang[$folder_alt]


К части строки

Код: Выделить всё

$user->lang[$folder_alt]


Добавить перед ней

Код: Выделить всё

 (!isset($first_text_hover)) ?


Добавить после неё



правки для стилей на основе prosilver
Открыть styles/prosilver/theme/stylesheet.css
Найти

Код: Выделить всё

@import url("colours.css");


Вставить после найденного

Код: Выделить всё

 @import url("tooltip.css");



Найти styles/prosilver/template/forumlist_body.html
Найти

Код: Выделить всё

<a href="{forumrow.U_LAST_POST}">{LAST_POST_IMG}


В часть строки

Код: Выделить всё

"{forumrow.U_LAST_POST}"


Добавить после

Код: Выделить всё

  <!-- IF forumrow.LAST_TEXT_HOVER -->title="{forumrow.LAST_TEXT_HOVER}"<!-- ENDIF -->


В часть строки

Код: Выделить всё

{LAST_POST_IMG}


Вставить перед ней

Код: Выделить всё

 <!-- IF forumrow.LAST_TEXT_HOVER -->{forumrow.LAST_POST_IMG}<!-- ELSE -->


Вставить после неё

Код: Выделить всё

 <!-- ENDIF -->



Открыть styles/prosilver/template/overall_header.html
Найти

Код: Выделить всё

<script type="text/javascript" src="{T_TEMPLATE_PATH}/forum_fn.js"></script>


Вставить после найденного

Код: Выделить всё

 <script type="text/javascript" src="{T_TEMPLATE_PATH}/tooltip.js"></script>



Открыть styles/prosilver/template/search_results.html
Найти

Код: Выделить всё

<a href="{searchresults.U_VIEW_TOPIC}" class="topictitle">{searchresults.TOPIC_TITLE}


В часть строки

Код: Выделить всё

{searchresults.U_VIEW_TOPIC}"


Вставить после следующий код

Код: Выделить всё

  <!-- IF searchresults.FIRST_TEXT_HOVER -->title="{searchresults.FIRST_TEXT_HOVER}"<!-- ENDIF -->


Найти

Код: Выделить всё

<a href="{searchresults.U_LAST_POST}">{LAST_POST_IMG}


В часть строки

Код: Выделить всё

"{searchresults.U_LAST_POST}"


Вставить после

Код: Выделить всё

  <!-- IF searchresults.LAST_TEXT_HOVER -->title="{searchresults.LAST_TEXT_HOVER}"<!-- ENDIF -->


В часть строки

Код: Выделить всё

{LAST_POST_IMG}


Вставить перед ней

Код: Выделить всё

 <!-- IF searchresults.LAST_TEXT_HOVER -->{searchresults.LAST_POST_IMG}<!-- ELSE -->


Вставить после неё

Код: Выделить всё

 <!-- ENDIF -->



Открыть styles/prosilver/template/ucp_prefs_view.html
Найти

Код: Выделить всё

      <hr />


Вставить перед найденным

Код: Выделить всё

       <!-- IF S_TEXT_HOVER -->
         <dl>
            <dt><label for="text_hover1">{L_DISABLE_TEXT_HOVER}:</label></dt>
            <dd>
               <label for="text_hover1"><input type="radio" name="text_hover" id="text_hover1" value="1"<!-- IF S_DISABLE_TEXT_HOVER --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
               <label for="text_hover0"><input type="radio" name="text_hover" id="text_hover0" value="0"<!-- IF not S_DISABLE_TEXT_HOVER --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
            </dd>
         </dl>
      <!-- ENDIF -->



Открыть styles/prosilver/template/viewforum_body.html
Найти

Код: Выделить всё

<a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}


В часть строки

Код: Выделить всё

class="topictitle"


Вставить после

Код: Выделить всё

  <!-- IF topicrow.FIRST_TEXT_HOVER -->title="{topicrow.FIRST_TEXT_HOVER}"<!-- ENDIF -->


Найти

Код: Выделить всё

<a href="{topicrow.U_LAST_POST}">{LAST_POST_IMG}


В часть строки

Код: Выделить всё

topicrow.U_LAST_POST}"


Вставить после

Код: Выделить всё

  <!-- IF topicrow.LAST_TEXT_HOVER -->title="{topicrow.LAST_TEXT_HOVER}"<!-- ENDIF -->


В часть строки

Код: Выделить всё

{LAST_POST_IMG}


Вставить перед ней

Код: Выделить всё

 <!-- IF topicrow.LAST_TEXT_HOVER -->{topicrow.LAST_POST_IMG}<!-- ELSE -->


Вставить после неё

Код: Выделить всё

 <!-- ENDIF -->


правки для стилей на основе subsilver2
Открыть styles/subsilver2/theme/stylesheet.css
Найти



Вставить после найденного

Код: Выделить всё

 @import url("tooltip.css");



Открыть styles/subsilver2/template/forumlist_body.html
Найти

Код: Выделить всё

<a href="{forumrow.U_LAST_POST}">{LAST_POST_IMG}


В часть строки

Код: Выделить всё

"{forumrow.U_LAST_POST}"


Вставить после

Код: Выделить всё

  <!-- IF forumrow.LAST_TEXT_HOVER -->title="{forumrow.LAST_TEXT_HOVER}"<!-- ENDIF -->


В часть строки

Код: Выделить всё

{LAST_POST_IMG}


Вставить перед ней

Код: Выделить всё

 <!-- IF forumrow.LAST_TEXT_HOVER -->{forumrow.LAST_POST_IMG}<!-- ELSE -->


Вставить после неё

Код: Выделить всё

 <!-- ENDIF -->



Открыть styles/subsilver2/template/overall_header.html
Найти



Вставить перед найденным

Код: Выделить всё

 <script type="text/javascript" src="{T_TEMPLATE_PATH}/tooltip.js"></script>



Открыть styles/subsilver2/template/search_results.html
Найти

Код: Выделить всё

<a href="{searchresults.U_VIEW_TOPIC}" class="topictitle">{searchresults.TOPIC_TITLE}


В часть строки

Код: Выделить всё

{searchresults.U_VIEW_TOPIC}"


Вставить после

Код: Выделить всё

  <!-- IF searchresults.FIRST_TEXT_HOVER -->title="{searchresults.FIRST_TEXT_HOVER}"<!-- ENDIF -->


Найти

Код: Выделить всё

<a href="{searchresults.U_LAST_POST}">{LAST_POST_IMG}


В часть строки

Код: Выделить всё

"{searchresults.U_LAST_POST}"


Вставить после

Код: Выделить всё

  <!-- IF searchresults.LAST_TEXT_HOVER -->title="{searchresults.LAST_TEXT_HOVER}"<!-- ENDIF -->


В часть строки

Код: Выделить всё

{LAST_POST_IMG}


Вставить перед ней

Код: Выделить всё

 <!-- IF searchresults.LAST_TEXT_HOVER -->{searchresults.LAST_POST_IMG}<!-- ELSE -->


Вставить после неё

Код: Выделить всё

 <!-- ENDIF -->



Открыть styles/subsilver2/template/ucp_prefs_view.html
Найти

Код: Выделить всё

<tr>
   <td colspan="2" class="spacer"></td>


Вставить перед найденным

Код: Выделить всё

 <!-- IF S_TEXT_HOVER -->
<tr>
   <td class="row1" width="50%"><b class="genmed">{L_DISABLE_TEXT_HOVER}:</b></td>
   <td class="row2"><input type="radio" class="radio" name="text_hover" value="1"<!-- IF S_DISABLE_TEXT_HOVER --> checked="checked"<!-- ENDIF --> /><span class="gen">{L_YES}</span>&nbsp; &nbsp;<input type="radio" class="radio" name="text_hover" value="0"<!-- IF not S_DISABLE_TEXT_HOVER --> checked="checked"<!-- ENDIF --> /><span class="gen">{L_NO}</span></td>
</tr>
<!-- ENDIF -->



Открыть styles/subsilver2/template/viewforum_body.html
Найти

Код: Выделить всё

<a title="{L_POSTED}: {topicrow.FIRST_POST_TIME}" href="{topicrow.U_VIEW_TOPIC}"class="topictitle">{topicrow.TOPIC_TITLE}


В часть строки

Код: Выделить всё

title="{L_POSTED}: {topicrow.FIRST_POST_TIME}"


Вставить перед ней

Код: Выделить всё

  <!-- IF topicrow.FIRST_TEXT_HOVER -->title="{topicrow.FIRST_TEXT_HOVER}"<!-- ELSE -->


Вставить после неё

Код: Выделить всё

 <!-- ENDIF -->


Найти

Код: Выделить всё

<a href="{topicrow.U_LAST_POST}">{LAST_POST_IMG}


В часть строки

Код: Выделить всё

"{topicrow.U_LAST_POST}"


Вставить после

Код: Выделить всё

  <!-- IF topicrow.LAST_TEXT_HOVER -->title="{topicrow.LAST_TEXT_HOVER}"<!-- ENDIF -->


В часть строки

Код: Выделить всё

{LAST_POST_IMG}


Вставить перед ней

Код: Выделить всё

 <!-- IF topicrow.LAST_TEXT_HOVER -->{topicrow.LAST_POST_IMG}<!-- ELSE -->


Вставить после неё

Код: Выделить всё

 <!-- ENDIF -->


Найти

Код: Выделить всё

<a title="{L_POSTED}: {topicrow.FIRST_POST_TIME}" href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}


В часть строки

Код: Выделить всё

title="{L_POSTED}: {topicrow.FIRST_POST_TIME}"


Вставить перед ней

Код: Выделить всё

  <!-- IF topicrow.FIRST_TEXT_HOVER -->title="{topicrow.FIRST_TEXT_HOVER}"<!-- ELSE -->


Вставить после неё

Код: Выделить всё

 <!-- ENDIF -->


Найти

Код: Выделить всё

<a href="{topicrow.U_LAST_POST}">{LAST_POST_IMG}


В часть строки

Код: Выделить всё

topicrow.U_LAST_POST}"


Вставить после

Код: Выделить всё

  <!-- IF topicrow.LAST_TEXT_HOVER -->title="{topicrow.LAST_TEXT_HOVER}"<!-- ENDIF -->


В часть строки

Код: Выделить всё

{LAST_POST_IMG}


Вставить перед ней

Код: Выделить всё

 <!-- IF topicrow.LAST_TEXT_HOVER -->{topicrow.LAST_POST_IMG}<!-- ELSE -->


Вставить после неё

Код: Выделить всё

 <!-- ENDIF -->


Завершение установки:

Запустить установочный скрипт через браузер по адресу

Код: Выделить всё

http://ваш форум/topichover_db_update.php


после отработки скрипта удалить его с сервера.

Почистить кэш. Настройки мода находятся Админка - Функции форума.

Успешной установки. Мод стопроцентно рабочий - проверяли.

небольшая доработка tooltip.js
Если у вас выводится 2 подсказки или часть других выводится в стандартном варианте, то эта небольшая модификация от Bricklayer для вас:

Открыть /styles/prosilver/template/tooltip.js
Найти

Код: Выделить всё

var anchors = document.getElementsByTagName ("a");


Заменить на

Код: Выделить всё

   function getTagsNames(){
      var res=new Array();
      var tmp=null;
      for(var a=0;a<arguments.length;a++){
         tmp=document.getElementsByTagName(arguments[a]);
         for(var t=0;t<tmp.length;t++)
            res.push(tmp[t]);
      }
      return res;
   }
   var anchors=getTagsNames('a','div','input','button','img','span','dt','select');


Для стиля subsilver2 оставил только ('a','input','button','img','select')
Теперь все всплывающие подсказки выводится в дизайне tooltip.


доработка внешнего вида всплывашки
Открываем файл styles/ваш стиль/theme/tooltip.css
Заменить весь код в файле на следующий

Код: Выделить всё

#tooltip{
border: 3px #6b8dba solid;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
padding: 5px;
display: none;
background : url('./images/1.gif');
color: #000000;
font: 10px Verdana, Arial, Helvetica, sans-serif;
text-align: left;
position: absolute;
left: 0;
z-index: 1000;
filter: alpha(opacity=95);
opacity: .95;
}


объяснения по коду:

Код: Выделить всё

#tooltip{
border: 3px #6b8dba solid; // стиль рамки, по порядку - толщина рамки в пикселях, HTML цвет рамки
-moz-border-radius: 10px; // степень закругленности углов, задается для старых браузеров Mozilla Firefox
-webkit-border-radius: 10px; // степень закругленности углов, задается для старых браузеров Chrome и Safari
border-radius: 10px; // степень закругленности углов, задается для всех прочих браузеров
padding: 5px; // внутренние отступы от рамки до текста подсказки
display: none;
background : url('./images/1.gif'); // фоновое изображение для подсказки, поместить в styles/ваш стиль/theme/images/
color: #000000; // цвет текста в подсказке
font: 10px Verdana, Arial, Helvetica, sans-serif; // используемые шрифты в подсказке
text-align: left; // расположение текста относительно края
position: absolute;
left: 0;
z-index: 1000;
filter: alpha(opacity=95); // степень прозрачности подсказки, значение 100 отключает полностью прозрачность
opacity: .95; // степень прозрачности подсказки, значение 1 отключает полностью прозрачность
}


За эту доработку стоит поблагодарить админа форума Hello-Vitebsk DeaDRoMeO.


Если у Вас установлен мод "Последние темы / NV recent topics", то можно сделать эти всплывашки и там:

соединение с NV recent topics
Открыть includes/functions_recenttopics.php
Найти

Код: Выделить всё

if ($display_parent_forums)
   {
      $sql_query_array['SELECT'] .= ', f.parent_id, f.forum_parents, f.left_id, f.right_id';
   }
 
   $sql = $db->sql_build_query('SELECT', $sql_query_array);
   $result = $db->sql_query_limit($sql, $topics_per_page);


Вставить перед найденным

Код: Выделить всё

// BEGIN Topic Text Hover Mod
         if ($config['hover_active'] && !$user->data['user_text_hover'])
         {
            include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);
            if($config['hover_show'] == TOPIC_TEXT_HOVER_FIRST || $config['hover_show'] == TOPIC_TEXT_HOVER_BOTH)
            {
               $sql_query_array['LEFT_JOIN'][] = array('FROM' => array(POSTS_TABLE => 'p'), 'ON' => 'p.post_id = t.topic_first_post_id');
                  $sql_query_array['SELECT'] .= ', p.post_text AS first_text_hover';
            }
            if($config['hover_show'] == TOPIC_TEXT_HOVER_LAST || $config['hover_show'] == TOPIC_TEXT_HOVER_BOTH)
            {
               $sql_query_array['LEFT_JOIN'][] = array('FROM' => array(POSTS_TABLE => 'pt'), 'ON' => 'pt.post_id = t.topic_last_post_id');
               $sql_query_array['SELECT'] .= ', pt.post_text AS last_text_hover';
            }
         }
         // END Topic Text Hover Mod


Найти

Код: Выделить всё

$template->assign_block_vars($tpl_loopname, array(


Вставить перед найденным

Код: Выделить всё

// BEGIN Topic Text Hover Mod
            if (!empty($row['first_text_hover']) || !empty($row['last_text_hover']))
            {
               // strip bbcode
               include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);         
               if(!empty($row['first_text_hover']))
               {
                  $first_text_hover = bbcode_strip($row['first_text_hover']);
                  if (utf8_strlen($first_text_hover) >= $config['hover_char_limit'])
                  {
                     $first_text_hover = (utf8_strlen($first_text_hover) > $config['hover_char_limit'] + 3) ? utf8_substr($first_text_hover, 0, $config['hover_char_limit']) . '...' : $first_text_hover;
                  }
               }
               if(!empty($row['last_text_hover']))
               {
                  $last_text_hover = bbcode_strip($row['last_text_hover']);
                  if (utf8_strlen($last_text_hover) >= $config['hover_char_limit'])
                  {
                     $last_text_hover = (utf8_strlen($last_text_hover) > $config['hover_char_limit'] + 3) ? utf8_substr($last_text_hover, 0, $config['hover_char_limit']) . '...' : $last_text_hover;
                  }
               }
            }
            else
            {
               $first_text_hover = $last_text_hover = '';
            }
            // END Topic Text Hover Mod


Найти

Код: Выделить всё

'S_TOPIC_TYPE'         => $row['topic_type'],


Вставить перед найденным

Код: Выделить всё

// BEGIN Topic Post Text Mod
            'FIRST_TEXT_HOVER'   => (isset($first_text_hover)) ? censor_text($first_text_hover) : '',
            'LAST_TEXT_HOVER'   => (isset($last_text_hover)) ? censor_text($last_text_hover) : '',
            'LAST_POST_IMG'      => $user->img('icon_topic_latest'),
            // END Topic Post Text Mod



Открыть styles/ваш стиль/template/recent_topics_body.html
Найти

Код: Выделить всё

href="{recent_topics.U_VIEW_TOPIC}" class="topictitle"


Вставить после найденного

Код: Выделить всё

<!-- IF recent_topics.FIRST_TEXT_HOVER -->title="{recent_topics.FIRST_TEXT_HOVER}"<!-- ENDIF -->


Найти

Код: Выделить всё

href="{recent_topics.U_LAST_POST}"


Вставить после найденного

Код: Выделить всё

<!-- IF recent_topics.LAST_TEXT_HOVER -->title="{recent_topics.LAST_TEXT_HOVER}"<!-- ENDIF -->


Найти

Код: Выделить всё

{LAST_POST_IMG}


Заменить найденное на

Код: Выделить всё

<!-- IF recent_topics.LAST_TEXT_HOVER -->{recent_topics.LAST_POST_IMG}<!-- ELSE -->{LAST_POST_IMG}<!-- ENDIF -->


Если у Вас установлен мод "Похожие темы / Precise Similar Topics", то можно сделать эти всплывашки и там:

соединение с Precise Similar Topics
Открыть includes/functions_similar_topics.php
Найти

Код: Выделить всё

// Add topic tracking data to the query (only when query caching is off)


Вставить перед найденным

Код: Выделить всё

// BEGIN Topic Text Hover Mod
         if ($config['hover_active'] && !$user->data['user_text_hover'])
         {
            include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);
            if($config['hover_show'] == TOPIC_TEXT_HOVER_FIRST || $config['hover_show'] == TOPIC_TEXT_HOVER_BOTH)
            {
               $sql_array['LEFT_JOIN'][] = array('FROM' => array(POSTS_TABLE => 'p'), 'ON' => 'p.post_id = t.topic_first_post_id');
                  $sql_array['SELECT'] .= ', p.post_text AS first_text_hover';
            }
            if($config['hover_show'] == TOPIC_TEXT_HOVER_LAST || $config['hover_show'] == TOPIC_TEXT_HOVER_BOTH)
            {
               $sql_array['LEFT_JOIN'][] = array('FROM' => array(POSTS_TABLE => 'pt'), 'ON' => 'pt.post_id = t.topic_last_post_id');
               $sql_array['SELECT'] .= ', pt.post_text AS last_text_hover';
            }
         }
         // END Topic Text Hover Mod


Найти

Код: Выделить всё

$template->assign_block_vars('similar', array(


Вставить перед найденным

Код: Выделить всё

// BEGIN Topic Text Hover Mod
            if (!empty($row['first_text_hover']) || !empty($row['last_text_hover']))
            {
               // strip bbcode
               include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);         
               if(!empty($row['first_text_hover']))
               {
                  $first_text_hover = bbcode_strip($row['first_text_hover']);
                  if (utf8_strlen($first_text_hover) >= $config['hover_char_limit'])
                  {
                     $first_text_hover = (utf8_strlen($first_text_hover) > $config['hover_char_limit'] + 3) ? utf8_substr($first_text_hover, 0, $config['hover_char_limit']) . '...' : $first_text_hover;
                  }
               }
               if(!empty($row['last_text_hover']))
               {
                  $last_text_hover = bbcode_strip($row['last_text_hover']);
                  if (utf8_strlen($last_text_hover) >= $config['hover_char_limit'])
                  {
                     $last_text_hover = (utf8_strlen($last_text_hover) > $config['hover_char_limit'] + 3) ? utf8_substr($last_text_hover, 0, $config['hover_char_limit']) . '...' : $last_text_hover;
                  }
               }
            }
            else
            {
               $first_text_hover = $last_text_hover = '';
            }
            // END Topic Text Hover Mod


Найти

Код: Выделить всё

'PAGINATION'         => topic_generate_pagination($row['topic_replies'], append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $similar_forum_id . '&amp;t=' . $similar_topic_id)),


Вставить перед найденным

Код: Выделить всё

// BEGIN Topic Post Text Mod
            'FIRST_TEXT_HOVER'   => (isset($first_text_hover)) ? censor_text($first_text_hover) : '',
            'LAST_TEXT_HOVER'   => (isset($last_text_hover)) ? censor_text($last_text_hover) : '',
            'LAST_POST_IMG'      => $user->img('icon_topic_latest'),
            // END Topic Post Text Mod



Открыть styles/ваш стиль/template/similar_topics.html
Найти

Код: Выделить всё

href="{similar.U_VIEW_TOPIC}" class="topictitle"


Вставить после найденного

Код: Выделить всё

<!-- IF similar.FIRST_TEXT_HOVER -->title="{similar.FIRST_TEXT_HOVER}"<!-- ENDIF -->


Найти

Код: Выделить всё

href="{similar.U_LAST_POST}"


Вставить после найденного

Код: Выделить всё

<!-- IF similar.LAST_TEXT_HOVER -->title="{similar.LAST_TEXT_HOVER}"<!-- ENDIF -->


Найти

Код: Выделить всё

{LAST_POST_IMG}


Заменить найденное на

Код: Выделить всё

<!-- IF similar.LAST_TEXT_HOVER -->{similar.LAST_POST_IMG}<!-- ELSE -->{LAST_POST_IMG}<!-- ENDIF -->




трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Показать сообщения за:  Поле сортировки  
Ответить на тему  [ 1 сообщение ] 

Кто сейчас на конференции:

Всего посетителей: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (63) здесь было 23 май 2026, 12:35

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Часовой пояс: UTC + 3 часа



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

cron

Текущее время: 28 июн 2026, 00:23

Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB.