[РЕШЕНО] Как разрешить в Jevix теги div и span

Требуется разрешить в Jevix теги div и span с параметром style. Параметр style в свою очередь содержит свои параметры: font-family, font-size, color, background-color, font-weight, font-style, text-align, padding.

Кто-то писал, что теги добавлять нужно в engine/modules/text/Text.class.php. Поковырял его, понял, что он ссылается на /config/jevix.php. Там я и нашел разрешенные теги, но новые добавить не получается, не работают.

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

Плеер GrooveShark

Вопрос:
Как разрешить в Jevix парсинг плеера?
По типу:
/**
                 * youtube.com
                 */             
                $sText = preg_replace('/<video>http:\/\/(?:www\.|)youtube\.com\/watch\?v=([a-zA-Z0-9_\-]+)<\/video>/Ui', '<object width="425" height="344"><param name="wmode" value="opaque"></param><embed src="http://www.youtube.com/v/$1&hl=en" type="application/x-shockwave-flash" wmode="opaque" width="425" height="344"></embed></param></embed></param></embed></object>', $sText);          


Код плеера:
<object width="250" height="250" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="gsPlaylist657773880" name="gsPlaylist657773880"><param name="wmode" value="opaque"></param><param name="allowScriptAccess" value="always"></param><param name="flashvars" value="hostname=cowbell.grooveshark.com&playlistID=65777388&bbg=000000&bth=000000&pfg=000000&lfg=000000&bt=FFFFFF&pbg=FFFFFF&pfgh=FFFFFF&si=FFFFFF&lbg=FFFFFF&lfgh=FFFFFF&sb=FFFFFF&bfg=666666&pbgh=666666&lbgh=666666&sbh=666666&p=0"></param></object></object>

textarea, button и iframe внутри топика

Уже не раз добавлял в Jevix.php свои надстройки. Например, разрешил image map, onmouseover и т.п. Всё начинало работать.

Но когда разрешил button и textarea, а также их параметры:
array('textarea', array('name','cols'=>'#int','rows'=>'#int')),
array('button',array('id'))


то отображается только button (без id — т.е. он удаляется), textarea вообще не появляется. А iframe появляется пустым.

не подскажите, как решить эту проблему?

Разрешеннные html-атрибуты

При создании сообщения Livestreet вырезает некоторые атрибуты, что делает невозможным отформатировать текст. Например, никак не получается сделать якорь в тексте. Я прописала в /engine/modules/text/Text.class.php у ссылки атрибут «name», но якорь все равно вырезается из текста:

$this->oJevix->cfgAllowTagParams('a', array('title', 'style', 'target', 'href', 'id', 'rel', 'name'));	

То же самое с div-ами — не работает выравнивание текста внутри. Добавила див в разрешенные теги, добавила разрешенные атрибуты:

$this->oJevix->cfgAllowTagParams('div', array('text-align' => array('right', 'left', 'center')));

Подскажите, пожалуйста, где еще нужно поправить, чтобы теги заработали?

Jevix и <br /> в конце текста

Подскажите, пожалуйста, как заставить Jevix убирать перенос строки в конце текста. К примеру, при использовании визуального редактора TinyMCE можно случайно наставить br в конце топика или комментария. В редакторе они не видны, если не смотреть HTML код, а при публикации выглядят, разумеется, не весьма к месту.
На сайте Джевикса в перловой версии они отлично убираются, как бы это реализовать в LS?

Тире/дефис в конце строки

Поправил небольшую ошибку в jevix.class.php.
Ошибка в следующем:
Если строка заканчивается на дефис (который потом преобразуется в тире), то пропадает перевод строки.

Это лимерик — должно быть пять строк, а получается четыре:
Часовой мастер Стью Перегрин
Засыпал меж тяжёлых перин — Стрекотанье часов
Хуже полчища сов
Доводило его до седин.


Если писать дефис без пробела или ставить сразу самому тире — тогда всё ок.

Правка следующая:
меняем

while($this->curCh == '-') $this->getCh();
if(!$this->skipNL() && !$this->skipSpaces()){
    $this->restoreState();
    return false;
}

на

while($this->curCh == '-') $this->getCh();
$count=0;
if(!$this->skipNL($count,1) && !$this->skipSpaces()){
    $this->restoreState();
    return false;
}


Если кто из знатоков подскажет, как сделать правильнее, буду балгодарен.

Jevix. P вместо BR, возможно?

Приветствую всех.

У меня возник вопрос, можно ли перенос строк реорганизовать, т.е. вместо тегов br использовать параграфы?

UPD: Возможо.
Вот цитата с хабра:

Нашел решение.

Разрешаем тег p
Ставим cfgSetAutoBrMode(false);
В jevix.class.php в функции parse исправляем:

if($this->isAutoBrMode) {
    $this->text = preg_replace('/<br\/?>(\r\n|\n\r|\n)?/ui', $this->nl, $text);
} else {
    $this->text = preg_replace('/\n?(.+?)(?:\n\s*\n|\z)/s', "$1\n", $text);
}

TinyMCE + Jevix

LS 0.4.2 rev1048
TinyMCE включен

При создании поста и изспользовании зачеркивания редактор TinyMCE вставляет его не как тег s (strike), а через span+style
соответственно парсер jevix его (span) обрезает.
На предпросмотре поста все видно как нужно, после неверно.

Подскажите в каком месте поправить TinyMCE чтобы кнопка S формировала тег s а не конструкцию с span+style=text-decoration.
Изправлять разрешенные теги в Jevix считаю нецелесообразно из-за того что стилями можно очень сильно изменить сайт.

Проблема со вставкой видео [решено]

Имеется сайт с которого хотелось бы вставлять видео, проигрыватель flowplayer, код для вставки получается довольно большой:
<object id="null" width="700" height="450" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="wmode" value="opaque"></param> 
    <param value="true" name="allowfullscreen"/>
    <param value="always" name="allowscriptaccess"/>
    <param value="high" name="quality"/>
    <param value="true" name="cachebusting"/>
    <param value="#000000" name="bgcolor"/>
    <param name="movie" value="http://nctv.in.ua/swf/flowplayer-3.2.5.swf?0.7314897422225228"></param>
    <param value="config=%7B%22plugins%22%3A%7B%22controls%22%3A%7B%22tooltips%22%3A%7B%22buttons%22%3Atrue%2C%22mute%22%3A%22%u0412%u043A%u043B./%u0412%u044B%u043A%u043B.%22%2C%22next%22%3A%22%u0421%u043B%u0435%u0434%u0443%u044E%u0449%u0438%u0439%22%2C%22fullscreen%22%3A%22%u041F%u0435%u0440%u0435%u0439%u0442%u0438%20%u0432%20%u043F%u043E%u043B%u043D%u044B%u0439%20%u044D%u043A%u0440%u0430%u043D%22%2C%22fullscreenExit%22%3A%22%u0412%u044B%u0439%u0442%u0438%20%u0438%u0437%20%u043F%u043E%u043B%u043D%u043E%u0433%u043E%20%u044D%u043A%u0440%u0430%u043D%u0430%22%2C%22play%22%3A%22%u0421%u043C%u043E%u0442%u0440%u0435%u0442%u044C%22%2C%22pause%22%3A%22%u041F%u0430%u0443%u0437%u0430%22%2C%22unmute%22%3A%22%u0412%u043A%u043B.%22%2C%22previous%22%3A%22%u041F%u0440%u0435%u0434%u044B%u0434%u0443%u0449%u0438%u0439%22%7D%2C%22url%22%3A%22http%3A//nctv.in.ua/swf/flowplayer.controls-3.2.3.swf%22%2C%22autoHide%22%3Afalse%7D%2C%22viral%22%3A%7B%22url%22%3A%22http%3A//nctv.in.ua/swf/flowplayer.viralvideos-3.2.3.swf%22%2C%22share%22%3A%7B%22description%22%3A%22%u041F%u044C%u044F%u043D%u044B%u0435%20%u0434%u043E%u043C%u0430.%20%u0412%20%u0414%u043D%u0435%u043F%u0440%u043E%u043F%u0435%u0442%u0440%u043E%u0432%u0441%u043A%u0435%20%u0440%u0430%u0437%u0432%u0430%u043B%u0438%u0432%u0430%u044E%u0442%u0441%u044F%20%u0436%u0438%u043B%u044B%u0435%20%u043C%u043D%u043E%u0433%u043E%u044D%u0442%u0430%u0436%u043A%u0438%22%2C%22shareUrl%22%3A%22http%3A//nctv.in.ua/video/watch/pyanye-doma-v-dnepropetrovske-razvalivayutsya-zhilye-mnogoehtazhki%22%7D%7D%7D%2C%22defaults%22%3A%7B%22baseUrl%22%3A%22http%3A//nctv.in.ua%22%7D%2C%22clip%22%3A%7B%22autoBuffering%22%3Atrue%2C%22scaling%22%3A%22fit%22%2C%22url%22%3A%22/uploads/video/data/4c260eaa71d249501752be531bac5fb7112f2be7.mp4%22%2C%22autoPlay%22%3Afalse%7D%2C%22playlist%22%3A%5B%7B%22autoBuffering%22%3Atrue%2C%22scaling%22%3A%22fit%22%2C%22url%22%3A%22/uploads/video/data/4c260eaa71d249501752be531bac5fb7112f2be7.mp4%22%2C%22autoPlay%22%3Afalse%7D%5D%7D" name="flashvars"/>
    <embed src="http://nctv.in.ua/swf/flowplayer-3.2.5.swf?0.7314897422225228" type="application/x-shockwave-flash" width="700" height="450" allowfullscreen="true" allowscriptaccess="always" cachebusting="true" flashvars="config=%7B%22plugins%22%3A%7B%22controls%22%3A%7B%22tooltips%22%3A%7B%22buttons%22%3Atrue%2C%22mute%22%3A%22%u0412%u043A%u043B./%u0412%u044B%u043A%u043B.%22%2C%22next%22%3A%22%u0421%u043B%u0435%u0434%u0443%u044E%u0449%u0438%u0439%22%2C%22fullscreen%22%3A%22%u041F%u0435%u0440%u0435%u0439%u0442%u0438%20%u0432%20%u043F%u043E%u043B%u043D%u044B%u0439%20%u044D%u043A%u0440%u0430%u043D%22%2C%22fullscreenExit%22%3A%22%u0412%u044B%u0439%u0442%u0438%20%u0438%u0437%20%u043F%u043E%u043B%u043D%u043E%u0433%u043E%20%u044D%u043A%u0440%u0430%u043D%u0430%22%2C%22play%22%3A%22%u0421%u043C%u043E%u0442%u0440%u0435%u0442%u044C%22%2C%22pause%22%3A%22%u041F%u0430%u0443%u0437%u0430%22%2C%22unmute%22%3A%22%u0412%u043A%u043B.%22%2C%22previous%22%3A%22%u041F%u0440%u0435%u0434%u044B%u0434%u0443%u0449%u0438%u0439%22%7D%2C%22url%22%3A%22http%3A//nctv.in.ua/swf/flowplayer.controls-3.2.3.swf%22%2C%22autoHide%22%3Afalse%7D%2C%22viral%22%3A%7B%22url%22%3A%22http%3A//nctv.in.ua/swf/flowplayer.viralvideos-3.2.3.swf%22%2C%22share%22%3A%7B%22description%22%3A%22%u041F%u044C%u044F%u043D%u044B%u0435%20%u0434%u043E%u043C%u0430.%20%u0412%20%u0414%u043D%u0435%u043F%u0440%u043E%u043F%u0435%u0442%u0440%u043E%u0432%u0441%u043A%u0435%20%u0440%u0430%u0437%u0432%u0430%u043B%u0438%u0432%u0430%u044E%u0442%u0441%u044F%20%u0436%u0438%u043B%u044B%u0435%20%u043C%u043D%u043E%u0433%u043E%u044D%u0442%u0430%u0436%u043A%u0438%22%2C%22shareUrl%22%3A%22http%3A//nctv.in.ua/video/watch/pyanye-doma-v-dnepropetrovske-razvalivayutsya-zhilye-mnogoehtazhki%22%7D%7D%7D%2C%22defaults%22%3A%7B%22baseUrl%22%3A%22http%3A//nctv.in.ua%22%7D%2C%22clip%22%3A%7B%22autoBuffering%22%3Atrue%2C%22scaling%22%3A%22fit%22%2C%22url%22%3A%22/uploads/video/data/4c260eaa71d249501752be531bac5fb7112f2be7.mp4%22%2C%22autoPlay%22%3Afalse%7D%2C%22playlist%22%3A%5B%7B%22autoBuffering%22%3Atrue%2C%22scaling%22%3A%22fit%22%2C%22url%22%3A%22/uploads/video/data/4c260eaa71d249501752be531bac5fb7112f2be7.mp4%22%2C%22autoPlay%22%3Afalse%7D%5D%7D" bgcolor="#000000" quality="true"></embed>
      <a href="null" target="_blank">null</a>
    </embed>
</object>


При вставке он превращается в такой:
<object id="null" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="700" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="opaque"></param>
<param name="allowfullscreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<param name="quality" value="high"></param>
<param name="cachebusting" value="true"></param>
<param name="bgcolor" value="#000000"></param>
<param name="flashvars" value="config=%7B%22plugins%22%3A%7B%22controls%22%3A%7B%22tooltips%22%3A%7B%22buttons%22%3Atrue%2C%22mute%22%3A%22%u0412%u043A%u043B./%u0412%u044B%u043A%u043B.%22%2C%22next%22%3A%22%u0421%u043B%u0435%u0434%u0443%u044E%u0449%u0438%u0439%22%2C%22fullscreen%22%3A%22%u041F%u0435%u0440%u0435%u0439%u0442%u0438%20%u0432%20%u043F%u043E%u043B%u043D%u044B%u0439%20%u044D%u043A%u0440%u0430%u043D%22%2C%22fullscreenExit%22%3A%22%u0412%u044B%u0439%u0442%u0438%20%u0438%u0437%20%u043F%u043E%u043B%u043D%u043E%u0433%u043E%20%u044D%u043A%u0440%u0430%u043D%u0430%22%2C%22play%22%3A%22%u0421%u043C%u043E%u0442%u0440%u0435%u0442%u044C%22%2C%22pause%22%3A%22%u041F%u0430%u0443%u0437%u0430%22%2C%22unmute%22%3A%22%u0412%u043A%u043B.%22%2C%22previous%22%3A%22%u041F%u0440%u0435%u0434%u044B%u0434%u0443%u0449%u0438%u0439%22%7D%2C%22url%22%3A%22http%3A//nctv.in.ua/swf/flowplayer.controls-3.2.3.swf%22%2C%22autoHide%22%3Afalse%7D%2C%22viral%22%3A%7B%22url%22%3A%22http%3A//nctv.in.ua/swf/flowplayer.viralvideos-3.2.3.swf%22%2C%22share%22%3A%7B%22description%22%3A%22%u041F%u044C%u044F%u043D%u044B%u0435%20%u0434%u043E%u043C%u0430.%20%u0412%20%u0414%u043D%u0435%u043F%u0440%u043E%u043F%u0435%u0442%u0440%u043E%u0432%u0441%u043A%u0435%20%u0440%u0430%u0437%u0432%u0430%u043B%u0438%u0432%u0430%u044E%u0442%u0441%u044F%20%u0436%u0438%u043B%u044B%u0435%20%u043C%u043D%u043E%u0433%u043E%u044D%u0442%u0430%u0436%u043A%u0438%22%2C%22shareUrl%22%3A%22http%3A//nctv.in.ua/video/watch/pyanye-doma-v-dnepropetrovske-razvalivayutsya-zhilye-mnogoehtazhki%22%7D%7D%7D%2C%22defaults%22%3A%7B%22baseUrl%22%3A%22http%3A//nctv.in.ua%22%7D%2C%22clip%22%3A%7B%22autoBuffering%22%3Atrue%2C%22scaling%22%3A%22fit%22%2C%22url%22%3A%22/uploads/video/data/4c260eaa71d249501752be531bac5fb7112f2be7.mp4%22%2C%22autoPlay%22%3Afalse%7D%2C%22playlist%22%3A%5B%7B%22autoBuffering%22%3Atrue%2C%22scaling%22%3A%22fit%22%2C%22url%22%3A%22/uploads/video/data/4c260eaa71d249501752be531bac5fb7112f2be7.mp4%22%2C%22autoPlay%22%3Afalse%7D%5D%7D"></param>
<param name="src" value="http://nctv.in.ua/swf/flowplayer-3.2.5.swf?0.7314897422225228"></param><embed src="http://nctv.in.ua/swf/flowplayer-3.2.5.swf?0.7314897422225228" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="700" height="450"></embed></embed>
</object>


И вставляется только сам плеер без видео. Копать, как я понял, нужно джевикс, но что именно?
Подскажите, пожалуйста

UPD Дело оказалось вовсе не в джевиксе. Обновил TinyMCE и проблема решилась.

Как отключить Jevix на «статичных страницах»? (РЕШЕНО)

Не могу понять как/где можно отключить обработчик Jevix на «статичных страницах»

Вроде всё посмотрел, но так и не догадался где нужную кнопку нажать.

Хотя я разобрался с Jevix-ом который обрабатывает «топики»…

Читать дальше →