Хак. Спойлер

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

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

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

Обзываем ее 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
Другие новости по теме:

Категория: Хаки ----- Просмотров: 5050 ----- Комментариев: 8

Вернуться

  • 1ce

  • 28 августа 2008 04:21
  • Группа: User
  • ICQ: --
  • Регистрация: 15.02.2008
  • Комментариев: 64
  • Публикаций: 6
^
Собственно как работает видно из картинок:

толком нихрена не видно, что нельзя было залить больние картинки?...
  • Группа: User
  • ICQ: 288569677
  • Регистрация: 21.01.2008
  • Комментариев: 703
  • Публикаций: 245
^
1ce,
Ну поставь себе, потом скрины замутиш и нам кинеш на обозрение, можеш и с примером сылки на сайт.
fellow

--------------------
  • qwestis

  • 22 сентября 2008 23:04
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
а где скачать скрипт?? а то пишет тока JavaScript забираем отсюда Вы не можете скачивать файлы с нашего сервера.
  • ZuZuZu

  • 25 сентября 2008 04:31
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
а не прошу тупо заменить картинку "plus" ??? )
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
А зачем скачивать? Всё на экране =)
Что-то крайне отдалённо напоминающее встроенно в DLE 7.3
  • Whisper

  • 16 февраля 2009 03:50
  • Группа: User
  • ICQ: 208799127
  • Регистрация: 17.05.2008
  • Комментариев: 40
  • Публикаций: 0
^
Оформите нормально релиз віложите куда следует файлы и напишите для какой версии движка ! и инструкцию в текстовый файл вместе с файлами

--------------------
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Цитата: Whisper
Оформите нормально релиз віложите куда следует файлы и напишите для какой версии движка ! и инструкцию в текстовый файл вместе с файлами

+1 если ни тема Г так оформление, не понос так золотуха.
Не ко всем темам но к большинству.
или описания нет, или файл не прикрепили. или не помогают с установкой. 8ой раз просил помощи, ага ХР.
https://mastermind.pp.ua/datalife-engine/moduls/page,1,2,6749-dle-mchat-v-26-dlya-dle-82-i-dle-83.html#c
omment
  • DatiX

  • 26 марта 2010 09:09
  • Группа: User
  • ICQ: 8245731
  • Регистрация: 29.11.2009
  • Комментариев: 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>