Проблема с редактором - толкает сторонний код

Суть проста — в топик и в комментарии толкает инородный код (скрин ниже). Проблема в инъекции в браузер (конкретно у меня — Opera). Однако подобное может быть у кого угодно. Посему вопрос — как это ликвидировать? Наверняка решение уже есть, но я его не нашел через поиск. Код видно только если открываешь HTML-код в редакторе, что, само собой, ни один блогер не делает, а то и не знает зачем оно.

tinymce в комментариях при изменении dom пропадает возможность ввода текста

Всем привет. Может быть кто-то сталкивался или знает в какую сторону копать, подскажите…
На сколько я понимаю, на сайте используется родной функционал комментариев от livestreet.
Есть два варианта работы комментариев:
1. (стабильный) Загружается страница вместе с кнопкой «оставить комментарий». На кнопке висит обработчик — ls.comments.toggleCommentForm(0); Который отправляет к нулевому комментарию по id (отдельно созданный статический блок). Кликаю на кнопку — появляется tinymce, в той конфигурации, что заявлена и все работает. Кликаю на кнопку «ответить» под любым комментарием(ls.comments.toggleCommentForm(id);) — все работает. Текстовое поле перепрыгивает под комментарий.
2. (то что пытаюсь реализовать) загружается страница. В конце своего js указываю вот так:
document.addEventListener("DOMContentLoaded", function(event) {
    ls.comments.toggleCommentForm(0);
});

Если указывать в $(document).ready(); то tinymce загружается в какой-то дефолтной конфигурации, не той, что мне нужно.
Дальше я могу оставить коммент, всё работает, но как только я прячу текстовое поле через
ls.comments.toggleCommentForm(0);

Или пытаюсь «ответить» с ls.comments.toggleCommentForm(id); текстовое поле прыгает и после этого пропадает возможность вводить текст. При клике на кнопки текстового редактора в js появляется ошибка, не может найти ноду. iframe есть, но body пустое и без классов. За счёт чего такое может происходить?

Буду благодарен за любую помощь.

Подключение Tinymce для описания к фото в фотосете

В /classes/actions/ActionPhotoset.class.php. Добавил обработку $oPhoto->setDescription через парсер:

            if ($oPhoto->getTopicId()) {
                // проверяем права на топик
                if ($oTopic=$this->Topic_GetTopicById($oPhoto->getTopicId()) and $this->ACL_IsAllowEditTopic($oTopic,$this->oUserCurrent)) {
                    $oPhoto->setDescription($this->Text_Parser(getRequestStr('text')));
                    $this->Topic_updateTopicPhoto($oPhoto);
                }
            } else {
                $oPhoto->setDescription($this->Text_Parser(getRequestStr('text')));
                $this->Topic_updateTopicPhoto($oPhoto);
            }



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

Публикация изображений с увеличением по клику

Пользователи жалуются, а потому вопрос. Был тут подобный плагин для версий 0.4 и 0.5, но для 1.0 ничего не вижу.

А вопрос прост. Сейчас если мы загружаем изображение, оно публикуется в топике в виде img src.
Вопрос — а можно ли сделать так, чтобы при публикации большого изображения оно превращалось в конструкцию с изображением нормального размера, а по клику на него во всплывающем окне открывалось большое?
Может быть это можно более-менее легко сделать через какой-то плагин к tinymce?

Редактор 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')
			),			
		),
	),
);


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

Не работает Ctrl+Enter в TinyMCE

Здравствуйте.
Интересный факт: поддержка Ctrl+Enter УЖЕ есть в TinyMCE:

\engine\lib\internal\template\js\settings.js:125
setup : function(ed) {
				// Display an alert onclick
				ed.onKeyPress.add(function(ed, e) {
					key = e.keyCode || e.which;
					if(e.ctrlKey && (key == 13)) {
						$('#comment-button-submit').click();
						return false;
					}
				});
			}


Но он не работает! При этом, кнопка добавления имеет правильный id, всё остальное сходится. Но при этом — нулевой результат. Что делать — ума не приложу.
LS 1.0.3, проверил баг на 2-х сайтах.

UPDATE:
Замена ctrlKey на shiftKey работает (с шифтом всё нормально). Почему беда с Ctrl — не понимаю.
На всякий случай уточню: клавиатуры тоже разные пробовал) И не только я эту проблему вижу.

Отправка комментов по Ctrl+Enter в tinymce

Друзья, добрый вечер. На одном из проектов изспользую tinymce, так вот возник вопрос — как реализовать отправку комментариев через ctrl+enter. В Инете нашел пару нерабочих вариантов. Возможно, кто-то уже сталкивался.

Нужен помош о некоторых функционале

1. У меня на компютере мак ос. На всех бровзерах видно етот точки при клика на фото. Который можно растягивать изображение, а не дать пикселы для размера. Но юсеры которые сидеть на виндовсе етот точки видно только на файряоксе. Но ети юсеры на сайте tinymce в демо версие 3 видеть ети точки. Почему так и как исправить етот баг?


2. Как сделать что бы юсер мог открыт несколько блога. Нап: мах. 3 блога. Ест ли на конфиге такой функционал?

3. Как сделать что бы на профила был видно блоги юсера?

Визуальный редактор Tinymce работает некоррекно - Могу платить за исправление

Визуальный редактор tinymce ест. Включил из конфига и активировал некоторые плагины етого редактора. Но некоторые функции не работает. Нап: Не вводить видео, цветы и тд.
Надо сделать так что бы визуалный редактор работал полноценна. + Добавить на етот редактор иконки которые на ест стандарном редакторе ливстрит.

Срок и цена сколько будеть?

Ест и другие расшрение который хотель бы видеть на сайте. Естественно если кто то можеть реализироват мои фантазии на сайте, могу и платить за ето.