Форум web-мастеров phpBB3

Модификации и расширения phpBB




Ответить на тему
Пред. тема | След. тема 
Автор Сообщение
Аватара пользователя

Карма
8
Стаж: 7 лет 3 месяца
Сообщения: 70
Откуда: Moscow
Россия

Ответить с цитатой

Цитирование с обратной ссылкой (QPBL)

Основной функционал:
Добавление обратной ссылки на цитируемое сообщение.
Можно добавить дополнительный параметр; p =, который передает идентификатор записи в систему bbcode. Когда тема будет создана, этот пост будет с обратной ссылкой.
Ссылка получается в виде даты или в виде заголовка сообщения на выбор в "админке".

Автор: Erik Frèrejean
Версия мода: 2.1.2
Версия форума: phpBB 3.0.x

#516
#516
#516
Скачать: Для скачивания необходимо зарегистрироваться.
Профиль  Отправить личное сообщение
Идеальный заработок для торрент-трекеров
Аватара пользователя

Карма
8
Стаж: 7 лет 3 месяца
Сообщения: 70
Откуда: Moscow
Россия

Ответить с цитатой

[Русский перевод] Quote Post Back Link (QPBL)
Скачать: Для скачивания необходимо зарегистрироваться.
Профиль  Отправить личное сообщение
Аватара пользователя

Карма
8
Стаж: 7 лет 3 месяца
Сообщения: 70
Откуда: Moscow
Россия

Ответить с цитатой

Установка:

Открыть: posting.php
Найти:
$message_parser->message = '[quote="' . $post_data['quote_username']

Заменить на:
// QUTE POST LINK
      $message_parser->message = "[quote="{$post_data['quote_username']}";p={$post_id}]" . censor_text(trim($message_parser->message)) . "[/quote]\n";
//  END

Открыть: includes/bbcode.php
Найти:
   function bbcode_cache_init()
   {
      global $phpbb_root_path, $template, $user;

После вставить:
// QUTE POST LINK
      global $qpbl;
      if (!isset($this->qpbl) || $this->qpbl instanceof quote_post_back_link === false)
      {
         global $cache, $config, $db, $user, $phpEx;
            //require "{$phpbb_root_path}includes/mods/quote_post_back_link/quote_post_back_link.{$phpEx}";
            if (!class_exists('quote_post_back_link'))
        {
        require "{$phpbb_root_path}includes/mods/quote_post_back_link/quote_post_back_link.{$phpEx}";
        }
         $this->qpbl = new quote_post_back_link($cache, $config, $db, $user, $phpEx, $this);
      }
//  END

Найти:
'#\[quote(?:="(.*?)")?:$uid\]((?!\[quote(?:=".*?")?:$uid\]).)?#ise'   => "\$this->bbcode_second_pass_quote('\$1', '\$2')"

Заменить на:
// QUTE POST LINK                  
'#\[quote(?:="(.*?)")?(?:;p=([0-9]+))?:$uid\]((?!\[quote(?:=".*?")?(?:;p=([0-9]+))?:$uid\]).)?#ise' => "\$this->qpbl->bbcode_second_pass_quote('\$1', '\$2', '\$3')",
//  END

Найти:
static $replacements = array(

После вставить:
// QUTE POST LINK
'quote_username_post_open'   => array('{USERNAME}'   => '$1', '{QPBL_POST}'   => '$2', '{QPBL_TITLE}'   => '$3'),
'quote_post_open'      => array('{QPBL_POST}'   => '$2', '{QPBL_TITLE}'      => '$3'),
// END

Открыть: includes/message_parser.php
Найти:
'quote'   => array('bbcode_id' => 0,   'regexp' => array('#\[quote(?:="(.*?)")?\](.+)\[/quote\]#uise' => "\$this->bbcode_quote('\$0')")),

Заменить на:
// QUTE POST LINK
'quote'         => array('bbcode_id' => 0, 'regexp' => array('#\[quote(?:="(.*?)")?(?:;p=([0-9]+))?\](.+)\[/quote\]#ise' => "\$this->bbcode_quote('\$0')")),
// END

Найти:
$in = preg_replace('#quote="(.*?)"\]#ie', "'quote="' . str_replace(array('[', ']', '\\\"'), array('[', ']', '\"'), '\$1') . '"]'", $in);

Заменить на:
// QUTE POST LINK
$in = preg_replace('#quote="(.*?)"p=([0-9]+)#ie', "'quote"' . str_replace(array('[', ']', '\\\"', array('[', ']', '\"'), '\$1') . '"]'", $in);
// END

Найти:
            else if (preg_match('#^quote(?:="(.*?)")?$#is', $buffer, $m) && substr($out, -1, 1) == '[')

Заменить на:
// QUTE POST LINK
            else if (preg_match('#^quote(?:="(.*?)")?(?:;p=([0-9]+))?$#is', $buffer, $m) && substr($out, -1, 1) == '[')
// END

Найти:
$out .= 'quote="' . $username . '":' . $this->bbcode_uid . ']';

Заменить на:
// QUTE POST LINK
$post_id = (isset($m[2]) && $m[2]) ? ";p={$m[2]}" : '';
$out .= "quote="{$username}"{$post_id}:{$this->bbcode_uid}]";
// END

Открыть: styles/prosilver/template/bbcode.html
Найти:
<!-- BEGIN quote_username_open --><blockquote><div><cite>

Перед этим кодом вставить:
<!-- QUTE POST LINK -->
<!-- BEGIN quote_username_post_open --><blockquote><div><cite>{USERNAME} {L_WROTE} {L_IN} <a href="{QPBL_POST}" title="{QPBL_TITLE}">{QPBL_TITLE}</a>:</cite><!-- END quote_username_post_open -->
<!-- BEGIN quote_post_open --><blockquote><div><cite><a href="{QPBL_POST}" title="{QPBL_TITLE}">{QPBL_TITLE}</a>:</cite><!-- END quote_post_open -->
<!-- END -->

Открыть: styles/prosilver/template/editor.js
Найти:
insert_text('[quote="' + username + '"]' + theSelection + '[/quote]');

Заменить на:
// QUTE POST LINK
         var _post_id = '';
         if (post_id)
         {
            _post_id = ';p=' + post_id;
         }
         insert_text('[quote="' + username + '"' + _post_id + ']' + theSelection + '[/quote]');
// END


Установка для стиля subsilver2 и стилей на его основе.
Открыть: styles/subsilver2/template/bbcode.html
Найти:
<!-- BEGIN quote_username_open -->
<div class="quotetitle">{USERNAME} {L_WROTE}:</div><div class="quotecontent">
<!-- END quote_username_open -->

Перед вставить:
<!-- QUTE POST LINK -->
<!-- BEGIN quote_username_post_open -->
<div class="quotetitle">{USERNAME} {L_WROTE}: {L_IN} <a href="{QPBL_POST}" title="{QPBL_TITLE}">{QPBL_TITLE}</a></div><div class="quotecontent">
<!-- END quote_username_post_open -->

<!-- BEGIN quote_post_open -->
<div class="quotetitle">:<a href="{QPBL_POST}" title="{QPBL_TITLE}">{QPBL_TITLE}</a></div><div class="quotecontent">
<!-- END quote_post_open -->
<!-- END -->

Заливаем файлы из папки root в корень сайта, запускаем установку http://ваш_сайт.ru/install/install.php
Профиль  Отправить личное сообщение
Страница 1 из 1
Показать сообщения за:  Поле сортировки  
Ответить на тему

Сейчас этот форум просматривают: нет пользователей онлайн и гости: 1

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron