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

[1.x.x]Topic Hints для IPB v1.3


urisoft

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

Название: Topic Hints для IPB v1.3

Добавил: urisoft

Добавлен: 27 Авг 2003

Обновлен: 19 Май 2005

Категория: IP.Board 1.x.x

 

*************************************************************

TopicHints v1.40 for Invision Power Board v1.3F

© UriSoft 2004

*************************************************************

При наведении курсора на название темы отображает начало

первого сообщения в теме. При наведении курсора на ссылку

последнего сообщения темы отображает начало последнего

сообщения темы.

Хинты отображаются в списке тем, в результатах поиска,

в списке активных тем (новых тем).

*************************************************************

 

v1.40

[!] Оптимизированно использование запросов. На большом кол-ве

постов тормозить не будет. (Огромное спасибо Song http://www.ibresource.ru/forums/style_emoticons/default/smile.gif )

[+] Добавлена поддержка Opera 8

 

 

v1.30.

[+] Отображение последнего сообщения темы.

[+] Отображение хинтов в результатах поиска при выводе результата

как списка тем

[+] Включено отображение хинта в списке новых тем.

[+] Пользователь может отключать хинты в своих настройках

Гости видят хинты всегда

[*] С версии 1.30 изменен порядок нумерации версий мода

Версия 1.30 функционально идентична версии 2.30

Версии 1.хх написаны для форума 1.3F

Версии 2.хх написаны для форума 2.0F

 

 

v.1.2b

[!] исправлена ошибка работы скрипта в Opera (спасибо d1pro)

изменения внесены в файл hints.js

[+] добавлена поддержка многоязычного интерфейса http://www.ibresource.ru/forums/style_emoticons/default/smile.gif))

изменения внесены в файлы: skin_forum.php и lang_forum.php

 

v.1.2a

[!] исправлена серьезная ошибка

при определенных условиях пользователь мог записать в Hints любой HTML код

[!] исправлена ошибка c кодом "возврат каретки" (0xA)

 

Нажмите здесь, чтобы скачать файл

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

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

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

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

urisoft

Просто офигенный мод :D Однако не для всех тем работает. Какой-то у него избирательный принцип, чтоли? Как это можно устранить и стоит ли это делать?

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

SindroM

Однако не для всех тем работает. Какой-то у него избирательный принцип, чтоли?

Это как ?? У меня на всех темах в списке тем все работает нормально. Кинь ссылку если стоит на рабочем форуме.

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

SindroM

при загрузке страницы пишет: выполнено, но с ошибками на странице.

где то ты накосячил.

urisoft

теперь надо чтоб в поиске и на основной странице хинты были, ваще супер будет :D

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

SindroM

Как видно, на некоторых показывает, на некоторых молчит
при загрузке страницы пишет: выполнено, но с ошибками на странице.

Ты случайно ничего не менял в коде ??? У тебя переносятся строки. Посмотри код страницы. А переносить строки в java НИЗЯ !!! Надо строку закрыть " (кавычка), добавить + (плюс), а потом уже переносить. Где-то ты напортачил при установке.

 

StasM

а как добавлять стили?

Так там же написано.

в AdminCP->Skins & Templates->Style Sheets

Нажми на "Edit" и вуаля ;)

 

Oska

в очередной раз: "Хорошая работа"!

Спасибо. :D

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

ВСЕМ !!!!!

Доработан код.

 

изменения в v1.2а

[!] исправлена серьезная ошибка

при определенных условиях пользователь мог записать в Hints любой HTML код

[!] исправлена ошибка c кодом "возврат каретки" (0xA)

 

SindroM

Извиняюсь за наезд. Все должно теперь работать.

И кстати. У тебя на чем сервак. Win, *nix ?? Первый раз встетил, что в тексте присутствует \r (0xA).

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

это... надо поставить автоматическое обновление, устал уже

Я протестировать все возможные варианты просто не в состоянии. Поэтому сорри. Приходиться кидать сюда в полусыром варианте.

Хотя теперь думаю серьезных багов не будет.

 

StasM

Для того чтобы обновить до версии 1.2а нужно опять все заново устанавливать или там всего пару строчек изменить нужно?

Нужно заменить весь кусок который начинается:

// убираем IBF спец коды

// цитата

$topic['post'] = preg_replace( "#<!--QuoteBegin-->(.+?)<!--QuoteEBegin-->#",'\\1 ',$topic['post'] );

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

urisoft

Слушай, посмотри внимательнее в Опере 7, а то в эксплорере у меня все нормально, а в опере жутко колбасит - прыгает из стороны в сторону, мешая кликать на название.

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

Знакомые проблемы пошли =) Когда такую же модификацию написали для вБ, все тоже дружно кричали, ай как круто, ай как здорово. Но потом все почему то убрали это дело.

И еще - не профиксен баг со слоями форм, в итоге все формы, будь то меню выбора, чекбоксы, радио кнопки, будут вылезать и разрывать выпадающую подсказку. Можете убедиться в этом сами.

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

Vanish

Ну это понятно конечно, но там все не много, на крайняк можно урезать число показываемых символов.

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

d1pro

Слушай, посмотри внимательнее в Опере 7, а то в эксплорере у меня все нормально, а в опере жутко колбасит

Я в курсе. Он нормально работает только на первом слове в Опере. Как вылечить не знаю.

 

Vanish

И еще - не профиксен баг со слоями форм, в итоге все формы, будь то меню выбора, чекбоксы, радио кнопки, будут вылезать и разрывать выпадающую подсказку. Можете убедиться в этом сами.

Тоже в курсе. Если знаешь как вылечить подскажи. :D

Только не разрывать, а поверх слоя налезать.

 

кстати он еще трафик исходящий увеличивает.

Не очень критичный параметр (для меня лично).

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

// С пламенным приветом Тупаку 'Ыйцо' Шакуру и FORUMS.AG.RU
// Copyright (c) 2003 by UriSoft
//

var dom = (document.getElementById) ? true : false;
var nn4 = (document.layers) ? true : false;
var ie = (document.all) ? true : false;
var ie4 = (!dom && ie) ? true : false;
var moz = (dom && (navigator.appName=="Netscape")) ? true : false;
var opr = (dom && window.opera) ? true : false;
var op7 = (opr && (navigator.userAgent.indexOf("Opera 7") > 0 || navigator.userAgent.indexOf("Opera/7") >= 0)) ? true : false;

var hintsObj = "";


// Netscape and Mozilla
function moveHintsN(e) {
if (nn4) {
 document.layers['hints'].left = e.pageX + 10;
 document.layers['hints'].top = e.pageY + 10;
 document.layers['hints'].visibility = "show"
} else if (moz || op7) {
 document.getElementById('hints').style.left = window.pageXOffset + e.clientX + 10 + "px";
 document.getElementById('hints').style.top = window.pageYOffset + e.clientY + 10 + "px";
 document.getElementById('hints').style.visibility = "visible";
}
}

function hideHintsN(e) {
document.releaseEvents(Event.MOUSEMOVE);
document.releaseEvents(Event.MOUSEOUT);
document.onmousemove = null;
document.onmouseout = null;
   if (nn4) {
 document.layers['hints'].visibility = "hide";
 document.layers['hints'].left = 0;
 document.layers['hints'].top = 0;
   } else if (moz || op7) document.getElementById('hints').style.visibility = "hidden";
   hintsObj = "";
}


// IE and Opera
function moveHints() {

// opera 5,6 don't support layer changes
if ((opr && !op7) || (moz || nn4)) return;

   xoff = 0;
   yoff = 0;
if (dom || ie) {
 if (dom) q = document.getElementById(hintsObj);
 else q = document.all[hintsObj];
 while (q) {
	 xoff += q.offsetLeft;
	 yoff += q.offsetTop;
	 q = q.offsetParent;
 }
 xoff += window.event.offsetX + 10;
 yoff += window.event.offsetY + 10;
}

   if (dom) {
 document.getElementById('hints').style.left = xoff;
 document.getElementById('hints').style.top = yoff;
} else if (ie4) {
 document.all['hints'].style.left = xoff;
 document.all['hints'].style.top = yoff;
}
}

function hideHints() {

// opera 5,6 don't support layer changes
if (opr && !op7) return;

if (dom) document.getElementById('hints').style.visibility = "hidden";
 else if (ie4) document.all['hints'].style.visibility = "hidden";
   hintsObj = "";
}


// ALL
function showHints(obj,head,text) {

// opera 5,6 don't support layer changes
if (opr && !op7) return;

   contents = "<table border=0 cellspacing=0 cellpadding=1 width=300 class=\'hintshead\'><tr><td><b>" + head + "</b></td></tr><tr><td><table border=0 cellspacing=0 cellpadding=3 width=100% class=\'hintstext\'><tr><td>" + text + "</td></tr></table></td></tr></table>";

hintsObj = obj;
if (dom) document.getElementById('hints').innerHTML = contents;
else if (nn4) {
	 document.layers['hints'].document.open();
	 document.layers['hints'].document.write(contents);
	 document.layers['hints'].document.close();
 }
else if (ie4) document.all['hints'].innerHTML = contents;

   // for Netscape and Mozilla
if (nn4 || moz || op7) {
 document.captureEvents(Event.MOUSEMOVE);
 document.captureEvents(Event.MOUSEOUT);
 document.onmousemove = moveHintsN;
 document.onmouseout = hideHintsN;
 return;
}
   // for IE
   if (dom || ie) {
 moveHints();
 if (dom) document.getElementById('hints').style.visibility = "visible";
	 else if (ie4) document.all['hints'].style.visibility = "visible";
   }
}

Вот попробуй этот вариант hints.js - просто заставляет думать скрипт, что Опера - Мозилла - и все как в ИЕ :D

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

Тоже в курсе. Если знаешь как вылечить подскажи. :D

Вот почитай http://www.webreference.com/dhtml/diner/seethru/

 

Не очень критичный параметр (для меня лично).

видимо за инет не платишь =)

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

И еще по поводу элементов форм.

Вот на этом форуме http://forum.yuga.ru сделана форма быстрого ответа, она не конфликтует с элементами форм, можешь осмотреть как это сделали =) Вот тебе и http://forum.yuga.ru/float_win.js скриптик.

Надеюсь народ не захочет себе такую форум ответа, а то на вБ была такая мания. Не люблю я такие извраты, хоть убей.

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


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

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

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