dle.in.ua » Хаки » Хак. Спойлер

Хак. Спойлер

Автор: GauraStyle от 27-08-2008, 22:55
Хак. Спойлер
Собственно как работает видно из картинок:
До нажатия на значек:
Хак. Спойлер

После нажатия на значек:
Хак. Спойлер

Значков в новости может быть много и каждый работает независимо от другого.
И так немного установки:
Картинку берем отсюда (или свою но соблюдаем строго указания по ее именованию):
Хак. Спойлер

Обзываем ее Pic004.png (это важно) и сохраняем в "engineskins" (желающие могут переделать чтобы бралась картинка из шаблона сайта, но мне это не нужно было потому сделано так. Вариант я озвучил - притензии не принимаются.)
JavaScript забираем отсюда Вы не можете скачивать файлы с нашего сервера.
Сохраняем себе в папку /engine/ajax/
Ставим в шаблон main.tpl
<script type="text/javascript" src="/engine/ajax/jquery-1.2.2.pack.js"></script>
<script type="text/javascript" src="/engine/ajax/animatedcollapse.js"></script>

Теперь, собственно, установочка:
Открываем parse.class.php (где лежит - каждый знает)
Ищем что то вроде в функции BB_Parse
while( preg_match( "#[color=([^]]+)](.+?)[/color]#ies", $source ) )
    {
        $source = preg_replace( "#[color=([^]]+)](.+?)[/color]#ies"  , "$this->font_change(array('tag'=>'color','1'=>'\1','2'=>'\2'))", $source );
    }

После этого добавляем:
// romen
    while( preg_match( "#[anim=([^]]+)](.+?)[/anim]#ies", $source ) )
    {
        $source = preg_replace( "#[anim=([^]]+)](.+?)[/anim]#ies"  , "$this->build_anim(array('1'=>'\1','2'=>'\2'))", $source );
    }
    //

Далее находим в функции decodeBBCodes
if ($this->filter_mode) $txt = $this->word_filter($txt, false);

Сразу под ним вставляем:
// romen
$txt = preg_replace( "#<!--animated_begin:(.+?)-->(.+?)<!--animated_end-->#ies", "$this->decode_anim('\1', '\2')", $txt );
//

Ищем функциюfunction font_change( $tags )
Перед ней вставляем:
//----------------------
    function build_anim( $tags )
    {
        global $config;
        if ( ! is_array($tags) )
        {
            return;
        }
        $div_id = $tags['1'];
        $div_text  = stripslashes($tags['2']);
        return "<!--animated_begin:$div_id--><script type="text/javascript">
        animatedcollapse.addDiv('$div_id', 'fade=0,speed=400,hide=1');
        animatedcollapse.init();
        </script>
        <a href="javascript:animatedcollapse.toggle('$div_id')"><img style="border: none;" align="absmiddle" src="".$config['http_home_url']."engine/skins/images/Pic004.png" /></a>
        <div id=$div_id style="display:none">".$div_text."</div><!--animated_end-->";

    }
    //----------------------

Находим функцию:
function decode_leech($url="", $show="")
Перед ней вставляем:
function decode_anim ($name='', $text='')
{
global $config;
$text = stripslashes($text);
$text = str_replace("<script type="text/javascript">
        animatedcollapse.addDiv('$name', 'fade=0,speed=400,hide=1');
        animatedcollapse.init();
        </script>
        <a href="javascript:animatedcollapse.toggle('$name')"><img style="border: none;" align="absmiddle" src="".$config['http_home_url']."engine/skins/images/Pic004.png" /></a>
        <div id=$name style="display:none">", "",$text);
$text = str_replace("</div>", "", $text);
return "[anim=".$name."]".$text."[/anim]";
}

Установка завершена.
Пару слов о том как пользоваться.
Как поняли кнопки в панели редактора нету, потому нужно запомнить вот какие вещи:
1. bb code [anim=уникальное_имя_блока в новости]тут любой контент не содержащий незакрытых DIV [/anim]
2. Перед установкой сохраните куда нибудь не правлленный parse.class.php - критичная всетаки вещь.
Автор: romen
laughing
  • Группа: User
  • Icq: --
  • Комментариев: 64
  • Публикаций: 6
  • Собственно как работает видно из картинок:

    толком нихрена не видно, что нельзя было залить больние картинки?...
    • 1ce
    • Регистрация: 15.02.2008
    • Репутация: (0|0|0)
    • 28 августа 2008 04:21
    • 1
    ^
  • Группа: User
  • Icq: 288569677
  • Комментариев: 703
  • Публикаций: 245
  • 1ce,
    Ну поставь себе, потом скрины замутиш и нам кинеш на обозрение, можеш и с примером сылки на сайт.
    fellow

    --------------------
    • GauraStyle
    • Регистрация: 21.01.2008
    • Репутация: (0|0|0)
    • 28 августа 2008 11:09
    • 2
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • а где скачать скрипт?? а то пишет тока JavaScript забираем отсюда Вы не можете скачивать файлы с нашего сервера.
    • qwestis
    • Регистрация: --
    • Репутация: (||)
    • 22 сентября 2008 23:04
    • 3
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • а не прошу тупо заменить картинку "plus" ??? )
    • ZuZuZu
    • Регистрация: --
    • Репутация: (||)
    • 25 сентября 2008 04:31
    • 4
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • А зачем скачивать? Всё на экране =)
    Что-то крайне отдалённо напоминающее встроенно в DLE 7.3
    ^
  • Группа: User
  • Icq: 208799127
  • Комментариев: 40
  • Публикаций: 0
  • Оформите нормально релиз віложите куда следует файлы и напишите для какой версии движка ! и инструкцию в текстовый файл вместе с файлами

    --------------------
    • Whisper
    • Регистрация: 17.05.2008
    • Репутация: (0|0|0)
    • 16 февраля 2009 03:50
    • 6
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Цитата: Whisper
    Оформите нормально релиз віложите куда следует файлы и напишите для какой версии движка ! и инструкцию в текстовый файл вместе с файлами

    +1 если ни тема Г так оформление, не понос так золотуха.
    Не ко всем темам но к большинству.
    или описания нет, или файл не прикрепили. или не помогают с установкой. 8ой раз просил помощи, ага ХР.
    http://dle.in.ua/moduls/page,1,2,6749-dle-mchat-v-26-dlya-dle-82-i-dle-83.html#c
    omment
    • Psiholog_Neo
    • Регистрация: --
    • Репутация: (||)
    • 9 декабря 2009 06:53
    • 7
    ^
  • Группа: User
  • Icq: 8245731
  • Комментариев: 20
  • Публикаций: 6
  • Цитата: Горбушка
    А зачем скачивать? Всё на экране =)
    Что-то крайне отдалённо напоминающее встроенно в DLE 7.3



    ты хоть читал описание? Это где взять?? самому писать? angry
    <script type="text/javascript" src="/engine/ajax/jquery-1.2.2.pack.js"></script>
    <script type="text/javascript" src="/engine/ajax/animatedcollapse.js"></script>
    • DatiX
    • Регистрация: 29.11.2009
    • Репутация: (0|0|0)
    • 26 марта 2010 09:09
    • 8
    ^
    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.