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

Цитата для IPB 1.3 в стиле 2.x


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

C Dekker'ом вчера домучали такой вот хак. Цитата, код и пр. для IPB 1.3 в стиле 2.x. - ничего сложного нет, но выглядит прикольно. Один минус, старые цитаты будут по прежнему выглядеть как раньше.

 

В post_parser.php

Нужно заменить функцию wrap_style:

Было:

	function wrap_style( $in=array() ) {
 global $ibforums;

 if (! isset($in['TYPE']) )  $in['TYPE']  = 'class';
 if (! isset($in['CSS']) )   $in['CSS']   = $this->in_sig == 1 ? 'signature' : 'postcolor';
 if (! isset($in['STYLE']) ) $in['STYLE'] = 'QUOTE';

 //-----------------------------
 // This returns two array elements:
 //  START: Contains the HTML code for the start wrapper
 //  END  : Contains the HTML code for the end wrapper
 //-----------------------------

 $possible_use = array( 'CODE'  => array( 'CODE',  'Код' ),
         'QUOTE' => array( 'QUOTE', 'Цитата'  ),
         'SQL'   => array( 'CODE' , 'SQL'),
         'HTML'  => array( 'CODE' , 'HTML'),
         'PHP'   => array( 'CODE' , 'PHP')
       );

 return array( 'START' => "</div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>{$possible_use[$in[STYLE]][1]}</b> {$in[EXTRA]}</td></tr><tr><td id='{$possible_use[ $in[STYLE] ][0]}'>",
         'END'   => "</td></tr></table><div {$in[TYPE]}='{$in[CSS]}'>"
       );
}

Стало:

	function wrap_style( $in=array() ) {
 global $ibforums;

 if (! isset($in['TYPE']) )  $in['TYPE']  = 'class';
 if (! isset($in['CSS']) )   $in['CSS']   = $this->in_sig == 1 ? 'signature' : 'postcolor';
 if (! isset($in['STYLE']) ) $in['STYLE'] = 'QUOTE';

 //-----------------------------
 // This returns two array elements:
 //  START: Contains the HTML code for the start wrapper
 //  END  : Contains the HTML code for the end wrapper
 //-----------------------------

 $used = array(
            'QUOTE' => array( 'id'=>'QUOTE', 'title' => 'Цитата', 'css_top' => 'quotetop' , 'css_main' => 'quotemain' ),
            'CODE'  => array( 'id'=>'CODE', 'title' => 'Код' , 'css_top' => 'codetop'  , 'css_main' => 'codemain'  ),
            'SQL'   => array( 'id'=>'SQL', 'title' => 'SQL'  , 'css_top' => 'sqltop'   , 'css_main' => 'sqlmain'   ),
            'HTML'  => array( 'id'=>'HTML', 'title' => 'HTML' , 'css_top' => 'htmltop'  , 'css_main' => 'htmlmain'  ),
            'PHP'  => array( 'id'=>'PHP', 'title' => 'PHP' , 'css_top' => 'phptop'  , 'css_main' => 'phpmain'  ),
       );

   return array(
           'START' => "<div class='{$used[ $in['STYLE'] ]['css_top']}'>{$used[ $in['STYLE'] ]['title']}{$in[EXTRA]}</div><div class='{$used[ $in['STYLE'] ]['css_main']}'>",
           'END'   => "</div>"
       );
}

 

Это нужно добавить в стили (взято из стандартного скина IPB 2.0.3)

 

/*
* ========================================
* new style quote and code wrappers MATT's DESIGN
* ========================================
*/
.quotetop{
 background: #E4EAF2;
 border: 1px dotted #000;
 border-bottom: 0;
 border-left: 4px solid #8394B2;
 color: #000;
 font-weight: bold;
 font-size: 10px;
 margin: 8px auto 0 auto;
 padding: 3px;
}

.quotemain{
 background: #FAFCFE;
 border: 1px dotted #000;
 border-left: 4px solid #8394B2;
 border-top: 0;
 color: #465584;
 padding: 4px;
 margin: 0 auto 8px auto;
}

.codetop,
.phptop,
.sqltop,
.htmltop{
 background: #FDDBCC;
 color: #000;
 font-weight: bold;
 margin: 0 auto 0 auto;
 padding: 3px;
 width: 98%;
}

.codemain,
.phpmain,
.sqlmain,
.htmlmain{
 background: #FAFCFE;
 border: 1px dotted #000;
 color: #465584;
 font-family: Courier, Courier New, Verdana, Arial;
 margin: 0 auto 0 auto;
 padding: 2px;
 width: 98%;
}

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

не только тег цитаты, а и теги code, php, sql :D

 

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

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

старая цитата станет в стиле новой только после редактирования сообщения, это имелось в виду ?
Ссылка на комментарий
Поделиться на других сайтах

Можно написать парсер старых постов, как это сделано для новой версии "Hide Tag" - но это ресурсоемкий процесс...
Ссылка на комментарий
Поделиться на других сайтах

ну вот в одном форуме не знаю версию наживаешь квот и квотишь пост..

а на новой вресии нажимаешь квот и рядом.. репли можно 2 поставить на первое ?

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

  • 9 месяцев спустя...

Не очень важно, но было бы неплохо..

Как сделать картинку справа в углу? В .quotetop

Дописал background-image: url(style_images/<#IMG_DIR#>/картинка.gif)

Они заполнили весь фон.

Пробовал прилепить no-repeat right; не подходит.

 

И ещё - как уменьшить отступ от текста после цитаты?

 

 

Jax,

А только для кода можно сделать?

То есть?

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

Не очень важно, но было бы неплохо..

Как сделать картинку справа в углу? В .quotetop

Дописал background-image: url(style_images/<#IMG_DIR#>/картинка.gif)

Они заполнили весь фон.

Пробовал прилепить no-repeat right; не подходит.

 

И ещё - как уменьшить отступ от текста после цитаты?

КСС такой замени:

#QUOTETOP { color: #000; margin: 8px auto 0px auto; font-weight: bold; font-size:10px; padding: 3px; background-color:#E4EAF2; background-image: url(style_images/<#IMG_DIR#>/css_img_quote.gif); background-position: right; background-repeat: no-repeat; border-left: 4px solid #8394B2; border-top: 1px dotted #000; border-right: 1px dotted #000; }

#QUOTE { color: #465584; background-color: #FAFCFE; border-left: 4px solid #8394B2; border-right: 1px dotted #000; /*border-top: 1px dotted #000;*/ border-bottom: 1px dotted #000; padding: 4px; margin: 0px auto 8px auto; }

#CODETOP { width:98%; color: #000; margin: 0px auto 0px auto; font-weight:bold; padding: 3px; background-color:#FDDBCC; background-image: url (style_images/<#IMG_DIR#>/css_img_code.gif);
background-position: right; background-repeat: no-repeat; }

#CODE { font-family: Courier, Courier New, Verdana, Arial; color: #465584; background-color: #FAFCFE; border: 1px dotted #000; padding: 2px; width:98%; margin: 0px auto 0px auto; /*overflow: auto; height: 200px;*/ }

 

То есть?

Мне нужно, чтобы цитата была какая у меня сейчас, а форма КОДа от двушки :D

 

И еще, код, замени на:

//-----------------------------
// This returns two array elements:
//  START: Contains the HTML code for the start wrapper
//  END  : Contains the HTML code for the end wrapper
//-----------------------------

$possible_use = array( 'CODE'  => array( 'CODE' , 'CODETOP' , 'Код' ),
	 'QUOTE' => array( 'QUOTE' , 'QUOTETOP' , 'Цитата' ),
	 'SQL'   => array( 'CODE' , 'CODETOP' , 'SQL' ),
	 'HTML'  => array( 'CODE' , 'CODETOP' , 'HTML' ),
	 'PHP'   => array( 'CODE' , 'CODETOP' , 'PHP' )
   );

return array( 'START' => "</div><table border='0' align='center' width='95%' cellpadding='4' cellspacing='0'><tr><td id='{$possible_use[ $in[STYLE] ][1]}' height='26'><b>{$possible_use[$in[STYLE]][2]}</b> {$in[EXTRA]}</td></tr><tr><td id='{$possible_use[ $in[STYLE] ][0]}'>",
	 'END'   => "</td></tr></table><div {$in[TYPE]}='{$in[CSS]}'>"
   );
}

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

Может просто проконвертить все сабжи к соответсвующему виду?..

 

select..

preg_replace...

update..

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

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

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

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