Редактор ответа Advanced BBCode Box 3 - bb-коды

Board index phpBBex 2.x Поддержка

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

Post #1by Lona » 11.09.2018, 13:48

Очень приглянулся редактор Advanced BBCode Box.
Обнаружилась проблема с некоторыми вв-кодами, не предусмотренными в редакторе, но уже используемыми на Форуме. Например, табличные. Как их грамотно добавить?
Какие файлы при этом задействуются?
Можете ли посоветовать что-либо почитать на эту тему?

Кроме табличных, важны bb-коды: "circle", "acronym" и "ghide=".

circle ([circle]{TEXT1}[/circle]) - при его использовании система говорит
Code: Select all
[phpBB Debug] PHP Warning: in file [ROOT]/includes/message_parser.php on line 84: preg_match(): Compilation failed: missing terminating ] for character class at offset 38
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5391: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3917)

В HTML-замене прописано
Code: Select all
<style type="text/css">
        /* Circle Text Styles */
        #outerCircleText {
        /* Optional - DO NOT SET FONT-SIZE HERE, SET IT IN THE SCRIPT */
        font-style: italic;
        font-weight: bold;
        font-family: 'comic sans ms', verdana, arial;
        color: #000;
        /* End Optional */

        /* Start Required - Do Not Edit */
        position: absolute;top: 0;left: 0;z-index: 3000;cursor: default;}
        #outerCircleText div {position: relative;}
        #outerCircleText div div {position: absolute;top: 0;left: 0;text-align: center;}
        /* End Required */
        /* End Circle Text Styles */
        </style>
        <script type="text/javascript">

        /* Circling text trail- Tim Tilton
           Website: http://www.tempermedia.com/
           Visit: http://www.dynamicdrive.com/ for Original Source and tons of scripts
           Modified Here for more flexibility and modern browser support
           Modifications as first seen in http://www.dynamicdrive.com/forums/
           username:jscheuer1 - This notice must remain for legal use
           */

        ;(function(){

        // Your message here (QUOTED STRING)
        var msg = "{TEXT1}";

        /* THE REST OF THE EDITABLE VALUES BELOW ARE ALL UNQUOTED NUMBERS */

        // Set font's style size for calculating dimensions
        // Set to number of desired pixels font size (decimal and negative numbers not allowed)
        var size = 24;

        // Set both to 1 for plain circle, set one of them to 2 for oval
        // Other numbers & decimals can have interesting effects, keep these low (0 to 3)
        var circleY = 0.75; var circleX = 2;

        // The larger this divisor, the smaller the spaces between letters
        // (decimals allowed, not negative numbers)
        var letter_spacing = 5;

        // The larger this multiplier, the bigger the circle/oval
        // (decimals allowed, not negative numbers, some rounding is applied)
        var diameter = 10;

        // Rotation speed, set it negative if you want it to spin clockwise (decimals allowed)
        var rotation = 0.4;

        // This is not the rotation speed, its the reaction speed, keep low!
        // Set this to 1 or a decimal less than one (decimals allowed, not negative numbers)
        var speed = 0.3;

        ////////////////////// Stop Editing //////////////////////

        if (!window.addEventListener && !window.attachEvent || !document.createElement) return;

        msg = msg.split('');
        var n = msg.length - 1, a = Math.round(size * diameter * 0.208333), currStep = 20,
        ymouse = a * circleY + 20, xmouse = a * circleX + 20, y = [], x = [], Y = [], X = [],
        o = document.createElement('div'), oi = document.createElement('div'),
        b = document.compatMode && document.compatMode != "BackCompat"? document.documentElement : document.body,

        mouse = function(e){
        e = e || window.event;
        ymouse = !isNaN(e.pageY)? e.pageY : e.clientY; // y-position
        xmouse = !isNaN(e.pageX)? e.pageX : e.clientX; // x-position
        },

        makecircle = function(){ // rotation/positioning
        if(init.nopy){
          o.style.top = (b || document.body).scrollTop + 'px';
          o.style.left = (b || document.body).scrollLeft + 'px';
        };
        currStep -= rotation;
        for (var d, i = n; i > -1; --i){ // makes the circle
          d = document.getElementById('iemsg' + i).style;
          d.top = Math.round(y[i] + a * Math.sin((currStep + i) / letter_spacing) * circleY - 15) + 'px';
          d.left = Math.round(x[i] + a * Math.cos((currStep + i) / letter_spacing) * circleX) + 'px';
        };
        },

        drag = function(){ // makes the resistance
        y[0] = Y[0] += (ymouse - Y[0]) * speed;
        x[0] = X[0] += (xmouse - 20 - X[0]) * speed;
        for (var i = n; i > 0; --i){
          y[i] = Y[i] += (y[i-1] - Y[i]) * speed;
          x[i] = X[i] += (x[i-1] - X[i]) * speed;
        };
        makecircle();
        },

        init = function(){ // appends message divs, & sets initial values for positioning arrays
        if(!isNaN(window.pageYOffset)){
          ymouse += window.pageYOffset;
          xmouse += window.pageXOffset;
        } else init.nopy = true;
        for (var d, i = n; i > -1; --i){
          d = document.createElement('div'); d.id = 'iemsg' + i;
          d.style.height = d.style.width = a + 'px';
          d.appendChild(document.createTextNode(msg[i]));
          oi.appendChild(d); y[i] = x[i] = Y[i] = X[i] = 0;
        };
        o.appendChild(oi); document.body.appendChild(o);
        setInterval(drag, 25);
        },

        ascroll = function(){
        ymouse += window.pageYOffset;
        xmouse += window.pageXOffset;
        window.removeEventListener('scroll', ascroll, false);
        };

        o.id = 'outerCircleText'; o.style.fontSize = size + 'px';

        if (window.addEventListener){
        window.addEventListener('load', init, false);
        document.addEventListener('mouseover', mouse, false);
        document.addEventListener('mousemove', mouse, false);
          if (/Apple/.test(navigator.vendor))
           window.addEventListener('scroll', ascroll, false);
        }
        else if (window.attachEvent){
        window.attachEvent('onload', init);
        document.attachEvent('onmousemove', mouse);
        };

        })();

        </script>

acronym ([acronym]{SIMPLETEXT1},{SIMPLETEXT2}[/acronym]) - Замена HTML:
Code: Select all
<acronym title="{SIMPLETEXT2}" style="cursor:help; font-weight: bold; color: navy; text-decoration:underline;">{SIMPLETEXT1}</acronym>

ghide= ([ghide={SIMPLETEXT}]{TEXT}[/ghide]), замена:
Code: Select all
<div class="adapthide">{TEXT}</div>
Lona
Topic author, Мастер
Avatar
Reputation: 13
With us: 5 years 4 months

Post #2by sag-sag » 11.09.2018, 15:11

ой не советую сторонние редакторы использовать, особенно если теги bb кодов могут отличаться от стандартных! Потом такие проблему будут (а они будут)...
Заметки администратора [TEHADM.RU]
sag-sag M
Гуру
Avatar
Age: 32
Reputation: 390
With us: 5 years 3 months

Post #3by Lona » 11.09.2018, 16:04

Упростим задачу: можно ли задать изображения прямоугольным квадратикам, в которых написаны названия бибикодов, над окном сообщения/ответа?
Lona
Topic author, Мастер
Avatar
Reputation: 13
With us: 5 years 4 months

Post #4by Lona » 12.09.2018, 22:03

Облазила интернет, нашла, что на чистом phpbb.. умные люди.. выполняют замену кнопок BBCoda на картинки. Некоторые - правкой файлов. Совсем умные - посредством ява-скриптов.
Дайте подсказку, как это можно реализовать в -ex.

Added after 1 hour 1 minute:
Например, для чистого предлагается такой скрипт (низ страницы posting_buttons.html)

Code: Select all
var buttons = document.getElementsByTagName('input');
for (i = 0; i < buttons.length; i++) {
   if (buttons[i].className == 'btnbbcode') {
      buttons[i].style.width = '28px';
      buttons[i].style.height = '26px';
      buttons[i].style.background = 'url({T_IMAGESET_PATH}/button-' + buttons[i].name + '.png)';
      buttons[i].style.border = 'none';
      buttons[i].style.verticalAlign = 'bottom';
      buttons[i].value = '';
   }
}

Какого вида здесь будет путь к папке с изображениями для -ex?
Lona
Topic author, Мастер
Avatar
Reputation: 13
With us: 5 years 4 months

Post #5by Lona » 18.09.2018, 16:46

Товарищи Люди!
Скажите же мне уже, в каких файлах задавать изображения кнопочкам bbcode! :pray:
В posting_buttons нашла, заменила. А остальные где лежат? :cry:
Lona
Topic author, Мастер
Avatar
Reputation: 13
With us: 5 years 4 months


Return to Поддержка



cron