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

Цитата для 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..

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

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

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

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

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

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

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

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

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

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

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

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