Перейти к контенту

Хак добавляет [span id] [span class] [span style]


Рекомендуемые сообщения

Наконец-то нашел на IBPlanet.com Большое спасибо создпвшему эти хаки... При минимальной правке кода (во втором хаке надо буквально всего лишь переместить одну строчку вверх... достигаются поразительные результаты.

 

Теперь мы не зависим от тегов

[color][/color]

если у нас скажем два css файла (на черный дизайн и белый). При обычном варианте цвета в одном дизайне смотрелись бы плохо или в другом... теперь же мы их привязываеи к css и все будет смотреться нормально независимо от того какой цвет мы вставляем...

 

Первый хак, вставляет стили:

Modification by primetime Description:

   This modification adds [span] tags to the iPBCode on your Invision Power Board.  Styles 
   added used in the span tags are either:
 
 - supplied by the user using 'style=' (CSS)
 - accessed by 'class=' ibresource (from linked stylesheet of the board)
 - accessed by 'id=' ibresource (from linked stylesheet of the board)
 
   Compatible with either Invision Power Board 1.0x or Invision Power Board 1.1x

Limitations:
  User must enter proper CSS Syntax (not encased in Quotes)
  Class or ID element referenced must be in IPB stylesheet
(Forum admin should add the element in the IPB stylesheet)


Precaution:

ALWAYS make backups of the files you're editing!!!
 


Usage:

     Using 'style' element:
     [span style=background: #000000; color: #FFFFFF]Text[/span]

     Using 'class' ibresource:
     [span class="class_from_ipb_stylesheet"]Text[/span]

     Using 'id' ibresource:
     [span class="id_from_ipb_stylesheet"]Text[/span]



Instructions:
1) Download 'post_parser.php' from the /sources/lib/ of your Invision Power Board directory.

2) Make a backup of the file you downloaded (just in case).

3) Find this block of code (around line 228).

  
     // Start off with the easy stuff

     $txt = preg_replace( "#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $txt );
     $txt = preg_replace( "#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $txt );
     $txt = preg_replace( "#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $txt );
     $txt = preg_replace( "#\[s\](.+?)\[/s\]#is", "<s>\\1</s>", $txt );
     
     
4) Underneath it add the following:

  
 	// Span Style Tags Convert by primetime
   $conv_span_search = array(
   	"#\[span style=(.+?)\](.+?)\[\/span\]#is",
   	"#\[span class=(.+?)\](.+?)\[\/span\]#is",
   	"#\[span id=(.+?)\](.+?)\[\/span\]#is",
   	);
 	
   $conv_span_replace = array(
   	"<span style=\"\\1\">\\2</span>",
   	"<span class=\"\\1\">\\2</span>",
   	"<span id=\"\\1\">\\2</span>",
   	);

 	$txt = preg_replace($conv_span_search, $conv_span_replace, $txt);
 	// End Span Style Convert


5) Find the following line of code: (around line 500)

  
  $txt = preg_replace( "#<u>(.+?)</u>#is"  , "\[u\]\\1\[/u\]"  , $txt );
     
     
6) Underneath that line add the following block of code:

  
 	// Span Style Unconvert by primetime
   $unconv_span_search = array(
   	"#<span style=\"(.+?)\">(.+?)<\/span>#",
   	"#<span class=\"(.+?)\">(.+?)<\/span>#",
   	"#<span id=\"(.+?)\">(.+?)<\/span>#",
   	);

   $unconv_span_replace = array(
   	"[span style=\\1]\\2[/span]",
   	"[span class=\\1]\\2[/span]",
   	"[span id=\\1]\\2[/span]",
   	);	
   	
 	$txt = preg_replace($unconv_span_search, $unconv_span_replace, $txt);
 	// End Span Style Unconvert

7) Save the file and re-upload back into the sources/lib directory



Additional:
    
This mod will be used for a future mod I'm planning on;)    

 

Второй хак позволяет применять к IB кодам bad words. Так, например, не нравится нам, что все, кто ни попадя ставят

[COLOR=purple][/COLOR]

Мы идем в наш заменитель в Админ панели и выставляем, что отныне

[COLOR=purple][/COLOR]

будет заменяться скажем на

[span class=signature][/span]

. Все очень просто, меняеи месторасположение одной строчки в том же файле /source/lib/post_parser.php:

Allow IB Code in word filter
v 1.0
by Ahnteis
April 2003

This hasn't been more then summarily tested, but I see no potential problems.
If there are BUGS, please email at [email protected]

I don't do tech support.  Sorry.
-------------------------------------------------------

Open .../sources/lib/post_parser.php

Around line 320, FIND:
   $txt = $this->bad_words($txt);

MOVE that line up to about line 150 so that it immediately FOLLOWS:
   //--------------------------------------
   // convert <br> to \n
   //--------------------------------------
   //вот здесь должна быть вышеприведенная строчка
   $txt = preg_replace( "/<br>|<br\s*\/>/", "\n", $txt );

 

Все очень просто, еще раз благодарю создателей этих хаков...

Протестировать можно здесь Просто создаете тему с пометкой "тест" и тестируете все, что вам нравится. Хаки установлены, работают нормально...

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.