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

Topic Hints для IPB v2.0


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

// *************************************************************

// файл ./lang/../lang_ucp.php

// *************************************************************

// Найти:

// ---------------

 

$lang = array (

 

// ---------------

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

// ---------------

 

'settings_hints' => "Показывать всплывающее окно первого и последнего сообщения темы ?",

 

 

// *************************************************************

// файл ./lang/../lang_forum.php

// *************************************************************

// Найти в конце файла:

// ---------------

 

 

);

?>

 

 

// ---------------

// Добавить перед:

// ---------------

 

hints_head      => "Начало первого сообщения темы",

last_hints_head  => "Начало последнего сообщения темы",

Может в етом баг-прописывал тока в энглише.в русе ваще надо тоже прописать???там ведь немного по-другому)))

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

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

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

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

в русе ваще надо тоже прописать???там ведь немного по-другому)))

Разумеется нужно.

В русский ланг нужно вставлять новые элементы массива так:

$lang['hints_head'] = "Начало первого сообщения темы";

$lang['last_hints_head'] = "Начало последнего сообщения темы";

$lang['settings_hints'] = "Показывать всплывающее окно первого и последнего сообщения темы ?";

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

Установлен мод версии 2.05, хотелось бы установить 2.31. Что для этого нужно? Достаточно ли установить только Fix 2.30? или старую версию снести и поставить 2.31? Есть ли апгрейд с 2.05 до 2.31?
Ссылка на комментарий
Поделиться на других сайтах

register

Достаточно ли установить только Fix 2.30?

Нет. Fix написан для 2.30 (апдейт до 2.31).

Есть ли апгрейд с 2.05 до 2.31?

Нету. :D Нужно снести старый и ставить новый. Сорри.

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

urisoft

 

Ты просто умница тебе етого ешё не говорили ;):)

 

ладно перехожу к сабжу

дело в том что у меня была установлена уже старая версия 1.a (помойму так называетса)

и было так в падлу всё переставлять заного поетому я зделал немного по своему

 

вот что я зделал

1. изменил

папка форума/sources/search.php

находим

$topic['start_date'] = $std->get_date( $topic['start_date'], 'LONG' );

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

// убираем IBF спец коды (remove IBF codes)
  // цитата (quote)
  $topic['post'] = preg_replace( "#<!--QuoteBegin-->(.+?)<!--QuoteEBegin-->#",'\\1 ',$topic['post'] );
  $topic['post'] = preg_replace( "#<!--QuoteBegin-{1,2}([^>]+?)\+([^>]+?)-->(.+?)<!--QuoteEBegin-->#","\\3 ",$topic['post'] );
  $topic['post'] = preg_replace( "#<!--QuoteBegin-{1,2}([^>]+?)\+-->(.+?)<!--QuoteEBegin-->#","\\2 ",$topic['post'] );
  $topic['post'] = preg_replace( "#<!--QuoteEnd-->(.+?)<!--QuoteEEnd-->#",'<br>',$topic['post'] );
  // код (code)
  $topic['post'] = preg_replace( "#<!--c1-->(.+?)<!--ec1-->#",'\\1 ',$topic['post']);
  $topic['post'] = preg_replace( "#<!--c2-->(.+?)<!--ec2-->#",'<br>',$topic['post']);
  // все остальные просто вырезаем (All others it is cut simply out)
  $topic['post'] = preg_replace("#<!--.+?-->#","",$topic['post']);
  // переводим список в набор новых строк и начало строки в код \n (We translate the list in a set of new lines and the beginning of a line in a code \n)
  $topic['post'] = preg_replace( "'<\/ul>|<ul>|<ol>|<\/ol>|<br>|<br \/>'i", "\n", $topic['post'] );
  $topic['post'] = preg_replace( "'<li>'i", "\n-", $topic['post'] );
  // убираем символ возврата каретки (We remove a symbol of return of the carriage)
  $topic['post'] = preg_replace( "/\r/", "", $topic['post'] );
  // сохраняем форматирование (жирный, подчеркнутый, наклонный текст) (We keep formatting (bold, underline, italic text))
  $topic['post'] = preg_replace("'<b>'i","\x01",$topic['post']);
  $topic['post'] = preg_replace("'</b>'i","\x02",$topic['post']);
  $topic['post'] = preg_replace("'<i>'i","\x03",$topic['post']);
  $topic['post'] = preg_replace("'</i>'i","\x04",$topic['post']);
  $topic['post'] = preg_replace("'<u>'i","\x05",$topic['post']);
  $topic['post'] = preg_replace("'</u>'i","\x06",$topic['post']);
  // убираем все HTML тэги (We remove all HTML tags)
  $topic['post'] = strip_tags($topic['post']);
  // переводим HTML коды в соответствующие символы (We translate HTML codes in the appropriate symbols)
  $topic['post'] = preg_replace("'(&|&|&)'i","&",$topic['post']);
  $topic['post'] = preg_replace("'(<|<|<)'i","<",$topic['post']);
  $topic['post'] = preg_replace("'(>|>|>)'i",">",$topic['post']);
  $topic['post'] = preg_replace("'("|"|")'i","\"",$topic['post']);
  $topic['post'] = preg_replace("'('|')'i","'",$topic['post']);
  $topic['post'] = preg_replace("'(!|!)'i","!",$topic['post']);
  $topic['post'] = preg_replace("'(|)'i","|",$topic['post']);
  $topic['post'] = preg_replace("'($|$)'i","$",$topic['post']);
  $topic['post'] = preg_replace("'(\|\)'i","\\",$topic['post']);

  $g_add = false;
  // максимум 5 новых строк (Maximum of 5 new lines)
  $split_array = explode("\n",$topic['post']);
  if (count($split_array) > 5) $g_add = true;
  $split_array = array_slice($split_array,0,5);
  $topic['post'] = implode("\n",$split_array);

  // обрезаем строку (150 символов максимум) (cut a line (150 symbols a maximum))
  if (strlen($topic['post']) > 150) $g_add = true;
  $topic['post'] = substr( $topic['post'], 0,150 );

  // переводим нужные символы в HTML кодировку (We translate the necessary symbols in HTML the coding)
  $topic['post'] = str_replace("<","<",$topic['post']);
  $topic['post'] = str_replace(">",">",$topic['post']);
  $topic['post'] = str_replace("\"",""",$topic['post']);
  $topic['post'] = str_replace("'","'",$topic['post']);
  $topic['post'] = str_replace("!","!",$topic['post']);
  $topic['post'] = str_replace("|","|",$topic['post']);
  $topic['post'] = str_replace("$","$",$topic['post']);
  $topic['post'] = str_replace("\\","\",$topic['post']);
  $topic['post'] = str_replace("&","&",$topic['post']);
  $topic['post'] = str_replace("\n","<br />", $topic['post'] );
  // восстановим форматирование (жирный, подчеркнутый, наклонный текст) (Let's restore formatting (bold, underline, italic text))
  $topic['post'] = preg_replace("/\x01/","<b>",$topic['post']);
  $topic['post'] = preg_replace("/\x02/","</b>",$topic['post']);
  $topic['post'] = preg_replace("/\x03/","<i>",$topic['post']);
  $topic['post'] = preg_replace("/\x04/","</i>",$topic['post']);
  $topic['post'] = preg_replace("/\x05/","<u>",$topic['post']);
  $topic['post'] = preg_replace("/\x06/","</u>",$topic['post']);
  // добавляем стрелки и три точки если обрезали текст (We add arrows and three points if have cut off the text)
  if ($g_add) $topic['post'] .= "...»»";

 

находим

$DB->query("SELECT t.*, f.id as forum_id, f.name as forum_name
      	FROM ibf_topics t
        LEFT JOIN ibf_forums f ON (f.id=t.forum_id)
        WHERE t.tid IN(0{$topics}0)
        ORDER BY t.pinned DESC, t.".$this->sort_key." ".$this->sort_order."
      	LIMIT ".$this->first.",25");

заменяем на

$DB->query("SELECT t.*, f.id as forum_id, f.name as forum_name, p.post, lp.post as l_post
      	FROM ibf_topics t
        LEFT JOIN ibf_forums f ON (f.id=t.forum_id)
        LEFT JOIN ibf_posts p ON (t.tid=p.topic_id AND p.new_topic=1)
        LEFT JOIN ibf_posts lp ON (t.tid=lp.topic_id AND lp.post_date=t.last_post)
        WHERE t.tid IN(0{$topics}0)
        ORDER BY t.pinned DESC, t.".$this->sort_key." ".$this->sort_order."
      	LIMIT ".$this->first.",25");

находим

    $DB->query("SELECT t.*, f.id as forum_id, f.name as forum_name
      	FROM ibf_topics t, ibf_forums f
        WHERE t.tid IN(0{$topics}-1) and f.id=t.forum_id
        ORDER BY t.pinned DESC, ".$this->sort_key." ".$this->sort_order."
      	LIMIT ".$this->first.",25");

заменяем на

$DB->query("SELECT t.*, f.id as forum_id, f.name as forum_name, p.post, lp.post as l_post
      	FROM ibf_topics t, ibf_forums f
        LEFT JOIN ibf_posts p ON (t.tid=p.topic_id AND p.new_topic=1)
        LEFT JOIN ibf_posts lp ON (t.tid=lp.topic_id AND lp.post_date=t.last_post)
        WHERE t.tid IN(0{$topics}-1) and f.id=t.forum_id
        ORDER BY t.pinned DESC, ".$this->sort_key." ".$this->sort_order."
      	LIMIT ".$this->first.",25");

 

найти

$DB->query("SELECT t.*, f.id as forum_id, f.name as forum_name
               FROM ibf_topics t, ibf_forums f
              WHERE t.tid IN($topic_string) and f.id=t.forum_id
              ORDER BY ".$this->sort_key." ".$this->sort_order." LIMIT 0,25");

заменяем на

$DB->query("SELECT t.*, f.id as forum_id, f.name as forum_name, p.post, lp.post as l_post
               FROM ibf_topics t, ibf_forums f
      LEFT JOIN ibf_posts p ON (t.tid=p.topic_id AND p.new_topic=1)
      LEFT JOIN ibf_posts lp ON (t.tid=lp.topic_id AND lp.post_date=t.last_post)
              WHERE t.tid IN($topic_string) and f.id=t.forum_id
              ORDER BY ".$this->sort_key." ".$this->sort_order." LIMIT 0,25");

 

сохранил и закрыл файл

 

открыл папка форума/skin/s./skin_search.php

 

найти

function active_start($data) {
global $ibforums;
return <<<EOF

ниже добавить

<script language='javascript' src="./html/hints.js"></script>
<DIV id='hints' style="Z-INDEX: 33; LEFT: 0px; VISIBILITY: hidden; POSITION: absolute; TOP: 0px"></DIV>

найти

function start($Data) {
global $ibforums;
return <<<EOF

ниже добавить

<script language='javascript' src="./html/hints.js"></script>
<DIV id='hints' style="Z-INDEX: 33; LEFT: 0px; VISIBILITY: hidden; POSITION: absolute; TOP: 0px"></DIV>

найти

<td width='100%'>{$Data['prefix']} <a href='{$ibforums->base_url}showtopic={$Data['tid']}&hl={$Data['keywords']}'>{$Data['title']}</a>  {$Data[PAGES]}</td>

Заменить на

<td id="hint{$Data['tid']}" width='100%'>{$Data['prefix']} <a href='{$ibforums->base_url}showtopic={$Data['tid']}&hl={$Data['keywords']}' OnMouseOver='javascript:showHints("hint{$Data['tid']}","{$ibforums->lang['hints_head']}","{$Data['post']}");' OnMouseOut='javascript:hideHints();' OnMouseMove='javascript:moveHints();'>{$Data['title']}</a>  {$Data[PAGES]}</td>

 

всё

сохранил всё и вот что получилось

 

видны первые топики сообшений в простом просмотре форума- в " обзоре новых сообшений" и "активных темах" ето впринцепе то что и было надо мне :)

надеюсь не нахимичил сильно :D

 

если кому то подойдёт етот вериант то пожалуста

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

Dimitron0077

надеюсь не нахимичил сильно

Похоже, что нахимичил.

Все что ты написал, кажется для версии форума 1.х ???

А в этой теме под 2.0. :D

Не туда напостил...

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

  • 2 недели спустя...

Попытался установить этот мод согласно прилагаемой инструкции:

 

*************************************************************
// TopicHints v2.31 for Invision Power Board v2.0F
// © UriSoft 2004
// *************************************************************
// При наведении курсора на название темы отображает начало
// первого сообщения в теме. При наведении курсора на ссылку
// последнего сообщения темы отображает начало последнего
// сообщения темы.
// Хинты отображаются в списке тем, в результатах поиска,
// в списке активных тем (новых тем).
// *************************************************************
//
//
// v2.31
// [!] Исправлена ошибка отображения постов в поиске.
//
// v2.30
// [+] Отображение последнего сообщения темы.
// [+] Отображение хинтов в результатах поиска при выводе результата
//     как списка тем
// [!] Исправлена ошибка при работе поиска
// [*] С версии 2.30 изменен порядок нумерации версий мода
//     Версия 1.30 функционально идентична версии 2.30
//     Версии 1.хх написаны для форума 1.3F
//     Версии 2.хх написаны для форума 2.0F
//
// v2.06
// [+] Включено отображение хинта в списке новых тем (автор Серега).
// [-] Убран лишний запрос в базу (спасибо d1pro)
// [!] Исправлена некорректная работа с аттачментами.
//
// v2.05
// [+] Пользователь может отключать хинты в своих настройках
//     Гости видят хинты всегда
//
// ---------------------------------------------------------------
// [+] - added
// [!] - fixed
// [-] - removed
// [*] - info



// *************************************************************
// Пункт 1: Добавляем код
// файл ./sources/sql/mysql_queries.php
// *************************************************************
// ---------------
// Найти:
// ---------------

	return "SELECT m.id, m.name, m.mgroup, m.member_login_key, m.email, m.restrict_post, m.view_sigs, m.view_avs, m.view_pop, m.view_img, m.auto_track,


// ---------------
// Заменить на:
// ---------------

	return "SELECT m.id, m.view_hints, m.name, m.mgroup, m.member_login_key, m.email, m.restrict_post, m.view_sigs, m.view_avs, m.view_pop, m.view_img, m.auto_track,




// *************************************************************
// файл ./sources/lib/post_new_post.php
// *************************************************************
// ---------------
// Найти:
// ---------------

'last_post'        => time(),


// ---------------
// Заменить на:
// ---------------

'last_post'        => $this->post['post_date'],


// *************************************************************
// файл ./sources/lib/post_reply_post.php
// *************************************************************
// ---------------
// Найти:
// ---------------

$update_array['last_post']        = time();


// ---------------
// Заменить на:
// ---------------

$update_array['last_post']        = $this->post['post_date'];


// *************************************************************
// файл ./sources/lib/post_poll.php
// *************************************************************
// ---------------
// Найти:
// ---------------

'last_post'        => time(),

// ---------------
// Заменить на:
// ---------------

'last_post'        => $this->post['post_date'],


// *************************************************************
// файл ./sources/forums.php
// *************************************************************
// ---------------
// Найти:
// ---------------

		$DB->simple_construct( array( 'select' => '*',
									  'from'   => 'topics',

// ---------------
// Заменить на:
// ---------------

		$DB->simple_construct( array( 'select' => '*, p.post, lp.post as l_post',
									  'from'   => 'topics LEFT JOIN ibf_posts p ON (tid=p.topic_id AND p.new_topic=1)
													LEFT JOIN ibf_posts lp ON (tid=lp.topic_id AND lp.post_date=last_post)',

// ---------------
// Найти:
// ---------------

function parse_data( $topic )

// ---------------
// Заменить на:
// ---------------

function parse_data( $topic, $view_as_post = 0 )

// ---------------
// Найти:
// ---------------

	$topic['start_date'] = $std->get_date( $topic['start_date'], 'LONG' );

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


// Topic Hints
	if (!$view_as_post)
	{
		$topic['post'] = $std->process_hints(&$topic,$topic['post']);
		$topic['l_post'] = $std->process_hints(&$topic,$topic['l_post']);
	}
// Topic Hints



// *************************************************************
// файл ./sources/usercp.php
// *************************************************************
// Найти:
// ---------------

		$this->output .= $this->html->settings_end( array ( 'IMG'  => $view_img."</select>",

// ---------------
// Заменить на:
// ---------------

		$view_hints  = "<select name='VIEW_HINTS' class='forminput'>";
	$view_hints .= $ibforums->member['view_hints'] ? "<option value='1' selected='selected'>".$ibforums->lang['yes']."</option>\n<option value='0'>".$ibforums->lang['no']."</option>"
											   : "<option value='1'>".$ibforums->lang['yes']."</option>\n<option value='0' selected='selected'>".$ibforums->lang['no']."</option>";

		$this->output .= $this->html->settings_end( array ( 'IMG'  => $view_img."</select>",
															'HINT' => $view_hints."</select>",



// *************************************************************
// файл ./sources/lib/usercp_functions.php
// *************************************************************
// Найти:
// ---------------

	$DB->do_update( 'members',  array (  'time_offset'  => $ibforums->input['u_timezone'],

// ---------------
// Заменить на:
// ---------------

	if ( ! preg_match( "/^\d+$/", $ibforums->input['VIEW_HINTS'] ) )
	{
		$std->Error( array( 'LEVEL' => 1, 'MSG' => 'poss_hack_attempt' ) );
	}

	$DB->do_update( 'members',  array (  'time_offset'  => $ibforums->input['u_timezone'],
										 'view_hints'   => $ibforums->input['VIEW_HINTS'],





// *************************************************************
// файл ./sources/search.php
// *************************************************************
// Найти (функция get_new_posts):
// ---------------

		$DB->simple_construct( array( 'select' => 't.*, t.title as topic_title',
									  'from'   => 'topics t',
									  'where'  => "t.approved=1 AND t.forum_id IN($forums) AND t.last_post > {$last_time}",
									  'order'  => "t.last_post DESC" ) );

// ---------------
// Заменить на:
// ---------------

		$DB->simple_construct( array( 'select' => 't.*, t.title as topic_title, p.post, lp.post as l_post',
									  'from'   => 'topics t, ibf_posts p, ibf_posts lp',
									  'where'  => "t.approved=1 AND t.forum_id IN($forums) AND t.last_post > {$last_time} AND p.topic_id=t.tid AND p.new_topic=1 AND lp.topic_id=t.tid AND lp.post_date=t.last_post",
									  'order'  => "t.last_post DESC" ) );


// ---------------
// Найти (функция show_results):
// ---------------
// 2 раза:
// ---------------

			$DB->simple_construct( array( 'select' => 't.*',
										  'from'   => 'topics t',
										  'where'  => "t.tid IN({$topics})",
										  'order'  => "t.pinned DESC, t.".$this->sort_key." ".$this->sort_order,
										  'limit'  => array( $this->first, 25 )
								 )      );

// ---------------
// Заменить на:
// ---------------

			$DB->simple_construct( array( 'select' => 't.*, p.post, lp.post as l_post',
										  'from'   => 'topics t
														LEFT JOIN ibf_posts p ON (t.tid=p.topic_id AND p.new_topic=1)
														LEFT JOIN ibf_posts lp ON (t.tid=lp.topic_id AND lp.post_date=t.last_post)',
										  'where'  => "t.tid IN({$topics})",
										  'order'  => "t.pinned DESC, t.".$this->sort_key." ".$this->sort_order,
										  'limit'  => array( $this->first, 25 )
								 )      );

// ---------------
// Найти (функция parse_entry):
// ---------------

	$topic = $this->forums->parse_data( $topic );

// ---------------
// Заменить на:
// ---------------

	$topic = $this->forums->parse_data( $topic, $view_as_post );


// *************************************************************
// файл ./sources/functions.php
// *************************************************************
// Найти в конце файла:
// ---------------

} // end class

?>

// ---------------
// Добавить выше:
// ---------------

function process_hints(&$topic,$post)
{
	global $ibforums;

	if ($ibforums->member['id'] and !$ibforums->member['view_hints'])
	{
		return "";
	}

	$post = preg_replace( "'<br>|<br \/>'i", "\n", $post );
	$post = preg_replace( "/\r/", "", $post );
	$post = strip_tags($post);

	$post = preg_replace("'(&|&|&)'i","&",$post);
	$post = preg_replace("'(<|<|<)'i","<",$post);
	$post = preg_replace("'(>|>|>)'i",">",$post);
	$post = preg_replace("'("|"|")'i","\"",$post);
	$post = preg_replace("'('|')'i","'",$post);
	$post = preg_replace("'(!|!)'i","!",$post);
	$post = preg_replace("'(|)'i","|",$post);
	$post = preg_replace("'($|$)'i","$",$post);
	$post = preg_replace("'(\|\)'i","\\",$post);

	// remove attachment id if attachment present
	if ($topic['topic_hasattach'])
	{
		$post = preg_replace("'(\[attachmentid=\d+\])'i","",$post);
	}

	// remove empty line
	$post = preg_replace( "'\n(\s*)\n'i", "\n", $post );

	// remove first empty line
	$post = preg_replace( "'^(\s*)(\n+)'i", "", $post );

	$g_add = false;
	// максимум 5 новых строк
	$split_array = explode("\n",$post);
	if (count($split_array) > 5) $g_add = true;
	$post = implode("\n",array_slice($split_array,0,5));

	// обрезаем строку (150 символов максимум)
	if (strlen($post) > 150)
	{
		$g_add = true;
		$post = substr( $post, 0, 150);
	}

	$post = str_replace("<","<",$post);
	$post = str_replace(">",">",$post);
	$post = str_replace("\"",""",$post);
	$post = str_replace("'","'",$post);
	$post = str_replace("!","!",$post);
	$post = str_replace("|","|",$post);
	$post = str_replace("$","$",$post);
	$post = str_replace("\\","\",$post);
	$post = str_replace("&","&",$post);
	$post = str_replace("\n","<br />", $post );

	if ($g_add) $post .= "...»»";

	return $post;
}



// *************************************************************
// файл ./lang/../lang_ucp.php
// *************************************************************
// Найти:
// ---------------

$lang = array (

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

'settings_hints' => "Показывать всплывающее окно первого и последнего сообщения темы ?",


// *************************************************************
// файл ./lang/../lang_forum.php
// *************************************************************
// Найти в конце файла:
// ---------------


);
?>


// ---------------
// Добавить перед:
// ---------------

hints_head						=> "Начало первого сообщения темы",
last_hints_head					=> "Начало последнего сообщения темы",


// *************************************************************
// Пункт 2: Изменяем шаблоны
// Админка->Редактор шаблонов
// Группа шаблонов Forum Index
// *************************************************************
// ---------------
// Шаблон PageTop
// ---------------
// ---------------
// Найти:
// ---------------

<!--IBF.SUBFORUMS-->

// ---------------
// Добавить перед:
// ---------------

<script type="text/javascript" src="jscripts/hints.js"></script>
<DIV id='hints' style="Z-INDEX: 33; LEFT: 0px; VISIBILITY: hidden; POSITION: absolute; TOP: 0px"></DIV>


// ---------------
// Шаблон render_forum_row
// ---------------
// ---------------
// Найти:
// ---------------

	<div>
		{$data['go_new_post']}{$data['prefix']} {$data['attach_img']}<a href="{ipb.script_url}showtopic={$data['tid']}" title="{ipb.lang['topic_started_on']} {$data['start_date']}">{$data['title']}</a> {$data[PAGES]}
		<div class="desc">{$data['description']}</div>
	</div>


// ---------------
// Заменить на:
// ---------------

	<div id="hint{$data['tid']}">
		{$data['go_new_post']}{$data['prefix']} {$data['attach_img']}<a href="{ipb.script_url}showtopic={$data['tid']}" OnMouseOver='java script:showHints("hint{$data['tid']}","{ipb.lang['hints_head']}","{$data['post']}");' OnMouseOut='java script:hideHints();' OnMouseMove='java script:moveHints();'>{$data['title']}</a> {$data[PAGES]}
		<div class="desc">{$data['description']}</div>
	</div>


// ---------------
// Найти:
// ---------------

<td class="$class1"><span class="lastaction">{$data['last_post']}<br /><a href="{ipb.script_url}showtopic={$data['tid']}&view=getlastpost">{$data['last_text']}</a> <b>{$data['last_poster']}</b></span></td>


// ---------------
// Заменить на:
// ---------------

<td class="$class1"><span class="lastaction"><div id="lhint{$data['tid']}">{$data['last_post']}<br /><a href="{ipb.script_url}showtopic={$data['tid']}&view=getlastpost" OnMouseOver='java script:showHints("lhint{$data['tid']}","{ipb.lang['last_hints_head']}","{$data['l_post']}");' OnMouseOut='java script:hideHints();' OnMouseMove='java script:moveHints();'>{$data['last_text']}</a> <b>{$data['last_poster']}</b></div></span></td>


// *************************************************************
// Админка->Редактор шаблонов
// Группа шаблонов User Control Panel
// *************************************************************
// ---------------
// Шаблон settings_end
// ---------------
// ---------------
// Найти:
// ---------------

<tr>
	<td>{ipb.lang['open_qr']}<br/ ></td>
	<td>{$data[QR]}</td>
</tr>

// ---------------
// Добавить ниже:
// ---------------

<tr>
	<td>{ipb.lang['settings_hints']}<br/ ></td>
	<td align='left'>{$data[HINT]}</td>
</tr>


// *************************************************************
// Админка->Редактор шаблонов
// Группа шаблонов Search
// *************************************************************
// ---------------
// Шаблон start
// ---------------
// ---------------
// Найти:
// ---------------

<script type="text/javascript" src="jscripts/ipb_forum.js"></script>

// ---------------
// Добавить ниже:
// ---------------

<script type="text/javascript" src="jscripts/hints.js"></script>
<DIV id='hints' style="Z-INDEX: 33; LEFT: 0px; VISIBILITY: hidden; POSITION: absolute; TOP: 0px"></DIV>


// ---------------
// Шаблон RenderRow
// ---------------
// ---------------
// Найти:
// ---------------

<td width="100%">{$data['prefix']} <a href="{ipb.script_url}showtopic={$data['tid']}&hl={$data['keywords']}">{$data['title']}</a>  {$data[PAGES]}</td>

// ---------------
// Заменить на:
// ---------------

<td width='100%'><div id="hint{$data['tid']}">{$data['prefix']} <a href="{ipb.script_url}showtopic={$data['tid']}&hl={$data['keywords']}" OnMouseOver='java script:showHints("hint{$data['tid']}","{ipb.lang['hints_head']}","{$data['post']}");' OnMouseOut='java script:hideHints();' OnMouseMove='java script:moveHints();'>{$data['title']}</a>  {$data[PAGES]}</td>

// ---------------
// Найти:
// ---------------

<td class="row1"><span class="desc">{$data['last_post']}<br /><a href="{ipb.script_url}showtopic={$data['tid']}&view=getlastpost">{$data['last_text']}</a> <b>{$data['last_poster']}</b></span></td>

// ---------------
// Заменить на:
// ---------------

<td class="row1"><span class="desc"><div id="lhint{$data['tid']}">{$data['last_post']}<br /><a href="{ipb.script_url}showtopic={$data['tid']}&view=getlastpost" OnMouseOver='java script:showHints("lhint{$data['tid']}","{ipb.lang['last_hints_head']}","{$data['l_post']}");' OnMouseOut='java script:hideHints();' OnMouseMove='java script:moveHints();'>{$data['last_text']}</a> <b>{$data['last_poster']}</b></div></span></td>



// *************************************************************
// Пункт 3: Добавляем поле в базу
// В phpMyAdmin выполнить нижеследующий запрос:
// В запросе заменить '0' на '1' если хотите, чтобы по умолчанию
// хинты показывались, иначе пользователь ничего не увидит пока
// не включит соответствующую опцию в своих настройках.
// В запросе ibf_ заменить на ваш префикс.
// *************************************************************

ALTER TABLE `ibf_members` ADD `view_hints` TINYINT( 1 ) DEFAULT '0';



// *************************************************************
// Пункт 4: Добавляем стили
// добавить нижеуказанные стили во все скины из панели администратора
// представленные стили выполнены в светло-голубой гамме.
// измените стили в соответствии с вашим дизайном.
// -------------------------------------------------------------

.hintshead { font-family: Verdana, Arial, Helvetica, sans-serif; font-size:10px; background-color:#D1DCEB; border: 1px solid #97A2B0; padding:0px; margin:0px; width:300px; }
.hintstext { font-family: Verdana, Arial, Helvetica, sans-serif; font-size:10px; background-color:#F5F9FD; color: #000; padding:0px; margin:0px; width: 100%; }


// *************************************************************
// Пункт 5: Добавляем файлы
// Скопировать в папку ./jscripts файл hints.js
// *************************************************************



// *************************************************************
// Вроде все.
// *************************************************************
// urisoft2002@yandex.ru
// [url="http://www.ibresource.ru/"]http://www.ibresource.ru/[/url]
// *************************************************************

и получил вот такую ерундень вместо желаемого результата

 

mySQL query error: SELECT *, p.post, lp.post as l_post FROM ibf_topics LEFT JOIN ibf_posts p ON (tid=p.topic_id AND p.new_topic=1)
             LEFT JOIN ibf_posts lp ON (tid=lp.topic_id AND lp.post_date=last_post) WHERE forum_id=12  ORDER BY pinned desc,  last_post DESC LIMIT 0,50

mySQL error: Column: 'pinned' in order clause is ambiguous
mySQL error code: 
Date: Saturday 15th of January 2005 01:57:02 PM

 

Сразу хочу сказать что перепроверял всё раз десять не меньше,но так и не смог найти причину.

У меня стоит 2.0.3

 

Прошу помогите

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

=FOCUS=

интересно.

А что в 2.0.3 в таблице постов появилось поле pinned ?

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

интересно.

А что в 2.0.3 в таблице постов появилось поле pinned ?

 

Спасибо за указание направления поиска проблеммы.Всё что лишнее удалил и теперь хак работает

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

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

При открытии поиска выдает:

Parse error: parse error, unexpected T_OBJECT_OPERATOR in forum/sources/search.php on line 994

Вот строка 994:

DB->simple_construct( array( 'select' => 't.*, p.post, lp.post as l_post',

В чём может быть проблема?

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

Поставил мод. Работает. Автору спасибо.

 

Однако, на главной странице User CP, где отображаются недавно прочитанные темы, попытка навести указатель мыши на топик вызывает Script Error. Я что-то пропустил при установке или вы при написании?

 

2 toha, kastrator: откатывайте скрипты до состояния их до установки мода и ставим заново. Просто ошиблись где-то, бывает.

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

Dr.Freddy

спасибо, исправил

 

такая проблема, тут уже была странице на 3

в всплывающем хинте отображается хтмл код вместе с текстом

 

как мне это можно исправить?

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

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

 

Та же беда и у меня, и у малдафа на форуме. И ещё форматирование в хинте не отображается (ВВ-коды)...

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

Устанавливаю хак и вот что интересно:

// *************************************************************

// Пункт 2: Изменяем шаблоны

// Админка->Редактор шаблонов

// Группа шаблонов Forum Index

// *************************************************************

// ---------------

// Шаблон PageTop

// ---------------

// ---------------

// Найти:

// ---------------

 

<!--IBF.SUBFORUMS-->

 

// ---------------

// Добавить перед:

// ---------------

 

<script type="text/javascript" src="jscripts/hints.js"></script>

<DIV id='hints' style="Z-INDEX: 33; LEFT: 0px; VISIBILITY: hidden; POSITION: absolute; TOP: 0px"></DIV>

 

 

// ---------------

// Шаблон render_forum_row

// ---------------

// ---------------

// Найти:

// ---------------

 

  <div>

  {$data['go_new_post']}{$data['prefix']} {$data['attach_img']}<a href="{ipb.script_url}showtopic={$data['tid']}" title="{ipb.lang['topic_started_on']} {$data['start_date']}">{$data['title']}</a> {$data[PAGES]}

  <div class="desc">{$data['description']}</div>

  </div>

 

 

// ---------------

// Заменить на:

// ---------------

 

  <div id="hint{$data['tid']}">

  {$data['go_new_post']}{$data['prefix']} {$data['attach_img']}<a href="{ipb.script_url}showtopic={$data['tid']}" OnMouseOver='java script:showHints("hint{$data['tid']}","{ipb.lang['hints_head']}","{$data['post']}");' OnMouseOut='java script:hideHints();' OnMouseMove='java script:moveHints();'>{$data['title']}</a> {$data[PAGES]}

  <div class="desc">{$data['description']}</div>

  </div>

 

 

// ---------------

// Найти:

// ---------------

 

<td class="$class1"><span class="lastaction">{$data['last_post']}<br /><a href="{ipb.script_url}showtopic={$data['tid']}&view=getlastpost">{$data['last_text']}</a> <b>{$data['last_poster']}</b></span></td>

 

 

// ---------------

// Заменить на:

// ---------------

 

<td class="$class1"><span class="lastaction"><div id="lhint{$data['tid']}">{$data['last_post']}<br /><a href="{ipb.script_url}showtopic={$data['tid']}&view=getlastpost" OnMouseOver='java script:showHints("lhint{$data['tid']}","{ipb.lang['last_hints_head']}","{$data['l_post']}");' OnMouseOut='java script:hideHints();' OnMouseMove='java script:moveHints();'>{$data['last_text']}</a> <b>{$data['last_poster']}</b></div></span></td>

Нету никакого <!--IBF.SUBFORUMS--> и нету шаблона render_forum_row. Всё остальное сделано, но хинты не появляются.

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

Как все-таки это исправить?

mySQL query error: SELECT *, p.post, lp.post as l_post FROM ibf_topics LEFT JOIN ibf_posts p ON (tid=p.topic_id AND p.new_topic=1)

              LEFT JOIN ibf_posts lp ON (tid=lp.topic_id AND lp.post_date=last_post) WHERE forum_id=63  ORDER BY pinned desc,  last_post DESC LIMIT 0,40

 

mySQL error: Column: 'pinned' in order clause is ambiguous

mySQL error code:

Date: Saturday 19th of March 2005 06:06:49 PM

[1111244940:1111318566]ответьте пожалуйсчта
Ссылка на комментарий
Поделиться на других сайтах

Нету никакого <!--IBF.SUBFORUMS--> и нету шаблона render_forum_row. Всё остальное сделано, но хинты не появляются.

 

Есть. Используй "Поиск и замена в шаблонах" (АСР).

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

GrayWarrior, я делал всё по инструкции, по инструкции сказано в нужном шаблоне, там этого нет!
Ссылка на комментарий
Поделиться на других сайтах


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

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

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