Pizza52
Участник
- Сообщения
- 335
- Реакции
- 21
В общем в одной теме из форума этого был выложен мод чата ФС для ФФ, сделал всё по инструкции, залил базы, прописал всё везде, вроде бы всё красиво, но!
В чат захожу, всё отлично смотрится, набираю сообщение в поле ввода, что отправить надо энтер нажать, нажимаю и никакой реакции... Где может быть ошибка?
Вот ссылка на сам арфив файла чата, все его файлы тут.. http://www.fayloobmennik.net/5908520
В чат захожу, всё отлично смотрится, набираю сообщение в поле ввода, что отправить надо энтер нажать, нажимаю и никакой реакции... Где может быть ошибка?
Вот ссылка на сам арфив файла чата, все его файлы тут.. http://www.fayloobmennik.net/5908520
Последнее редактирование:
Pizza52
Участник
- Сообщения
- 335
- Реакции
- 21
если нужно, могу загрузить исходные коды файлов которые в модуле...
В инструкции было написано как примотать модуль:
1) делаем зарос в БД
ALTER TABLE `db_users_a` ADD `ava` VARCHAR( 255 ) NOT NULL
ALTER TABLE `db_users_a` ADD `chat_moder` INT( 1 ) NOT NULL DEFAULT '0'
ALTER TABLE `db_users_b` ADD `chat` INT NOT NULL DEFAULT '0'
ALTER TABLE `db_users_b` ADD `chat_money` DOUBLE( 10, 2 ) NOT NULL DEFAULT '0'
ALTER TABLE `db_users_a` ADD `ban_chat` INT( 1 ) NOT NULL DEFAULT '0'
CREATE TABLE IF NOT EXISTS `db_chat_message` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL DEFAULT '0',
`user_name` varchar(255) NOT NULL,
`user_to_id` int(11) NOT NULL DEFAULT '0',
`user_to_name` varchar(255) CHARACTER SET cp1250 NOT NULL,
`time_add` int(11) NOT NULL DEFAULT '0',
`private` tinyint(1) NOT NULL DEFAULT '0',
`message` text(255) NOT NULL,
`ava` varchar(255) NOT NULL,
`user_status` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `db_chat_online` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`user_name` varchar(255) CHARACTER SET utf8 NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT '0',
`color` varchar(10) CHARACTER SET utf8 NOT NULL,
`time_add` int(11) NOT NULL,
`ava` varchar(255) NOT NULL,
`banan` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
2) открываем файл .htaccess и добавляем
RewriteRule ^account/chat(/?)+$ index.php?menu=account&sel=chat [L]
RewriteRule ^account/chat/noban/([a-zA-Z0-9]+)(/?)+$ index.php?menu=account&sel=chat&noban=$1 [L]
3) открываем файл /pages/account.php и добавляем
case "chat": include("pages/account/_chat.php"); break;
4) открываем файл /inc/_user_menu.php и добавляем
<div class="field-gr"><a href="/account/chat">Чат</a></div>
5) открываем файл /classes/_class.db.php и добавляем
function FetchAssoc(){
//if($this->LastQuery)
return mysqli_fetch_assoc($this->LastQuery);
}
6) всё!
В инструкции было написано как примотать модуль:
1) делаем зарос в БД
ALTER TABLE `db_users_a` ADD `ava` VARCHAR( 255 ) NOT NULL
ALTER TABLE `db_users_a` ADD `chat_moder` INT( 1 ) NOT NULL DEFAULT '0'
ALTER TABLE `db_users_b` ADD `chat` INT NOT NULL DEFAULT '0'
ALTER TABLE `db_users_b` ADD `chat_money` DOUBLE( 10, 2 ) NOT NULL DEFAULT '0'
ALTER TABLE `db_users_a` ADD `ban_chat` INT( 1 ) NOT NULL DEFAULT '0'
CREATE TABLE IF NOT EXISTS `db_chat_message` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL DEFAULT '0',
`user_name` varchar(255) NOT NULL,
`user_to_id` int(11) NOT NULL DEFAULT '0',
`user_to_name` varchar(255) CHARACTER SET cp1250 NOT NULL,
`time_add` int(11) NOT NULL DEFAULT '0',
`private` tinyint(1) NOT NULL DEFAULT '0',
`message` text(255) NOT NULL,
`ava` varchar(255) NOT NULL,
`user_status` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `db_chat_online` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`user_name` varchar(255) CHARACTER SET utf8 NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT '0',
`color` varchar(10) CHARACTER SET utf8 NOT NULL,
`time_add` int(11) NOT NULL,
`ava` varchar(255) NOT NULL,
`banan` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
2) открываем файл .htaccess и добавляем
RewriteRule ^account/chat(/?)+$ index.php?menu=account&sel=chat [L]
RewriteRule ^account/chat/noban/([a-zA-Z0-9]+)(/?)+$ index.php?menu=account&sel=chat&noban=$1 [L]
3) открываем файл /pages/account.php и добавляем
case "chat": include("pages/account/_chat.php"); break;
4) открываем файл /inc/_user_menu.php и добавляем
<div class="field-gr"><a href="/account/chat">Чат</a></div>
5) открываем файл /classes/_class.db.php и добавляем
function FetchAssoc(){
//if($this->LastQuery)
return mysqli_fetch_assoc($this->LastQuery);
}
6) всё!
Pizza52
Участник
- Сообщения
- 335
- Реакции
- 21
Запрос к бд делал таким образом, сначала по одной строке первые 5 строк сделал запросами.... После чего второй столб занёс в файл sql и залил, с третим столбом так же сделал...
Вызывает подозрение последний пункт: вставить в конфиг бд
function FetchAssoc(){
//if($this->LastQuery)
return mysqli_fetch_assoc($this->LastQuery);
}
Для чего слэши эти во второй строке? Они же делают не активной её...
Вызывает подозрение последний пункт: вставить в конфиг бд
function FetchAssoc(){
//if($this->LastQuery)
return mysqli_fetch_assoc($this->LastQuery);
}
Для чего слэши эти во второй строке? Они же делают не активной её...
Pizza52
Участник
- Сообщения
- 335
- Реакции
- 21
Pizza52
Участник
- Сообщения
- 335
- Реакции
- 21
fhjktrdf
Участник
- Сообщения
- 144
- Реакции
- 10
Так что ты не пишешь полностью. скинул только инструкцию. Чат у тебя на ajax. проблема именно там. Скрин чата выложи. Он скорее всего переделан, нажимай CTRL+ENTER.Pizza52 написал(а):Посмотрит может кто* ? А то человек выклал на публику, а работает не работает то что выклал ему видимо пофиг...
Pizza52
Участник
- Сообщения
- 335
- Реакции
- 21
не помогают эти комбинации, там ошибка в самом файле JS и вот код из него http://codepad.org/TC2EDT5Vfhjktrdf написал(а):Так что ты не пишешь полностью. скинул только инструкцию. Чат у тебя на ajax. проблема именно там. Скрин чата выложи. Он скорее всего переделан, нажимай CTRL+ENTER.
fhjktrdf
Участник
- Сообщения
- 144
- Реакции
- 10
при нажатии enter что происходит? Не надо ссылки кидай сюда в спойлере кодPizza52 написал(а):не помогают эти комбинации, там ошибка в самом файле JS и вот код из него http://codepad.org/TC2EDT5V
Pizza52
Участник
- Сообщения
- 335
- Реакции
- 21
ничего не происходит.. Тишина .. Там ссылка на код... А тут спойлеры это хрень какая тоfhjktrdf написал(а):при нажатии enter что происходит? Не надо ссылки кидай сюда в спойлере код
Pizza52
Участник
- Сообщения
- 335
- Реакции
- 21
function scroll()
{
$("#chat-message").scrollTop(document.getElementById('chat-message').scrollHeight);
}
function descchange(elem)
{
if (elem.value.length > 255) {
elem.value = elem.value.substr(0,255);
}
document.forms['mailform'].scount.value = 'Осталось '+(255-elem.value.length)+' символов';
}
function mailappendtag(text1, text2)
{
if (document.forms['mailform']) {
if ((document.selection))
{
document.forms['mailform'].message.focus();
document.forms['mailform'].document.selection.createRange().text = text1+document.forms['mailform'+ndx].document.selection.createRange().text+text2;
} else
if (document.forms['mailform'].message.selectionStart !== undefined) {
var element = document.forms['mailform'].message;
var str = element.value;
var start = element.selectionStart;
var length = element.selectionEnd - element.selectionStart;
element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length);
} else document.forms['mailform'].message.value += text1+text2;
}
return true;
}
function appendcommtag(text1, text2)
{
if ((document.selection))
{
document.mailform.message.focus();
document.mailform.document.selection.createRange().text = text1+document.mailform.document.selection.createRange().text+text2;
} else if(document.mailform.message.selectionStart !== undefined) {
var element = document.mailform.message;
var str = element.value;
var start = element.selectionStart;
var length = element.selectionEnd - element.selectionStart;
element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length);
} else document.mailform.message.value += text1+text2;
}
function AppendSmile(asmile) {
appendcommtag(asmile,'');
}
function chat_control(name)
{
var sm = getCookie('ch'+name);
if (sm == '1')
{
document.cookie="ch"+name+"=0";
$(".chat-control-"+name).removeClass("ch-"+name+"-yes");
$(".chat-control-"+name).addClass("ch-"+name+"-no");
}
else
{
document.cookie="ch"+name+"=1";
$(".chat-control-"+name).removeClass("ch-"+name+"-no");
$(".chat-control-"+name).addClass("ch-"+name+"-yes");
}
if (name == 'smile')
{
$(".smiles").toggle();
}
}
function chat_ban(id, elem)
{
issend = confirm('Вы уверены что хотите забанить пользователя?');
if (issend)
{
// var test = $(elem).parent();
//
// var test2 = $(test).attr('name');
//
// $('.'+test2).css('text-decoration', 'line-through');
//
// $(elem).remove();
//
// $('.'+test2).after('<span class="chat-ban" onclick="chat_razban('+id+', this);"></span>');
var data = {'mode':'ban_users', 'id':id};
//var bantime = $("#chat-ban-time").val();
//var data = {'mode':'ban_users', 'id':id, 'bantime':bantime};
$.ajax({
cache: false,
data: data,
dataType: "json",
type: "post",
timeout: 5000,
url: '/ajax/us-chat.php',
success: function(data) {
if (data.status == 'yes')
{
$('#entermsg').html('<div class=msgbox-success>Пользователь забанен</div>');
}
else
{
$('#entermsg').html('<div class=msgbox-error>Не получается почему-то...</div>');
}
}
});
return false;
}
}
function getCookie(name) {
var cookie = " " + document.cookie;
var search = " " + name + "=";
var setStr = null;
var offset = 0;
var end = 0;
if (cookie.length > 0) {
offset = cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = cookie.indexOf(";", offset)
if (end == -1) {
end = cookie.length;
}
setStr = unescape(cookie.substring(offset, end));
}
}
return(setStr);
}
document.onkeyup = function(e)
{
e = e || window.event;
if (e.keyCode === 13)
{
if ($('#message').is( ":focus" ))
{
send_message();
}
else
{
send_reklama();
}
}
}
function send_reklama()
{
var message = $(".truuu").val();
var data = {'mode':'add_reklama', 'message':message};
$.ajax({
cache: false,
data: data,
dataType: "json",
type: "post",
timeout: 5000,
url: '/ajax/us-chat.php',
success: function(data) {
if (data.status == 'yes')
{
alert('Выполнено!');
}
}
});
return false;
}
function send_message()
{
var message = $("#message").val();
var touser = $("#message-to-user").text();
var private = $('.private-check').is(':checked') && touser !== '' ? '1' : '0';
var data = {'mode':'add_message', 'message':message, 'touser':touser, 'private'
rivate};
var tm;
function hidemsg()
{
$('#entermsg').fadeOut('slow');
if (tm) clearTimeout(tm);
}
if (!message) return;
$.ajax({
cache: false,
data: data,
dataType: "json",
type: "post",
timeout: 5000,
url: '/ajax/us-chat.php',
success: function(data) {
if (data.status == 'yes')
{
$('#chat-message').append(data.html);
$('#message').val('');
if (getCookie('chsound') == '1' || getCookie('chsound') === null) { $("#sound-message-send")[0].play(); }
if (getCookie('chscroll') == '1' || getCookie('chscroll') === null)
{
scroll();
}
}
else
{
$('#entermsg').show();
$('#entermsg').html('<span class="msgbox-error">'+data.msg+'</span>');
tm = setTimeout(function() { hidemsg(); }, 5000);
if (getCookie('chsound') == '1' || getCookie('chsound') === null)
{
$("#sound-message-error")[0].play();
}
}
}
});
return false;
}
function delmsg(id)
{
issend = confirm("Вы уверены что хотите удалить сообщение?");
if (issend)
{
var data = {'mode':'del_message', 'id':id};
$.ajax({
cache: false,
data: data,
dataType: "json",
type: "post",
timeout: 5000,
url: '/ajax/us-chat.php',
success: function(data) {
if (data.status == 'yes')
{
$('#entermsg').hide();
$('#'+id).remove();
$('#message').val('');
if (getCookie('chscroll') == '1' || getCookie('chscroll') === null)
{
scroll();
}
}
else
{
$('#entermsg').html('<span class="msgbox-error">'+data.msg+'</span>');
var tm;
function hidemsg()
{
$('#entermsg').fadeOut('slow');
if (tm) clearTimeout(tm);
}
tm = setTimeout(function() { hidemsg() }, 2000);
}
}
});
return false;
}
}
function refresh(id)
{
var new_online = $('#count-online').val();
var data = {'mode':'refresh', 'id':id, 'online':new_online};
$.ajax({
cache: false,
data: data,
dataType: "json",
type: "post",
timeout: 5000,
url: '/ajax/us-chat.php',
success: function(data) {
if (data.status == 'yes')
{
$('#chat-message').append(data.html);
$('#chat-online').html(data.html2);
if (getCookie('chsound') == '1' || getCookie('chsound') === null)
{
if (data.html) { $("#sound-message-send")[0].play(); }
if (data.sound) { $("#sound-message-get")[0].play(); }
$('#count-online').val(data.sound_new);
if (data.sound_new > new_online)
{
$("#sound-message-new")[0].play();
}
}
if ((getCookie('chscroll') == '1' || getCookie('chscroll') === null) && data.html !== '')
{
scroll();
}
}
}
});
return false;
}
{
$("#chat-message").scrollTop(document.getElementById('chat-message').scrollHeight);
}
function descchange(elem)
{
if (elem.value.length > 255) {
elem.value = elem.value.substr(0,255);
}
document.forms['mailform'].scount.value = 'Осталось '+(255-elem.value.length)+' символов';
}
function mailappendtag(text1, text2)
{
if (document.forms['mailform']) {
if ((document.selection))
{
document.forms['mailform'].message.focus();
document.forms['mailform'].document.selection.createRange().text = text1+document.forms['mailform'+ndx].document.selection.createRange().text+text2;
} else
if (document.forms['mailform'].message.selectionStart !== undefined) {
var element = document.forms['mailform'].message;
var str = element.value;
var start = element.selectionStart;
var length = element.selectionEnd - element.selectionStart;
element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length);
} else document.forms['mailform'].message.value += text1+text2;
}
return true;
}
function appendcommtag(text1, text2)
{
if ((document.selection))
{
document.mailform.message.focus();
document.mailform.document.selection.createRange().text = text1+document.mailform.document.selection.createRange().text+text2;
} else if(document.mailform.message.selectionStart !== undefined) {
var element = document.mailform.message;
var str = element.value;
var start = element.selectionStart;
var length = element.selectionEnd - element.selectionStart;
element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length);
} else document.mailform.message.value += text1+text2;
}
function AppendSmile(asmile) {
appendcommtag(asmile,'');
}
function chat_control(name)
{
var sm = getCookie('ch'+name);
if (sm == '1')
{
document.cookie="ch"+name+"=0";
$(".chat-control-"+name).removeClass("ch-"+name+"-yes");
$(".chat-control-"+name).addClass("ch-"+name+"-no");
}
else
{
document.cookie="ch"+name+"=1";
$(".chat-control-"+name).removeClass("ch-"+name+"-no");
$(".chat-control-"+name).addClass("ch-"+name+"-yes");
}
if (name == 'smile')
{
$(".smiles").toggle();
}
}
function chat_ban(id, elem)
{
issend = confirm('Вы уверены что хотите забанить пользователя?');
if (issend)
{
// var test = $(elem).parent();
//
// var test2 = $(test).attr('name');
//
// $('.'+test2).css('text-decoration', 'line-through');
//
// $(elem).remove();
//
// $('.'+test2).after('<span class="chat-ban" onclick="chat_razban('+id+', this);"></span>');
var data = {'mode':'ban_users', 'id':id};
//var bantime = $("#chat-ban-time").val();
//var data = {'mode':'ban_users', 'id':id, 'bantime':bantime};
$.ajax({
cache: false,
data: data,
dataType: "json",
type: "post",
timeout: 5000,
url: '/ajax/us-chat.php',
success: function(data) {
if (data.status == 'yes')
{
$('#entermsg').html('<div class=msgbox-success>Пользователь забанен</div>');
}
else
{
$('#entermsg').html('<div class=msgbox-error>Не получается почему-то...</div>');
}
}
});
return false;
}
}
function getCookie(name) {
var cookie = " " + document.cookie;
var search = " " + name + "=";
var setStr = null;
var offset = 0;
var end = 0;
if (cookie.length > 0) {
offset = cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = cookie.indexOf(";", offset)
if (end == -1) {
end = cookie.length;
}
setStr = unescape(cookie.substring(offset, end));
}
}
return(setStr);
}
document.onkeyup = function(e)
{
e = e || window.event;
if (e.keyCode === 13)
{
if ($('#message').is( ":focus" ))
{
send_message();
}
else
{
send_reklama();
}
}
}
function send_reklama()
{
var message = $(".truuu").val();
var data = {'mode':'add_reklama', 'message':message};
$.ajax({
cache: false,
data: data,
dataType: "json",
type: "post",
timeout: 5000,
url: '/ajax/us-chat.php',
success: function(data) {
if (data.status == 'yes')
{
alert('Выполнено!');
}
}
});
return false;
}
function send_message()
{
var message = $("#message").val();
var touser = $("#message-to-user").text();
var private = $('.private-check').is(':checked') && touser !== '' ? '1' : '0';
var data = {'mode':'add_message', 'message':message, 'touser':touser, 'private'
var tm;
function hidemsg()
{
$('#entermsg').fadeOut('slow');
if (tm) clearTimeout(tm);
}
if (!message) return;
$.ajax({
cache: false,
data: data,
dataType: "json",
type: "post",
timeout: 5000,
url: '/ajax/us-chat.php',
success: function(data) {
if (data.status == 'yes')
{
$('#chat-message').append(data.html);
$('#message').val('');
if (getCookie('chsound') == '1' || getCookie('chsound') === null) { $("#sound-message-send")[0].play(); }
if (getCookie('chscroll') == '1' || getCookie('chscroll') === null)
{
scroll();
}
}
else
{
$('#entermsg').show();
$('#entermsg').html('<span class="msgbox-error">'+data.msg+'</span>');
tm = setTimeout(function() { hidemsg(); }, 5000);
if (getCookie('chsound') == '1' || getCookie('chsound') === null)
{
$("#sound-message-error")[0].play();
}
}
}
});
return false;
}
function delmsg(id)
{
issend = confirm("Вы уверены что хотите удалить сообщение?");
if (issend)
{
var data = {'mode':'del_message', 'id':id};
$.ajax({
cache: false,
data: data,
dataType: "json",
type: "post",
timeout: 5000,
url: '/ajax/us-chat.php',
success: function(data) {
if (data.status == 'yes')
{
$('#entermsg').hide();
$('#'+id).remove();
$('#message').val('');
if (getCookie('chscroll') == '1' || getCookie('chscroll') === null)
{
scroll();
}
}
else
{
$('#entermsg').html('<span class="msgbox-error">'+data.msg+'</span>');
var tm;
function hidemsg()
{
$('#entermsg').fadeOut('slow');
if (tm) clearTimeout(tm);
}
tm = setTimeout(function() { hidemsg() }, 2000);
}
}
});
return false;
}
}
function refresh(id)
{
var new_online = $('#count-online').val();
var data = {'mode':'refresh', 'id':id, 'online':new_online};
$.ajax({
cache: false,
data: data,
dataType: "json",
type: "post",
timeout: 5000,
url: '/ajax/us-chat.php',
success: function(data) {
if (data.status == 'yes')
{
$('#chat-message').append(data.html);
$('#chat-online').html(data.html2);
if (getCookie('chsound') == '1' || getCookie('chsound') === null)
{
if (data.html) { $("#sound-message-send")[0].play(); }
if (data.sound) { $("#sound-message-get")[0].play(); }
$('#count-online').val(data.sound_new);
if (data.sound_new > new_online)
{
$("#sound-message-new")[0].play();
}
}
if ((getCookie('chscroll') == '1' || getCookie('chscroll') === null) && data.html !== '')
{
scroll();
}
}
}
});
return false;
}
fhjktrdf написал(а):при нажатии enter что происходит? Не надо ссылки кидай сюда в спойлере код
fhjktrdf
Участник
- Сообщения
- 144
- Реакции
- 10
в js НУЖНО СМОТРЕТЬ ТАМ ОТВЕЧАЕТ ЗА ОТПРАВКУ СООБЩЕНИЯ (e.keyCode === 13 ) ВРОДЕ ТАКОЙ КОД ДОЛЖЕН БЫТЬ. гДЕ ТЫ СКАЧИВАЛ СКРИПТ. еСЛИ В ИНТЕРНЕТЕ ТО ОН РАБОЧИЙ Я САМ СКАЧИВАЛ. еСЛИ ТЫ НА DENWERE ПРОВЕРЯЕШЬ ЧАТ, ТО БЕСПОЛЕЗНО, ЧАТ НА DENWERE НЕ РАБОТАЕТ ТОЛЬКО НА СЕРВЕРЕPizza52 написал(а):function scroll()
{
$("#chat-message").scrollTop(document.getElementById('chat-message').scrollHeight);
}
function descchange(elem)
{
if (elem.value.length > 255) {
elem.value = elem.value.substr(0,255);
}
document.forms['mailform'].scount.value = 'Осталось '+(255-elem.value.length)+' символов';
}
function mailappendtag(text1, text2)
{
if (document.forms['mailform']) {
if ((document.selection))
{
document.forms['mailform'].message.focus();
document.forms['mailform'].document.selection.createRange().text = text1+document.forms['mailform'+ndx].document.selection.createRange().text+text2;
} else
if (document.forms['mailform'].message.selectionStart !== undefined) {
var element = document.forms['mailform'].message;
var str = element.value;
var start = element.selectionStart;
var length = element.selectionEnd - element.selectionStart;
element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length);
} else document.forms['mailform'].message.value += text1+text2;
}
return true;
}
function appendcommtag(text1, text2)
{
if ((document.selection))
{
document.mailform.message.focus();
document.mailform.document.selection.createRange().text = text1+document.mailform.document.selection.createRange().text+text2;
} else if(document.mailform.message.selectionStart !== undefined) {
var element = document.mailform.message;
var str = element.value;
var start = element.selectionStart;
var length = element.selectionEnd - element.selectionStart;
element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length);
} else document.mailform.message.value += text1+text2;
}
function AppendSmile(asmile) {
appendcommtag(asmile,'');
}
function chat_control(name)
{
var sm = getCookie('ch'+name);
if (sm == '1')
{
document.cookie="ch"+name+"=0";
$(".chat-control-"+name).removeClass("ch-"+name+"-yes");
$(".chat-control-"+name).addClass("ch-"+name+"-no");
}
else
{
document.cookie="ch"+name+"=1";
$(".chat-control-"+name).removeClass("ch-"+name+"-no");
$(".chat-control-"+name).addClass("ch-"+name+"-yes");
}
if (name == 'smile')
{
$(".smiles").toggle();
}
}
function chat_ban(id, elem)
{
issend = confirm('Вы уверены что хотите забанить пользователя?');
if (issend)
{
// var test = $(elem).parent();
//
// var test2 = $(test).attr('name');
//
// $('.'+test2).css('text-decoration', 'line-through');
//
// $(elem).remove();
//
// $('.'+test2).after('<span class="chat-ban" onclick="chat_razban('+id+', this);"></span>');
var data = {'mode':'ban_users', 'id':id};
//var bantime = $("#chat-ban-time").val();
//var data = {'mode':'ban_users', 'id':id, 'bantime':bantime};
$.ajax({
cache: false,
data: data,
dataType: "json",
type: "post",
timeout: 5000,
url: '/ajax/us-chat.php',
success: function(data) {
if (data.status == 'yes')
{
$('#entermsg').html('<div class=msgbox-success>Пользователь забанен</div>');
}
else
{
$('#entermsg').html('<div class=msgbox-error>Не получается почему-то...</div>');
}
}
});
return false;
}
}
function getCookie(name) {
var cookie = " " + document.cookie;
var search = " " + name + "=";
var setStr = null;
var offset = 0;
var end = 0;
if (cookie.length > 0) {
offset = cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = cookie.indexOf(";", offset)
if (end == -1) {
end = cookie.length;
}
setStr = unescape(cookie.substring(offset, end));
}
}
return(setStr);
}
document.onkeyup = function(e)
{
e = e || window.event;
if (e.keyCode === 13)
{
if ($('#message').is( ":focus" ))
{
send_message();
}
else
{
send_reklama();
}
}
}
function send_reklama()
{
var message = $(".truuu").val();
var data = {'mode':'add_reklama', 'message':message};
$.ajax({
cache: false,
data: data,
dataType: "json",
type: "post",
timeout: 5000,
url: '/ajax/us-chat.php',
success: function(data) {
if (data.status == 'yes')
{
alert('Выполнено!');
}
}
});
return false;
}
function send_message()
{
var message = $("#message").val();
var touser = $("#message-to-user").text();
var private = $('.private-check').is(':checked') && touser !== '' ? '1' : '0';
var data = {'mode':'add_message', 'message':message, 'touser':touser, 'private'rivate};
var tm;
function hidemsg()
{
$('#entermsg').fadeOut('slow');
if (tm) clearTimeout(tm);
}
if (!message) return;
$.ajax({
cache: false,
data: data,
dataType: "json",
type: "post",
timeout: 5000,
url: '/ajax/us-chat.php',
success: function(data) {
if (data.status == 'yes')
{
$('#chat-message').append(data.html);
$('#message').val('');
if (getCookie('chsound') == '1' || getCookie('chsound') === null) { $("#sound-message-send")[0].play(); }
if (getCookie('chscroll') == '1' || getCookie('chscroll') === null)
{
scroll();
}
}
else
{
$('#entermsg').show();
$('#entermsg').html('<span class="msgbox-error">'+data.msg+'</span>');
tm = setTimeout(function() { hidemsg(); }, 5000);
if (getCookie('chsound') == '1' || getCookie('chsound') === null)
{
$("#sound-message-error")[0].play();
}
}
}
});
return false;
}
function delmsg(id)
{
issend = confirm("Вы уверены что хотите удалить сообщение?");
if (issend)
{
var data = {'mode':'del_message', 'id':id};
$.ajax({
cache: false,
data: data,
dataType: "json",
type: "post",
timeout: 5000,
url: '/ajax/us-chat.php',
success: function(data) {
if (data.status == 'yes')
{
$('#entermsg').hide();
$('#'+id).remove();
$('#message').val('');
if (getCookie('chscroll') == '1' || getCookie('chscroll') === null)
{
scroll();
}
}
else
{
$('#entermsg').html('<span class="msgbox-error">'+data.msg+'</span>');
var tm;
function hidemsg()
{
$('#entermsg').fadeOut('slow');
if (tm) clearTimeout(tm);
}
tm = setTimeout(function() { hidemsg() }, 2000);
}
}
});
return false;
}
}
function refresh(id)
{
var new_online = $('#count-online').val();
var data = {'mode':'refresh', 'id':id, 'online':new_online};
$.ajax({
cache: false,
data: data,
dataType: "json",
type: "post",
timeout: 5000,
url: '/ajax/us-chat.php',
success: function(data) {
if (data.status == 'yes')
{
$('#chat-message').append(data.html);
$('#chat-online').html(data.html2);
if (getCookie('chsound') == '1' || getCookie('chsound') === null)
{
if (data.html) { $("#sound-message-send")[0].play(); }
if (data.sound) { $("#sound-message-get")[0].play(); }
$('#count-online').val(data.sound_new);
if (data.sound_new > new_online)
{
$("#sound-message-new")[0].play();
}
}
if ((getCookie('chscroll') == '1' || getCookie('chscroll') === null) && data.html !== '')
{
scroll();
}
}
}
});
return false;
}
Pizza52
Участник
- Сообщения
- 335
- Реакции
- 21
я тут на форуме нашол этот мод... И он явно весь в ошибках и кривой, я не работаю с денвером...fhjktrdf написал(а):в js НУЖНО СМОТРЕТЬ ТАМ ОТВЕЧАЕТ ЗА ОТПРАВКУ СООБЩЕНИЯ (e.keyCode === 13 ) ВРОДЕ ТАКОЙ КОД ДОЛЖЕН БЫТЬ. гДЕ ТЫ СКАЧИВАЛ СКРИПТ. еСЛИ В ИНТЕРНЕТЕ ТО ОН РАБОЧИЙ Я САМ СКАЧИВАЛ. еСЛИ ТЫ НА DENWERE ПРОВЕРЯЕШЬ ЧАТ, ТО БЕСПОЛЕЗНО, ЧАТ НА DENWERE НЕ РАБОТАЕТ ТОЛЬКО НА СЕРВЕРЕ
Pizza52
Участник
- Сообщения
- 335
- Реакции
- 21
дай ссылку где скачать этот мод что ли.. А то у меня явно этот мод кривойfhjktrdf написал(а):в js НУЖНО СМОТРЕТЬ ТАМ ОТВЕЧАЕТ ЗА ОТПРАВКУ СООБЩЕНИЯ (e.keyCode === 13 ) ВРОДЕ ТАКОЙ КОД ДОЛЖЕН БЫТЬ. гДЕ ТЫ СКАЧИВАЛ СКРИПТ. еСЛИ В ИНТЕРНЕТЕ ТО ОН РАБОЧИЙ Я САМ СКАЧИВАЛ. еСЛИ ТЫ НА DENWERE ПРОВЕРЯЕШЬ ЧАТ, ТО БЕСПОЛЕЗНО, ЧАТ НА DENWERE НЕ РАБОТАЕТ ТОЛЬКО НА СЕРВЕРЕ
fhjktrdf
Участник
- Сообщения
- 144
- Реакции
- 10
Пробей в гугле, я не помнюPizza52 написал(а):дай ссылку где скачать этот мод что ли.. А то у меня явно этот мод кривой
Pizza52
Участник
- Сообщения
- 335
- Реакции
- 21
да там хламу куча...fhjktrdf написал(а):Пробей в гугле, я не помню
fhjktrdf
Участник
- Сообщения
- 144
- Реакции
- 10
http://знаемвсе.рф/web-masteru/invest-games/979-skachat-chat-na-javascript-dlya-fruktovoy-fermy.html Вот исходник.Pizza52 написал(а):да там хламу куча...
Pizza52
Участник
- Сообщения
- 335
- Реакции
- 21
а свой (рабочий чат ) запечатать?fhjktrdf написал(а):
fhjktrdf
Участник
- Сообщения
- 144
- Реакции
- 10
у меня чат отправляет сообщения при нажатии ctrl+enter.Pizza52 написал(а):а свой (рабочий чат ) запечатать?
тебе нужен enter. скачай чат по ссылке и закинь файл js к себе и попробуй.
И скрипт выложи на js
Pizza52
Участник
- Сообщения
- 335
- Реакции
- 21
оно мне по той ссылке не разрешает скачивать)) Пишет нет доступа для скачиванияfhjktrdf написал(а):у меня чат отправляет сообщения при нажатии ctrl+enter.
тебе нужен enter. скачай чат по ссылке и закинь файл js к себе и попробуй.
И скрипт выложи на js
fhjktrdf
Участник
- Сообщения
- 144
- Реакции
- 10
там зарегиться нужно. И это не единственный источник, есть еще пара, в гугле набей чат для фермы на ajaxPizza52 написал(а):оно мне по той ссылке не разрешает скачивать)) Пишет нет доступа для скачивания