Проблемы с BBcode

Список разделов phpBBex 1.x (поддерживается) Поддержка 1.x

Описание: У вас проблемы с phpBBex 1.x и вам необходима помощь? Спрашивайте здесь!
Правила раздела: Одна тема — один вопрос или группа связанных вопросов. Обязательно формируйте внятный заголовок, максимально отражающий суть вопроса. Подробно описывайте проблему. Не забудьте указать версию phpBBex и какие моды установлены, по возможности добавьте скриншоты проблемы или ссылку на страницу с проблемой.
Модератор: Поддержка

Сообщение #1 Akiyamka » 14.01.2014, 16:18

Не работает Зачерёркнутый bbcode на форуме. Как это поправить?
Демо: http://rainacademy.esy.es/viewtopic.php?f=11&t=185
PhpBBex 1.7.1, скачан с вашего сайта.

Добавлено спустя 6 минут 55 секунд:
Да, и заодно подскажите где почитать о том, как добавить свои собственные bbcode.
В частности мне требуется подсветка кода, вроде [code=php], только со своим синтаксисом
Akiyamka
Автор темы
Репутация: 0
С нами: 10 лет 2 месяца

Сообщение #2 Sumanai » 14.01.2014, 16:34

Akiyamka:Не работает Зачерёркнутый bbcode на форуме. Как это поправить?

Скажите, что делали, и мы скажем, как поправить. Версии PHP и MySQL тоже могут помочь.

Akiyamka:В частности мне требуется подсветка кода, вроде [code=php], только со своим синтаксисом

Это простым ббкодом не сделать.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #3 Akiyamka » 14.01.2014, 17:35

Скажите, что делали, и мы скажем, как поправить.
А) Установил форум на хост
Б) Перенёс базу с Ucoz форума скриптом, выложенным в теме на вашем форуме.
Версии PHP и MySQL тоже могут помочь.
Apache Версия: Apache/2.2.14
PHP Версия: 5.3
MySQL Версия: 5.1.61
Это простым ббкодом не сделать.
Опишите хотя-бы механику работы. Я себе представляю этот как:
Парсится текст заключенный в [code] по правилам описанным с помощью регулярных выражений, и найденной оформляется в в html формате.
Если я угадал, то мне как минимум для начала надо найти:
1) файл который отвечает за подсветку PHP (регулярные выражения), чтобы на базе него сделать подсветку нужную мне
2) файл в котором описаны кнопки bbcode и их функционал, чтобы добавить туда свою кнопку
3) файл стилей, если они используются для подствески ситаксиса
Akiyamka
Автор темы
Репутация: 0
С нами: 10 лет 2 месяца

Сообщение #4 VEG » 14.01.2014, 20:02

Подсветка синтаксиса в файле ./includes/message_parser.php, сами кнопки описаны в шаблоне posting_buttons.html. Но я вообще реализовал бы подсветку синтаксисов в этом BBCode на стороне клиента при помощи соответствующих библиотек на JS.
VEG M
Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #5 Sumanai » 14.01.2014, 20:04

Akiyamka:Опишите хотя-бы механику работы.

Тут где- то обсуждали соответствующий мод, точнее, доработки для его работы.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #6 Akiyamka » 15.01.2014, 14:34

Но я вообще реализовал бы подсветку синтаксисов в этом BBCode на стороне клиента при помощи соответствующих библиотек на JS.
Спасибо за идею, уже нашел подходящий скрипт.
Тут где- то обсуждали соответствующий мод, точнее, доработки для его работы.
А можно поподробнее, а то поиск по форуму у вас какой-то капризный. То ему слишком часто встречается слово, то не встречается, слова местами переставляет :insane:

Добавлено спустя 2 минуты 11 секунд:
А насчет сабжа ничего не известно? Намекните хоть где копать.
Akiyamka
Автор темы
Репутация: 0
С нами: 10 лет 2 месяца

Сообщение #7 Sumanai » 15.01.2014, 15:15

Akiyamka:А можно поподробнее, а то поиск по форуму у вас какой-то капризный

Я и сам не помню :smile:
Искать что- то на форуме проще через гугл или яндекс- водите site:phpbbex.com перед запросом и получаете качественную поисковую выдачу.
В общем вот тема, использовался плагин geshi.

Добавлено спустя 4 минуты 18 секунд:
Akiyamka:А насчет сабжа ничего не известно? Намекните хоть где копать.

Обработка зашита там же, где и остальные встроенные коды, в \includes\bbcode.php. Не работать может, если у вас файлы от чистого phpBB.
Попробуйте найти в этом файле вот это:
Код: Выделить всё
            case 13:
               $this->bbcode_cache[$bbcode_id] = array(
                  'str' => array(
                     '[s:$uid]'   => $this->bbcode_tpl('s_open', $bbcode_id),
                     '[/s:$uid]'   => $this->bbcode_tpl('s_close', $bbcode_id),
                  )
               );
            break;
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #8 Akiyamka » 16.01.2014, 00:12

В общем вот тема, использовался плагин geshi.
Воот :pray: такое спасибо
Попробуйте найти в этом файле вот это:
Нашел, все на месте.
Не работать может, если у вас файлы от чистого phpBB.
Не, файлы только ваши. Скорее всего дело в скрипте, о которомя писал выше (для переноса бд). К примеру там есть такие строчки (обратите внимание на первые два комментария кода):
Код: Выделить всё
//Добавим в базу phpBB3 BB-коды, которых нет по умолчанию
//TODO: Если в базе есть пользовательские BB-коды, надо это проконтролировать
function add_bbcode_in_db()
{
   global $db;
   $phpbb_bbcodes = array(
      array('bbcode_id' => '14','bbcode_order' => '1','bbcode_tag' => 's','bbcode_helpline' => 'Зачеркнутый текст: [s]текст[/s]','display_on_posting' => '0','bbcode_match' => '[s]{TEXT}[/s]','bbcode_tpl' => '<s>{TEXT}</s>','first_pass_match' => '!\\[s\\](.*?)\\[/s\\]!ies','first_pass_replace' => '\'[s:$uid]\'.str_replace(array("\\r\\n", \'\\"\', \'\\\'\', \'(\', \')\'), array("\\n", \'"\', \'&#39;\', \'&#40;\', \'&#41;\'), trim(\'${1}\')).\'[/s:$uid]\'','second_pass_match' => '!\\[s:$uid\\](.*?)\\[/s:$uid\\]!s','second_pass_replace' => '<s>${1}</s>'),
      array('bbcode_id' => '15','bbcode_order' => '2','bbcode_tag' => 'o','bbcode_helpline' => 'Черта вверху текста: [o]текст[/o]','display_on_posting' => '0','bbcode_match' => '[o]{TEXT}[/o]','bbcode_tpl' => '<span style="text-decoration: overline">{TEXT}</span>','first_pass_match' => '!\\[o\\](.*?)\\[/o\\]!ies','first_pass_replace' => '\'[o:$uid]\'.str_replace(array("\\r\\n", \'\\"\', \'\\\'\', \'(\', \')\'), array("\\n", \'"\', \'&#39;\', \'&#40;\', \'&#41;\'), trim(\'${1}\')).\'[/o:$uid]\'','second_pass_match' => '!\\[o:$uid\\](.*?)\\[/o:$uid\\]!s','second_pass_replace' => '<span style="text-decoration: overline">${1}</span>'),
      array('bbcode_id' => '16','bbcode_order' => '3','bbcode_tag' => 'l','bbcode_helpline' => 'Текст по левому краю: [l]текст[/l]','display_on_posting' => '0','bbcode_match' => '[l]{TEXT}[/l]','bbcode_tpl' => '<div align="left">{TEXT}</div>','first_pass_match' => '!\\[l\\](.*?)\\[/l\\]!ies','first_pass_replace' => '\'[l:$uid]\'.str_replace(array("\\r\\n", \'\\"\', \'\\\'\', \'(\', \')\'), array("\\n", \'"\', \'&#39;\', \'&#40;\', \'&#41;\'), trim(\'${1}\')).\'[/l:$uid]\'','second_pass_match' => '!\\[l:$uid\\](.*?)\\[/l:$uid\\]!s','second_pass_replace' => '<div align="left">${1}</div>'),
      array('bbcode_id' => '17','bbcode_order' => '4','bbcode_tag' => 'c','bbcode_helpline' => 'Текст по центру: [c]текст[/c]','display_on_posting' => '0','bbcode_match' => '[c]{TEXT}[/c]','bbcode_tpl' => '<div align="center">{TEXT}</div>','first_pass_match' => '!\\[c\\](.*?)\\[/c\\]!ies','first_pass_replace' => '\'[c:$uid]\'.str_replace(array("\\r\\n", \'\\"\', \'\\\'\', \'(\', \')\'), array("\\n", \'"\', \'&#39;\', \'&#40;\', \'&#41;\'), trim(\'${1}\')).\'[/c:$uid]\'','second_pass_match' => '!\\[c:$uid\\](.*?)\\[/c:$uid\\]!s','second_pass_replace' => '<div align="center">${1}</div>'),
      array('bbcode_id' => '18','bbcode_order' => '5','bbcode_tag' => 'r','bbcode_helpline' => 'Текст по правому краю: [r]текст[/r]','display_on_posting' => '0','bbcode_match' => '[r]{TEXT}[/r]','bbcode_tpl' => '<div align="right">{TEXT}</div>','first_pass_match' => '!\\[r\\](.*?)\\[/r\\]!ies','first_pass_replace' => '\'[r:$uid]\'.str_replace(array("\\r\\n", \'\\"\', \'\\\'\', \'(\', \')\'), array("\\n", \'"\', \'&#39;\', \'&#40;\', \'&#41;\'), trim(\'${1}\')).\'[/r:$uid]\'','second_pass_match' => '!\\[r:$uid\\](.*?)\\[/r:$uid\\]!s','second_pass_replace' => '<div align="right">${1}</div>'),
      array('bbcode_id' => '19','bbcode_order' => '6','bbcode_tag' => 'j','bbcode_helpline' => 'Текст по ширине страницы: [j]текст[/j]','display_on_posting' => '0','bbcode_match' => '[j]{TEXT}[/j]','bbcode_tpl' => '<div align="justify">{TEXT}</div>','first_pass_match' => '!\\[j\\](.*?)\\[/j\\]!ies','first_pass_replace' => '\'[j:$uid]\'.str_replace(array("\\r\\n", \'\\"\', \'\\\'\', \'(\', \')\'), array("\\n", \'"\', \'&#39;\', \'&#40;\', \'&#41;\'), trim(\'${1}\')).\'[/j:$uid]\'','second_pass_match' => '!\\[j:$uid\\](.*?)\\[/j:$uid\\]!s','second_pass_replace' => '<div align="justify">${1}</div>'),
      array('bbcode_id' => '20','bbcode_order' => '7','bbcode_tag' => 'sub','bbcode_helpline' => 'Нижний индекс: [sub]текст[/sub]','display_on_posting' => '0','bbcode_match' => '[sub]{TEXT}[/sub]','bbcode_tpl' => '<sub>{TEXT}</sub>','first_pass_match' => '!\\[sub\\](.*?)\\[/sub\\]!ies','first_pass_replace' => '\'[sub:$uid]\'.str_replace(array("\\r\\n", \'\\"\', \'\\\'\', \'(\', \')\'), array("\\n", \'"\', \'&#39;\', \'&#40;\', \'&#41;\'), trim(\'${1}\')).\'[/sub:$uid]\'','second_pass_match' => '!\\[sub:$uid\\](.*?)\\[/sub:$uid\\]!s','second_pass_replace' => '<sub>${1}</sub>'),
      array('bbcode_id' => '21','bbcode_order' => '8','bbcode_tag' => 'sup','bbcode_helpline' => 'Верхний индекс: [sup]текст[/sup]','display_on_posting' => '0','bbcode_match' => '[sup]{TEXT}[/sup]','bbcode_tpl' => '<sup>{TEXT}</sup>','first_pass_match' => '!\\[sup\\](.*?)\\[/sup\\]!ies','first_pass_replace' => '\'[sup:$uid]\'.str_replace(array("\\r\\n", \'\\"\', \'\\\'\', \'(\', \')\'), array("\\n", \'"\', \'&#39;\', \'&#40;\', \'&#41;\'), trim(\'${1}\')).\'[/sup:$uid]\'','second_pass_match' => '!\\[sup:$uid\\](.*?)\\[/sup:$uid\\]!s','second_pass_replace' => '<sup>${1}</sup>'),
      array('bbcode_id' => '22','bbcode_order' => '9','bbcode_tag' => 'font=','bbcode_helpline' => 'Другой шрифт: [font=шрифт]текст[/font], шрифт=Courier, Impact, Geneva или Optima','display_on_posting' => '0','bbcode_match' => '[font={IDENTIFIER}]{TEXT}[/font]','bbcode_tpl' => '<span style="font-family:{IDENTIFIER}">{TEXT}</span>','first_pass_match' => '!\\[font\\=([a-zA-Z0-9-_]+)\\](.*?)\\[/font\\]!ies','first_pass_replace' => '\'[font=${1}:$uid]\'.str_replace(array("\\r\\n", \'\\"\', \'\\\'\', \'(\', \')\'), array("\\n", \'"\', \'&#39;\', \'&#40;\', \'&#41;\'), trim(\'${2}\')).\'[/font:$uid]\'','second_pass_match' => '!\\[font\\=([a-zA-Z0-9-_]+):$uid\\](.*?)\\[/font:$uid\\]!s','second_pass_replace' => '<span style="font-family:${1}">${2}</span>'),
      array('bbcode_id' => '23','bbcode_order' => '10','bbcode_tag' => 'hr','bbcode_helpline' => 'Линия: [hr][/hr]','display_on_posting' => '0','bbcode_match' => '[hr][/hr]','bbcode_tpl' => '<hr />','first_pass_match' => '!\\[hr\\]\\[/hr\\]!i','first_pass_replace' => '[hr:$uid][/hr:$uid]','second_pass_match' => '[hr:$uid][/hr:$uid]','second_pass_replace' => ''),
      array('bbcode_id' => '24','bbcode_order' => '11','bbcode_tag' => 'video','bbcode_helpline' => 'Вставить видео: [video]http://video_url[/video]','display_on_posting' => '0','bbcode_match' => '[video]{URL}[/video]','bbcode_tpl' => '<div class=\'bbvideo\' data-url=\'{URL}\' style=\'width: 425px; height: 355px; margin: 2px 0; display: inline-block; background: #000; color: #fff; overflow: hidden; vertical-align: bottom;\'><div style=\'height: 100%;\'><script>if (typeof bbmedia == \'undefined\') { bbmedia = true; var e = document.createElement(\'script\'); e.async = true; e.src = \'http://phpbbex.com/api/bbmedia.js\'; var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(e, s); }</script></div><div style=\'text-align: right; height: 14px; margin-top: -14px; padding-right: 2px; font: 10px/10px Verdana; color: #555;\'><a style=\'color: #105289; text-decoration: none;\' href=\'http://phpbbex.com/\' target=\'_blank\'>phpBB</a> &#91;video&#93;</div></div>','first_pass_match' => '!\\[video\\](?:([a-z][a-z\\d+\\-.]*:/{2}(?:(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})+|[0-9.]+|\\[[\\pLa-z0-9.]+:[\\pLa-z0-9.]+:[\\pLa-z0-9.:]+\\])(?::\\d*)?(?:/(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})*)*(?:\\?(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?(?:#(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?)|(www\\.(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})+(?::\\d*)?(?:/(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})*)*(?:\\?(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?(?:#(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?))\\[/video\\]!ie','first_pass_replace' => '\'[video:$uid]\'.$this->bbcode_specialchars((\'${1}\') ? \'${1}\' : \'http://${2}\').\'[/video:$uid]\'','second_pass_match' => '!\\[video:$uid\\](?i)((?:[a-z][a-z\\d+\\-.]*:/{2}(?:(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})+|[0-9.]+|\\[[\\pLa-z0-9.]+:[\\pLa-z0-9.]+:[\\pLa-z0-9.:]+\\])(?::\\d*)?(?:/(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})*)*(?:\\?(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?(?:#(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?)|(?:www\\.(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})+(?::\\d*)?(?:/(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})*)*(?:\\?(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?(?:#(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?))(?-i)\\[/video:$uid\\]!s','second_pass_replace' => '<div class=\'bbvideo\' data-url=\'${1}\' style=\'width: 425px; height: 355px; margin: 2px 0; display: inline-block; background: #000; color: #fff; overflow: hidden; vertical-align: bottom;\'><div style=\'height: 100%;\'><script>if (typeof bbmedia == \'undefined\') { bbmedia = true; var e = document.createElement(\'script\'); e.async = true; e.src = \'http://phpbbex.com/api/bbmedia.js\'; var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(e, s); }</script></div><div style=\'text-align: right; height: 14px; margin-top: -14px; padding-right: 2px; font: 10px/10px Verdana; color: #555;\'><a style=\'color: #105289; text-decoration: none;\' href=\'http://phpbbex.com/\' target=\'_blank\'>phpBB</a> &#91;video&#93;</div></div>'),
      array('bbcode_id' => '25','bbcode_order' => '12','bbcode_tag' => 'audio','bbcode_helpline' => 'Вставить аудио: [audio]http://audio_url[/audio]','display_on_posting' => '0','bbcode_match' => '[audio]{URL}[/audio]','bbcode_tpl' => '<div class=\'bbaudio\' data-url=\'{URL}\' style=\'margin: 1px; display: inline-block; vertical-align: bottom;\'><div style=\'width: 200px; height: 40px; border: 1px solid #999; display: table-cell; text-align: center; vertical-align: middle; font: 10px/10px Verdana; color: #555; opacity: 0.5;\'><a style=\'color: #105289; text-decoration: none;\' href=\'http://phpbbex.com/\' target=\'_blank\'>phpBB</a> &#91;audio&#93;</div><script>if (typeof bbmedia == \'undefined\') { bbmedia = true; var e = document.createElement(\'script\'); e.async = true; e.src = \'http://phpbbex.com/api/bbmedia.js\'; var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(e, s); }</script></div>','first_pass_match' => '!\\[audio\\](?:([a-z][a-z\\d+\\-.]*:/{2}(?:(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})+|[0-9.]+|\\[[\\pLa-z0-9.]+:[\\pLa-z0-9.]+:[\\pLa-z0-9.:]+\\])(?::\\d*)?(?:/(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})*)*(?:\\?(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?(?:#(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?)|(www\\.(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})+(?::\\d*)?(?:/(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})*)*(?:\\?(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?(?:#(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?))\\[/audio\\]!ie','first_pass_replace' => '\'[audio:$uid]\'.$this->bbcode_specialchars((\'${1}\') ? \'${1}\' : \'http://${2}\').\'[/audio:$uid]\'','second_pass_match' => '!\\[audio:$uid\\](?i)((?:[a-z][a-z\\d+\\-.]*:/{2}(?:(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})+|[0-9.]+|\\[[\\pLa-z0-9.]+:[\\pLa-z0-9.]+:[\\pLa-z0-9.:]+\\])(?::\\d*)?(?:/(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})*)*(?:\\?(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?(?:#(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?)|(?:www\\.(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})+(?::\\d*)?(?:/(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@|]+|%[\\dA-F]{2})*)*(?:\\?(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?(?:#(?:[\\pLa-z0-9\\-._~\\!$&\'\\{\\}()*+,;=:@/?|]+|%[\\dA-F]{2})*)?))(?-i)\\[/audio:$uid\\]!s','second_pass_replace' => '<div class=\'bbaudio\' data-url=\'${1}\' style=\'margin: 1px; display: inline-block; vertical-align: bottom;\'><div style=\'width: 200px; height: 40px; border: 1px solid #999; display: table-cell; text-align: center; vertical-align: middle; font: 10px/10px Verdana; color: #555; opacity: 0.5;\'><a style=\'color: #105289; text-decoration: none;\' href=\'http://phpbbex.com/\' target=\'_blank\'>phpBB</a> &#91;audio&#93;</div><script>if (typeof bbmedia == \'undefined\') { bbmedia = true; var e = document.createElement(\'script\'); e.async = true; e.src = \'http://phpbbex.com/api/bbmedia.js\'; var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(e, s); }</script></div>'),
      array('bbcode_id' => '26','bbcode_order' => '13','bbcode_tag' => 'spoiler','bbcode_helpline' => 'Спойлер: [spoiler]текст[/spoiler]','display_on_posting' => '0','bbcode_match' => '[spoiler]{TEXT}[/spoiler]','bbcode_tpl' => '<div class="uSpoilerClosed"><div class="uSpoilerButBl"><input type="button" class="uSpoilerButton" onclick="if ($($(this).parent().next(\'.uSpoilerText\'))[0].style.display == \'none\'){$($(this).parent().next(\'.uSpoilerText\'))[0].style.display = \'\';$(this).val(\'Закрыть спойлер\');$(this).parent().parent().attr(\'class\',\'uSpoilerOpened\');}else{$($(this).parent().next(\'.uSpoilerText\'))[0].style.display = \'none\';$(this).val(\'Закрыть спойлер\');$(this).parent().parent().attr(\'class\',\'uSpoilerClosed\');}" value="Открыть спойлер"/></div><div class="uSpoilerText" style="display:none;">{TEXT}</div></div>','first_pass_match' => '!\\[spoiler\\](.*?)\\[/spoiler\\]!ies','first_pass_replace' => '\'[spoiler:$uid]\'.str_replace(array("\\r\\n", \'\\"\', \'\\\'\', \'(\', \')\'), array("\\n", \'"\', \'&#39;\', \'&#40;\', \'&#41;\'), trim(\'${1}\')).\'[/spoiler:$uid]\'','second_pass_match' => '!\\[spoiler:$uid\\](.*?)\\[/spoiler:$uid\\]!s','second_pass_replace' => '<div class="uSpoilerClosed"><div class="uSpoilerButBl"><input type="button" class="uSpoilerButton" onclick="if ($($(this).parent().next(\'.uSpoilerText\'))[0].style.display == \'none\'){$($(this).parent().next(\'.uSpoilerText\'))[0].style.display = \'\';$(this).val(\'Закрыть спойлер\');$(this).parent().parent().attr(\'class\',\'uSpoilerOpened\');}else{$($(this).parent().next(\'.uSpoilerText\'))[0].style.display = \'none\';$(this).val(\'Закрыть спойлер\');$(this).parent().parent().attr(\'class\',\'uSpoilerClosed\');}" value="Открыть спойлер"/></div><div class="uSpoilerText" style="display:none;">${1}</div></div>'),
      array('bbcode_id' => '27','bbcode_order' => '14','bbcode_tag' => 'spoiler=','bbcode_helpline' => 'Спойлер с заголовком: [spoiler=заголовок]текст[/spoiler]','display_on_posting' => '0','bbcode_match' => '[spoiler={INTTEXT}]{TEXT}[/spoiler]','bbcode_tpl' => '<div class="uSpoilerClosed"><div class="uSpoilerButBl"><input type="button" class="uSpoilerButton" onclick="if ($($(this).parent().next(\'.uSpoilerText\'))[0].style.display == \'none\'){$($(this).parent().next(\'.uSpoilerText\'))[0].style.display = \'\';$(this).val(\'[-] {INTTEXT}\');$(this).parent().parent().attr(\'class\',\'uSpoilerOpened\');}else{$($(this).parent().next(\'.uSpoilerText\'))[0].style.display = \'none\';$(this).val(\'[+] {INTTEXT}\');$(this).parent().parent().attr(\'class\',\'uSpoilerClosed\');}" value="[+] {INTTEXT}"/></div><div class="uSpoilerText" style="display:none;">{TEXT}</div></div>','first_pass_match' => '!\\[spoiler\\=([\\p{L}\\p{N}\\-+,_. ]+)\\](.*?)\\[/spoiler\\]!iues','first_pass_replace' => '\'[spoiler=${1}:$uid]\'.str_replace(array("\\r\\n", \'\\"\', \'\\\'\', \'(\', \')\'), array("\\n", \'"\', \'&#39;\', \'&#40;\', \'&#41;\'), trim(\'${2}\')).\'[/spoiler:$uid]\'','second_pass_match' => '!\\[spoiler\\=([\\p{L}\\p{N}\\-+,_. ]+):$uid\\](.*?)\\[/spoiler:$uid\\]!su','second_pass_replace' => '<div class="uSpoilerClosed"><div class="uSpoilerButBl"><input type="button" class="uSpoilerButton" onclick="if ($($(this).parent().next(\'.uSpoilerText\'))[0].style.display == \'none\'){$($(this).parent().next(\'.uSpoilerText\'))[0].style.display = \'\';$(this).val(\'[-] ${1}\');$(this).parent().parent().attr(\'class\',\'uSpoilerOpened\');}else{$($(this).parent().next(\'.uSpoilerText\'))[0].style.display = \'none\';$(this).val(\'[+] ${1}\');$(this).parent().parent().attr(\'class\',\'uSpoilerClosed\');}" value="[+] ${1}"/></div><div class="uSpoilerText" style="display:none;">${2}</div></div>')
   );
   $db->sql_multi_insert(BBCODES_TABLE, $phpbb_bbcodes);
}
Кстати, я пока эту часть скрипта не отключил, у меня конвертация базы зависала с ошибкой в этом месте. Ошибку к сожалению не помню, я просто закоментил везде эту функцию, и все заработало. Тогда я и обратил внимания что она работает с bb кодами.

В общем похоже что-то с бд (гипотетически), но я в этом лесу сам не разберусь.
Akiyamka
Автор темы
Репутация: 0
С нами: 10 лет 2 месяца

Сообщение #9 Sumanai » 16.01.2014, 04:58

Akiyamka:Кстати, я пока эту часть скрипта не отключил, у меня конвертация базы зависала с ошибкой в этом месте

Почему сразу не сказали? :ill:
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #10 VEG » 16.01.2014, 07:00

Akiyamka:А насчет сабжа ничего не известно? Намекните хоть где копать.
Зайдите в админку, в редактирование BBCode, и удалите там все BBCode, которые есть в phpBBex по умолчанию. Затем выполните следующий SQL-код:
Код: Выделить всё
-- Resolve conflicts with the new system bbcodes
DELETE FROM phpbb_bbcodes WHERE bbcode_tag IN ('s', 'tt', 'upd', 'upd=', 'spoiler', 'spoiler=');
SELECT (@new_bbcode_id:=GREATEST(MAX(bbcode_id)+1, 17)) FROM phpbb_bbcodes;
UPDATE phpbb_bbcodes SET bbcode_id=@new_bbcode_id WHERE bbcode_id = 13;
SELECT (@new_bbcode_id:=GREATEST(MAX(bbcode_id)+1, 17)) FROM phpbb_bbcodes;
UPDATE phpbb_bbcodes SET bbcode_id=@new_bbcode_id WHERE bbcode_id = 14;
SELECT (@new_bbcode_id:=GREATEST(MAX(bbcode_id)+1, 17)) FROM phpbb_bbcodes;
UPDATE phpbb_bbcodes SET bbcode_id=@new_bbcode_id WHERE bbcode_id = 15;
SELECT (@new_bbcode_id:=GREATEST(MAX(bbcode_id)+1, 17)) FROM phpbb_bbcodes;
UPDATE phpbb_bbcodes SET bbcode_id=@new_bbcode_id WHERE bbcode_id = 16;

После этого проверьте, чтобы в таблице phpbb_bbcodes не было BBCode с bbcode_id меньше 16. Если таких нет, то можете проверять работу BBCode в новых сообщениях. Чтобы перепарсить BBCode в старых сообщениях, используйте функцию Reparse all BBCodes в STK (каталог ./stk/).

Добавлено спустя 3 минуты 5 секунд:
Akiyamka, либо, если у вас есть возможность ещё раз воспользоваться конвертацией, во всех строках
Код: Выделить всё
array('bbcode_id' => '14'
замените числа на уникальные значения больше 16. То есть, 14, 15 и 16 должны стать 28, 29 и 30. Ах, да, строки, в которых содержится
Код: Выделить всё
'bbcode_tag' => 's'
и другие встроенные в phpBBex BBCode следует вообще удалить.
VEG M
Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #11 Quadrogrammaton » 14.03.2014, 02:19

Добавил через админку [video] и [media] , в теме prosilver работает нормально, при переключении на любой другой стиль :

Изображение

куда копать ? :(
Quadrogrammaton
Гость

Сообщение #12 VEG » 14.03.2014, 11:21

Quadrogrammaton, subsilver2 не поддерживается в phpBBex, об этом сказано в FAQ. Вы можете его использовать только в том случае, если адаптируете его под phpBBex.
VEG M
Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #13 HD321kbps » 14.03.2014, 23:13

пишите в ручную [video] и [/video] вместо undefined и сохрани посмотрите, что будет) Работает?
HD321kbps M
Аватара
Откуда: Армянск
Репутация: 376
С нами: 11 лет


Вернуться в Поддержка 1.x



cron