форум vBSupport.ru > vBulletin > Old vB versions (3.0.x & 2.x.x) > vBulletin 3.7.x > Made in vBSupport.org 3.7
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
AdaM
Эксперт
 
AdaM's Avatar
Post Personal Sticky Threads
2

Описание: Позволяет пользователям делать темы "Важными",только для самих себя,и потом просматривать их список,в принципе по скриншотам всё понятно
В архиве:
Перевод хака
Инструкция по установке
Темы на Орге не известно.
Attached Thumbnails
screenshot1.jpg   screenshot2.jpg  
Attached Files
File Type: rar Personal Sticky Threads.rar (87.2 KB, 34 views)
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
sojent
Простоузер
Default
3

Хак от товарища Mephisteus аки DarkSSJ3? Он не совсем рабочий, и вот почему:

Code:
$newsticky = str_replace(",$threadid", "", "$personalstick[threadsticky]");
$newsticky = str_replace("$threadid,", "", "$newsticky");
$newsticky = str_replace("$threadid", "", "$newsticky");
Т.е. если есть пристыкованные темы 325 и 1325, после расстыковки 325-ой 1325-ая превратиться в 1. Не говоря уж про про правку исходников воблы (кажется, хуки forumdisplay_query_threadid и forumdisplay_query никто не отменял) и CSV-строку идентификаторов тем в таблице user (при 2000 пользователей это, может, и не сильно плохо, а при 20 000? ).

Я чуть перелопатил этот хак для себя, если кому он такой нужен, см. аттач.

ИЗМЕНЕНИЯ
  • Для пристыкованных тем создана отдельная таблица с уникальным ключом userid/threadid, ИМХО её обновление будет шустрее (особенно отстыковка ).
  • Не вырезаются куски идентификаторов тем (строка со списком идентификаторов заменена на массив).
  • Нет необходимости править forumdisplay.php.
  • Правильно рассчитывается счётчик всех тем в строке «Показаны темы с X по Y из NN тем (т.е. индивидуально пристыкованные темы также не учитываются)
  • Перерисованы кнопки (под стандартный светлый стиль).
  • За компанию добавлена автосмена цвета ячеек таблицы для пристыкованных тем и их отделение thead'ом.


УСТАНОВКА
Описана в ридми, но продублирую:

1. Загрузить файлы:
images/misc/mystickypin.gif -> <папка_форума>/images/misc/mystickypin.gif
images/buttons/mysticky.gif -> <папка_форума>/images/buttons/mysticky.gif
2. Правка шаблонов.
Найти в FORUMDISPLAY:
PHP Code:
    $threadbits 
Добавить ВЫШЕ:
PHP Code:
    $threadbits_personalsticky
    
</tr><tr><td class="thead" colspan="7"><img src="images/clear.gif" alt="" width="1" height="10" border="0" /></td></tr
Вторую строку можно убрать, если не хотите отделять пристыкованные темы от обычных.

Найти в SHOWTHREAD:
PHP Code:
    <if condition="$show['member']">
    <
tr>
        <
td class="vbmenu_option"><img class="inlineimg" src="$stylevar[imgdir_button]/subscribe.gif" alt="$vbphrase[subscription]/>
        <if 
condition="$show['subscribed']">
            <
a href="subscription.php?$session[sessionurl]do=removesubscription&amp;t=$threadid">$vbphrase[unsubscribe_from_this_thread]</a>
        <else />
            <
a href="subscription.php?$session[sessionurl]do=addsubscription&amp;t=$threadid">$vbphrase[subscribe_to_this_thread]</a>
        </if>
        </
td>
    </
tr
Добавить НИЖЕ:
PHP Code:
    <tr>
        <
td class="vbmenu_option"><img class="inlineimg" src="$stylevar[imgdir_button]/mysticky.gif" />
        <if 
condition="$psticked">
            <
a href="showthread.php?$session[sessionurl]do=unpersonalsticky&amp;t=$threadid">$vbphrase[personal_unsticky]</a>
        <else />
            <
a href="showthread.php?$session[sessionurl]do=personalsticky&amp;t=$threadid">$vbphrase[personal_sticky]</a>
        </if>
        </
td>
    </
tr
Найти в threadbit:
PHP Code:
                <if condition="$show['sticky']"> <img class="inlineimg" src="$stylevar[imgdir_misc]/sticky.gif" alt="$vbphrase[sticky_thread]/> </if> 
Добавить ВЫШЕ:
PHP Code:
                <if condition="$show['personalsticky']"> <img class="inlineimg" src="$stylevar[imgdir_misc]/mystickypin.gif" alt="$vbphrase[personal_sticky_thread]/> </if> 
3. Правка стилей.
Если хотите, чтобы ячейки пристыкованных тем были отмечены другим цветом, в настройках стиля (Админпанель -> Стили и шаблоны -> Увравление стилями -> Основная таблица CSS) в графе Дополнительные определения CSS нужно дописать следующее:

HTML Code:
/* Separate sticky threads */
.alt1_sticky
{
	background: #E6E6F0;
	color: #000000;
}
.alt2_sticky
{
	background: #D0D6E6;
	color: #000000;
}
Цвета, разумеется, можно подобрать по вкусу

Кроме того, в шаблоне threadbit необходимо заменить все

<td class="alt1"... и <td class="alt2"...

НА:

<td class="$threadbitalt1"... и <td class="$threadbitalt2"...

Кроме того, в конце шаблона threadbit есть строка, пропущенная автозаменой:

<td class="<if condition="$show['forumlink']">alt2<else />alt1</if>">

Её заменить НА:

<td class="<if condition="$show['forumlink']">$threadbitalt2<else />$threadbitalt1</if>">

Собственно, на этом всё

Хак отлаживался на линейке 3.6.х (3.6.4 и 3.6.11 PL1), но в принципе, должен подойти и для 3.7.х.
Attached Files
File Type: zip 3.6.x_3.7.x_personal_sticky_ru.zip (175.2 KB, 11 views)
 
 
AdaM
Эксперт
 
AdaM's Avatar
Default
0

Потестим,посмотрим...
 
 
AlfaDogg
Эксперт
 
AlfaDogg's Avatar
Default
0

Гг форум сам себя положит от таких хаков =\
 
 
AdaM
Эксперт
 
AdaM's Avatar
Default
0

sojent,После нажатия на кнопку: Закрепить тему для себя,тема просто обновляется но не закрепляется,версия форума: 3.7.3 PL1

sva2006 добавил 15.09.2008 в 13:13
При этом все закреплённые темы для себя,отображаются в любом форуме

Last edited by AdaM : 09-15-2008 at 01:13 PM. Reason: Добавлено сообщение
 
 
sojent
Простоузер
Default
0

Вот как? Ща глянем...

sojent добавил 15.09.2008 в 13:57
На 3.6.х та же бадяга... Странно...

sojent добавил 15.09.2008 в 14:00
Хы... не помню, из каких эстетических соображения я заменил query_read на query_first, но с ним действительно не работает. Ща обновлю аттач

Last edited by sojent : 09-15-2008 at 02:00 PM. Reason: Добавлено сообщение
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 10:13 AM.


Powered by vBulletin® Version 3.5.0
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...