Собственно как работает видно из картинок:
До нажатия на значек:
После нажатия на значек:
Значков в новости может быть много и каждый работает независимо от другого.
И так немного установки:
Картинку берем отсюда (или свою но соблюдаем строго указания по ее именованию):
Обзываем ее Pic004.png (это важно) и сохраняем в "engineskins" (желающие могут переделать чтобы бралась картинка из шаблона сайта, но мне это не нужно было потому сделано так. Вариант я озвучил - притензии не принимаются.)
JavaScript забираем отсюда Вы не можете скачивать файлы с нашего сервера.
Сохраняем себе в папку /engine/ajax/
Ставим в шаблон main.tpl
Теперь, собственно, установочка:
Открываем parse.class.php (где лежит - каждый знает)
Ищем что то вроде в функции BB_Parse
После этого добавляем:
Далее находим в функции decodeBBCodes
Сразу под ним вставляем:
Ищем функциюfunction font_change( $tags )
Перед ней вставляем:
Находим функцию:
function decode_leech($url="", $show="")
Перед ней вставляем:
Установка завершена.
Пару слов о том как пользоваться.
Как поняли кнопки в панели редактора нету, потому нужно запомнить вот какие вещи:
1. bb code [anim=уникальное_имя_блока в новости]тут любой контент не содержащий незакрытых DIV [/anim]
2. Перед установкой сохраните куда нибудь не правлленный parse.class.php - критичная всетаки вещь.
Автор: romen
После нажатия на значек:
Значков в новости может быть много и каждый работает независимо от другого.
И так немного установки:
Картинку берем отсюда (или свою но соблюдаем строго указания по ее именованию):
Обзываем ее 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>
<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 );
}
{
$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 );
}
//
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 );
//
$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 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]";
}
{
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