Показать сообщение отдельно
Старый 16.10.2011, 23:07 Вверх   #1
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
Хорошо [AJAX] Post Thank You Hack для vb 4.1.x

[AJAX] Post Thank You Hack для vb 4.1.x

Автор обновления: Phaedrus
[взято тут]
Русифицировал: Vovan

Описание: Последняя версия хака [AJAX] Post Thank You Hack была обновлена 03 Jan 2010 и по отзывам на vb.org - у многих не работает на версии 4.1.

Этот тот же самый хак от Abe1, только обновлен для работы на версии 4.1 + добавлена интеграция с Post Groans hack, так как автор уже не поддерживает свой мод.

В хаке есть ошибка, точно проявляющаяся на форумах версии 4.1.3 и 4.1.4 (более ранние не проверял, ибо нет под рукой).
А именно, при включённом хаке не корректно работает меню "Модерация" (верхнее) при просмотре темы (пункты "Выделить всё", "Снять выделение со всего", "Инвертировать выделение" и т.д.). Происходит выделение (снятие выделения) только первого сообщения, далее возникает ошибка JavaScript.

Причина в том, что блоку со спасибами присваивается в т.ч. класс postbitim (видимо чтобы этот блок выделять цветом вместе с относящимся к нему сообщением), а блоки с этим классом собираются в коллекции объектов JavaScript, где подразумевается определённая структура (в т.ч. наличие чекбокса, и видимо не только).

Копать очень глубоко не стал, подожду фикса от разработчика. А чтобы восстановить работоспособность меню "Модерация" предлагаю пока внести следующее исправление в код продукта (xml-файл):

Ищем строку:

PHP код:
<template name="post_thanks_box" templatetype="template" date="1262489133" username="Phaedrus" version="7.83"
<![
CDATA[<li class="postbit<vb:if condition="$vboptions['legacypostbit']">legacy</vb:if> postbitim" id="post_thanks_box_{vb:raw post.postid}"<vb:if condition="!$post_thanks_box == 1"style="display:none"</vb:if>> 
И удаляем из неё класс postbitim у элемента li, т.е. должно получиться:

PHP код:
<template name="post_thanks_box" templatetype="template" date="1262489133" username="Phaedrus" version="7.83"
<![
CDATA[<li class="postbit<vb:if condition="$vboptions['legacypostbit']">legacy</vb:if>" id="post_thanks_box_{vb:raw post.postid}"<vb:if condition="!$post_thanks_box == 1"style="display:none"</vb:if>> 
Таким образом блоки спасиб не будут выделяться вместе со своими сообщениями, но функционал меню будет восстановлен, ошибка JavaScript возникать не будет.
Продукт для сворачивания "Спасибок" - product-vietvbb_hide_thanked_list.

Скачать хак [AJAX] Post Thank You Hack для vb 4.1.x
Скачать хак сворачивания спасибок
  Ответить с цитированием
4 пользователя(ей) сказали cпасибо:
 
Время генерации страницы 0.04767 секунды с 10 запросами