Баг репорт: отправка комментариев;

Уже не первый раз натыкаюсь на баг\фичу:
1. Не очищается форма комментария после отправки проявляется при последовательности действий:
а) отправляем комментарий
б) нажимаем кнопку «ннаписать комментарий», появляется форма комментария с текстом предыдущего комментария.

2. Фича
а) Набираем текст комментария
б) Вот мне взбрело в голову, что лучше будет написать комментарий в ответ на другой, нажимаю кнопку «ответить»
в результате, текст формы комментария теряется.
было бы намного удобнее, если б он оставался в форрме.

Доработка прямого эфира (0.4.2)

Измененный вариант вопрос. В тот раз писал второпях.

Есть четыре таблицы: comment и comment2, comment_online, comment_online2
Таблица comment — это стандартная таблица с комментариями
Таблица comment — это моя таблица с комментариями допустим к фото
comment_online, comment_online2 — таблицы с id последних комментариев.
Структуры таблиц comment и comment2, comment_online и comment_online2 идентичны

Нужно совместить вывод данных из этих двух таблиц в «Прямой эфир» в ветку «Комментарии».

Получить id комментариев из comment_online и comment_online2 и совместить их не составило труда.
Получаем список ID вида
id
1 — таблица comment
2 — таблица comment
3 — таблица comment2
4 — таблица comment
5 — таблица comment2
Как я понял полученные id из comment_online и comment_online2 передаются в функцию, которая из таблицы comment вытаскивает данные по переданному в нее id.
Вот с этой функцией и нужно мне разобраться. Щас она получает id и пытается выбрать все из таблицы comment, а там есть id информацию по которым нужно взять в comment2.
Сам вопрос вот такой как это реализовать правильно?

Как получить переменную cmtlevel в момент добавления комментария

Кто знает, как получить данные из этой переменной
$cmtlevel

отвечающей за уровень вложенности комментария, в момент отправки комментария. То есть, чтобы при подстановке вновьдобавленного комментария можно было присвоить значение данной переменной какому-либо классу. Знаю, что через js, но сам понять не могу.

Ниже код инджекта самого комментария, для наглядности.

injectComment: function(idCommentParent,idComment,sHtml) {
		var newComment = new Element('div',{'class':'comment', 'id': 'comment_id_'+idComment});
		newComment.set('html',sHtml);		
		if (idCommentParent) {
			this.expandNodeAll();	
			var divChildren = $('comment-children-'+idCommentParent);		
			var imgParent = $$('#comment_id_'+idComment+' img.folding');				
			this.makeImg(imgParent);
			divChildren.appendChild(newComment);
		} else {
			var divChildren = $('comment-children-0');
			newComment.inject(divChildren,'before');
		}	
	},	


а в шаблоне comment.tpl примерно следующее


{assign var="oUser" value=$oComment->getUser()}
{assign var="oVote" value=$oComment->getVote()}
<div class="comment-inner level{$cmtlevel}">
{if !$oComment->getDelete() or $bOneComment or ($oUserCurrent and $oUserCurrent->isAdministrator())}
	<a name="comment{$oComment->getId()}" ></a>

Проблемы с комментариями

Чего то вообще переклинило всю систему :(

При написании коментария и нажатии кнопки добавления начинают бежать квадратики как положенно, но на этом и зависает в таком положении. Если отключить плагин galery, то наверху начинает при этом появляться розовое окошко error try again later
Но коментарии все же публикуются и в том и в том случае, их видно после перехода на другую страницу или перезагрузки.

Так же коментарии и не удаляются, либо ничего не происходит, либо при отключении галареии тоже окно с ошибкой.

Что бы это значило и как бы систему в чувства привести?

P.S. Так же ищется человек способный решать такого рода проблемы и т.п. правка там шаблона может, добавлении каких то может функций небольших и т.п. установка там всяких ioncube, перенос хостинга, настройка хостинга и т.д.

Правильный способ модификации enum в плагинах.

Проблема заключается в том, что некоторые плагины заменяют поле target_type таблицы comment, тем самым создавая свои новые типы комментариев, но затирая при этом уже добавленные. Разработчики упрощают себе жизнь, ограничиваясь строкой в dump.sql (пример из плагина «компании»)
ALTER TABLE `prefix_comment` 
	MODIFY target_type enum('topic','talk','company','clan') 
	DEFAULT 'topic';

В список риска попадает практически всё, где используется target_type enum: favourite, vote, comment_online.

При установки нескольких таких плагинов начинается бардак. Такие недоработки я заметил в следующих плагинах: «Компании», «Объявления», «Вопросы и ответы», «Места и события». Так делать нельзя. Программист разберется и исправит ошибку, но что делать обычным людям, далеким от php и sql, которые просто используют движок и несколько таких плагинов?

Тру кодером оказался Алексей Волков, разработчик «Комментариев для статических страниц». При установке плагина он в функции Activate проверяет target_type и добавляет новое поле только если его там нет, сохраняя при этом его старое содержимое. Не спросясь разрешения Алексея (надеюсь он меня простит — за правое дело радею) выкладываю часть кода, отвечающего за это.

$oDb = $this->Database_GetConnect();
$sql = 'SHOW COLUMNS FROM  `'.Config::Get('db.table.comment').'`';
$aRows = $oDb->select($sql);
foreach ($aRows as $aRow) {
	if ($aRow['Field'] == 'target_type') break;
}

if (strpos($aRow['Type'], "'page'") === FALSE)
{
	// - Вносим изменение в поле target_type в таблице prefix_comment
	$aRow['Type'] =str_ireplace('enum(', "enum('page',", $aRow['Type']);
	$sql = "ALTER TABLE `".Config::Get('db.table.comment')."` 
		CHANGE `target_type` `target_type` " . $aRow['Type'] . " 
		NOT NULL DEFAULT 'topic'";
	$oDb->query($sql);
} 


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

Хотел опубликовать в тематическом блоге, например в «Дополнительные модули и доработки для LiveStreet», но видимо не хватает кармы, это мой первый пост/комментарий вообще на livestreet.ru

PS. в sql запросах типа ALTER проще использовать MODIFY вместо CHANGE, т.к. первый не требует указывать название поля два раза.

Аватары в stream comments 0.4.2

Был топик в которым люди говорили о тмо как вывести аватар пользователя в прямой эфир, но дело так и закончилось на уровне какого-то личного разговора между собой и в итоге не было ясно, как минимум мне, как же всё таки это сделать. Поэтому хотел бы попросить поделиться инструкцией! Спасибо.

Задержка при голосовании и добавлении комментария

Здравствуйте. Подскажите, пожалуйста, в чем может быть проблема при таких симптомах: после голосования за топик происходит задержка примерно 3-4 сек и только потом голос засчитывается. Так же присутствует немаленькая задержка при добавлении комментария. В целом же сайт работает очень шустро, кроме этих двух моментов.

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

Ситуация следующая:

1. Администратор (он же создатель блога) может добавлять новые комментарии к топику и отвечать на свои же комментарии. При ответе на комментарий другого пользователя выдается ошибка (Error Please try again later), после обновления страницы новый комментарий на месте.

2. Обычный пользователь получает такую ошибку всегда.

3. Менял на изначальный (неправленный) comments.js, три файла в корне шаблона по комментариям, пробовал добавлять в classes/actions/ActionAjax.php

4. При смене шаблона все работает.

Помогите!