jevix? embed? А просто хотелось YouTube, VK и Twitter..

Привет, комунна! Сразу говорю — затёр гугл до дыр, но все записи морально и физически устарели, а вот проблема имеется, так что обращаюсь за помощью к знатокам.
Суть вот в чем: есть сайт на ЛС, расчитанный на публикацию YouTube видео, а так же отдельных новостей, в том числе с обращением к источнику (VK, FB, Twitter, Instagram). Родная кнопка редактора «видео» сразу перестала работать после очередного обновления тубуса. Проблема решилась вставкой кода со страницы через embed-код, но авторы по-прежнему тыкают в кнопку редактора, а в самих видео со страницы пропал «фуллскрин». Не мелочь, а реально не приятно!

Другая сторона медали, это вставка записей из социалок. На большинстве сайтов, достаточно вставить embed-код и на странице появляется красивый цитируемый оригиннал записи, а вот в ЛС видим лишь строчку под тегом «a».

Суть в том, что всевозможные туториалы по jevix.php были перелопачены мною вдоль и поперек, но показанные костыли либо морально устарели, либо «ложат» иной функционал. С покупкой платных плагинов та же тема — нет гарантии, что после очередного апдейта они не пойдут коту под хвост. Подскажите пожалуйста адекватные, рабочие и актуальные решения! Уверен, вы и сами с таким уже сталкивались. Спасибо!

Как запретить некоторые теги в jevix для определенных экшенов?

Здраствуйте. Скорее всего, это вопрос уже был, но по тегу «jevix» я ответа не нашел. Точнее, я узнал как добавлять теги, но не как запрещать.

Я заметил, что livestreet обрабатывает текст во всех полях, включая поле «о себе» в профиле. Я, конечно, не против, но хотел бы оставить только стандартные теги strong, i, u и т.д… запретив пользователям вставлять туда видео и изображения (смотрите мой профиль Quidmy ), а в случае с второй версией туда вообще можно вставить галереи, которые потом превращаются в обработанный код


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

Не получается установить виджет 2gis на сайте в топик

Добрый день. Задался целью установить в текст топика через текстовый редактор виджет 2gis. В верстке и программировании я НОЛЬ. Но из того что я понял, надо добавить соответствующие теги в файл jevix. Вот что я сделал:
добавил сюда теги
// Разрешённые теги
		'cfgAllowTags' => array(
			// вызов метода с параметрами
			array(
				array('div','script','noscript','ls','cut','a', 'img', 'i', 'b', 'u', 's', 'video', 'em',  'strong', 'nobr', 'li', 'ol', 'ul', 'sup', 'abbr', 'sub', 'acronym', 'h4', 'h5', 'h6', 'br', 'hr', 'pre', 'code', 'object', 'param', 'embed', 'blockquote', 'iframe','table','th','tr','td'),
			),			
		),


и вот такие строки:
// свои теги div и script
			array(
				'div',
				array('align' => array('right', 'left', 'center', 'middle'),'title', 'class'=> '#text')
			),
			array(
				'script',
				array('src' => array('#domain'=>array('yandex.ru','2gis.ru','2gis.com')),'type' => array('text/javascript','text/vbscript'), 'charset'=> '#text')
			),
			// конец своих тегов div и script


Попробовал добавить виджет в топик, но он не отображается doma-kubani.ru/blog/molodezhnyj/955.html

Подскажите пожалуйста, что сделано не так или что ещё надо сделать? Если можно, распишите подробнее.

Вставляю вот такой код:
<a class="dg-widget-link" href="http://2gis.ru/krasnodar/firm/3237490513404150/center/38.97246000000001,45.022541/zoom/16?utm_medium=widget-source&utm_campaign=firmsonmap&utm_source=bigMap">Посмотреть на карте Краснодара</a><div class="dg-widget-link"><a href="http://2gis.ru/krasnodar/center/38.97246,45.022541/zoom/16/routeTab/rsType/bus/to/38.97246,45.022541╎Наш город, ООО, строительная компания?utm_medium=widget-source&utm_campaign=firmsonmap&utm_source=route">Найти проезд до Наш город, ООО, строительная компания</a></div><script charset="utf-8" src="http://widgets.2gis.com/js/DGWidgetLoader.js"></script><script charset="utf-8">new DGWidgetLoader({"width":640,"height":600,"borderColor":"#a3a3a3","pos":{"lat":45.022541,"lon":38.97246000000001,"zoom":16},"opt":{"city":"krasnodar"},"org":[{"id":"3237490513404150"}]});</script><noscript style="color:#c00;font-size:16px;font-weight:bold;">Виджет карты использует JavaScript. Включите его в настройках вашего браузера.</noscript>

Протокол steam

Привет всем!
Столкнулся с такой проблемой что нужно реализовать подключение/запуск игры через протокол steam
Пример подключения
steam://connect/127.0.0.1/

В jevix в строчке 228 добавил протокол steam, но никакой реакций нет.

Прошу помощи сообщество

Помогите с dailymotion.com.

Помогите с dailymotion.com. Пытаюсь интегрировать видео c этого сайта и никак не получается. У вас на сайте нашел одну тему, пробовал, ничего не получается. В Jevix прописал что-надо. А вот что писать в text.class.php? Чтот не клеится. Может быть у кого-то есть решение проблемы?

Jevix в Альфе

Здравствуйте, jevix в альфе через плагин переопределяется как и раньше?
Config::Get ('jevix.default.cfgAllowTags');
...
Config::Set ('jevix.default.cfgAllowTags');
...

или в альфе новый механизм?

Плагин Math для добавления формул в топики

Написал плагин для ввода формул в топиках в MathML, накатал здесь описание, а оказывается я не могу постить активные ссылки :(

Поэтому просто оставлю это здесь: github.com/wyfinger/livestreet_math

upd:
2015-02-22 — MathML теги теперь фильтруются Jevix-ом, а не регуляркой в калбеке.
2015-03-08 — убрал `'style'=>'#text'`, это может повлиять на внешний вид формул, нужно проверять каждый раз, но Jevix органически не пропускает параметры html с кавычками.

Jevix и тег для MathML

Добрый день,

возник вопрос, как заставить Jevix пропускать тег
<math>
в посты?
Это для MathML, т.е. внутри тега
<math>
должны располагаться теги вроде:
<math xmlns="http://www.w3.org/1998/Math/MathML"><msqrt><mfrac><mn>12</mn><mn>3</mn></mfrac></msqrt></math>


но Jevix заменяет символы "<" и ">" на '& lt;' и '& gt;'.

Конечно я добавлял тег
<math>
в cfgAllowTags и в cfgSetTagPreformatted и в cfgSetTagNoTypography (пробовал в разных комбинациях).

Подскажите что делать?

Редактор tinymce и LS 1.0.3

Приветствую всех. Очень нужна помощь опытных пользователей. Подключен редактор из коробки, шаблон renews, версия LS 1.0.3.
Суть проблемы:
Когда формируешь пост через tinymce и ставишь картинку в первом абзаце по левой стороне картинка, то пост публикуется пустым… Заходишь в редактировать, так есть картинка и кусок текста, если нажать опубликовать, то это опубликуется.
Как вариант перед публикацией можно уже в редакторе сформированный пост, через кнопку HTML открыть и там перед картинкой поставить
<p>неразрывный пробел</p>
и оно публикует нормально, но это не пояснить простым пользователям…

Вот код моего jevix.php

<?php

return array(
	'default' => array(
		// Разрешённые теги
		'cfgAllowTags' => array(
			// вызов метода с параметрами
			array(
				array('ls','cut','a', 'img', 'i', 'b', 'u', 's', 'video', 'em',  'strong', 'nobr', 'li', 'ol', 'ul', 'sup', 'abbr', 'sub', 'acronym', 'h4', 'h5', 'h6', 'br', 'hr', 'pre', 'code', 'object', 'param', 'embed', 'blockquote', 'iframe','table','th','tr','td', 'p'),
			),			
		),
		// Коротие теги типа
		'cfgSetTagShort' => array(
			array(
				array('br','img', 'hr', 'cut','ls')
			),
		),
		// Преформатированные теги
		'cfgSetTagPreformatted' => array(
			array(
				array('pre','code','video')
			),
		),
		// Разрешённые параметры тегов
		'cfgAllowTagParams' => array(
			// вызов метода
			array(
				'img',
				array('src', 'style'=> '#text', 'alt' => '#text', 'title', 'align' => array('right', 'left', 'center', 'middle'), 'width' => '#int', 'height' => '#int', 'hspace' => '#int', 'vspace' => '#int', 'class'=> array('image-center','image-left','image-right'))
			),
			// следующий вызов метода
			array(
				'a',
				array('title', 'href', 'rel' => '#text', 'name' => '#text', 'target' => array('_blank'))
			),
			// и т.д.
			array(
				'cut',
				array('name')
			),
			array(
				'object',
				array('width' => '#int', 'height' => '#int', 'data' => array('#domain'=>array('youtube.com','rutube.ru','vimeo.com')), 'type' => '#text')
			),
			array(
				'param',
				array('name' => '#text', 'value' => '#text')
			),
			array(
				'embed',
				array('src' => array('#domain'=>array('youtube.com','rutube.ru','vimeo.com')), 'type' => '#text','allowscriptaccess' => '#text', 'allowfullscreen' => '#text','width' => '#int', 'height' => '#int', 'flashvars'=> '#text', 'wmode'=> '#text')
			),
			array(
				'acronym',
				array('title')
			),
			array(
				'abbr',
				array('title')
			),
			array(
				'iframe',
				array('width' => '#int', 'height' => '#int', 'src' => array('#domain'=>array('youtube.com','rutube.ru','vimeo.com')))
			),
			array(
				'ls',
				array('user'=>'#text')
			),
			array(
				'td',
				array('colspan'=>'#int','rowspan'=>'#int','align'=>array('right', 'left', 'center', 'justify'),'height'=>'#int','width'=>'#int')
			),
			array(
				'table',
				array('border'=>'#int','cellpadding'=>'#int','cellspacing'=>'#int','align'=>array('right', 'left', 'center'),'height'=>'#int','width'=>'#int')
			),
			array(
                 'p',
                 array('class'=>'#text', 'style'=>'#text', 'align'=> array('left','center','right','justify'))
            ),
		),
		// допустимые комбинации значений у параметров
		'cfgSetTagParamCombination' => array(
			array(
				'param',
				'name',
				array(
					'allowScriptAccess' => array(
						'value'=>array('sameDomain'),
					),
					'movie' => array(
						'value'=>array('#domain'=>array('youtube.com','rutube.ru','vimeo.com')),
					),
					'align' => array(
						'value'=>array('bottom','middle','top','left','right'),
					),
					'base' => array(
						'value'=>true,
					),
					'bgcolor' => array(
						'value'=>true,
					),
					'border' => array(
						'value'=>true,
					),
					'devicefont' => array(
						'value'=>true,
					),
					'flashVars' => array(
						'value'=>true,
					),
					'hspace' => array(
						'value'=>true,
					),
					'quality' => array(
						'value'=>array('low','medium','high','autolow','autohigh','best'),
					),
					'salign' => array(
						'value'=>array('L','T','R','B','TL','TR','BL','BR'),
					),
					'scale' => array(
						'value'=>array('scale','showall','noborder','exactfit'),
					),
					'tabindex' => array(
						'value'=>true,
					),
					'title' => array(
						'value'=>true,
					),
					'type' => array(
						'value'=>true,
					),
					'vspace' => array(
						'value'=>true,
					),
					'wmode' => array(
						'value'=>array('window','opaque','transparent'),
					),
				),
				true, // Удалять тег, если нет основного значения параметра в списке комбинаций
			),
		),
		// Параметры тегов являющиеся обязательными
		'cfgSetTagParamsRequired' => array(
			array(
				'img',
				'src'
			),			
		),
		// Теги которые необходимо вырезать из текста вместе с контентом
		'cfgSetTagCutWithContent' => array(
			array(
				array('script')
			),
		),
		// Вложенные теги
		'cfgSetTagChilds' => array(
			array(
				'ul',
				array('li'),
				false,
				true
			),
			array(
				'ol',
				array('li'),
				false,
				true
			),
			array(
				'object',
				'param',
				false,
				true
			),
			array(
				'object',
				'embed',
				false,
				false
			),
			array(
				'table',
				array('tr'),
				false,
				true
			),
			array(
				'tr',
				array('td','th'),
				false,
				true
			),
		),
		// Если нужно оставлять пустые не короткие теги
		'cfgSetTagIsEmpty' => array(
			array(
				array('param','embed','a','iframe')
			),
		),
		// Не нужна авто-расстановка 
		'cfgSetTagNoAutoBr' => array(
			array(
				array('ul','ol','object','table','tr')
			)
		),
		// Теги с обязательными параметрами
		'cfgSetTagParamDefault' => array(
			array(
				'embed',
				'wmode',
				'opaque',
				true
			),
		),
		// Отключение авто-добавления 
		'cfgSetAutoBrMode' => array(
			array(
				false
			)
		),
		// Автозамена
		'cfgSetAutoReplace' => array(
			array(
				array('±', '©', '©', '®', '©', '©', '®'),
				array('±', '©', '©', '®', '©', '©', '®')
			)
		),
		// Список допустимых протоколов для ссылок
		'cfgSetLinkProtocolAllow' => array(
			array(
				array('http','https','ftp')
			)
		),
		'cfgSetTagNoTypography' => array(			
			array(
				array('code','video','object')
			),
		),
		// Теги, после которых необходимо пропускать одну пробельную строку
		'cfgSetTagBlockType' => array(
			array(
				array('h4','h5','h6','ol','ul','blockquote','pre','table','iframe')
			)
		),
		'cfgSetTagCallbackFull' => array(
			array(
				'ls',
				array('_this_','CallbackTagLs'),
			),
		),
	),
	
	// настройки для обработки текста в результатах поиска
	'search' => array(
		// Разрешённые теги
		'cfgAllowTags' => array(
			// вызов метода с параметрами
			array(
				array('span'),
			),			
		),
		// Разрешённые параметры тегов
		'cfgAllowTagParams' => array(
			array(
				'span',
				array('class' => '#text')
			),			
		),
	),
);


Подскажите куда копать…