chat.js
var chat = {}
chat.fetchMessages = function () {
$.ajax({ url: '/chat/ajax/chat.php',
type: 'post',
data: { method: 'fetch' },
success: function(data) {
$('.chat .messages').html(data);
}
});
}
chat.throwMessage = function (message) {
if ($.trim(message).length !=0) {
$.ajax({
url: '/chat/ajax/chat.php',
type: 'post',
data: { method: 'throw', message: message },
success: function(data) {
chat.fetchMessages();
chat.entry.val('');
}
});
}
}
chat.entry = $('.chat .entry');
chat.entry.bind('keydown', function(e) {
if (e.keyCode === 13 && e.shiftKey === false) {
chat.throwMessage($(this).val());
event.preventDefault();
}
});
chat.interval = setInterval(chat.fetchMessages, 15000);
chat.fetchMessages();
function Smile(smiley)
{
var currentText = document.getElementById("zprava");
var smileyWithPadding = " " + smiley + " ";
currentText.value += smileyWithPadding;
currentText.focus();
}
function Names(name)
{
var currentText = document.getElementById("zprava");
var nameWithPadding = ""+name+"";
currentText.value = nameWithPadding;
currentText.focus();
}
Chat.php <?php
class Chat extends Core{
public function fetchMessages() {
$this->query("
SELECT `chat`.`message`,
`chat`.`timestamp`,
`chat`.`ip`,
`chat`.`message_id`,
`uzivatele`.`jmeno`,
`uzivatele`. `id`,
`uzivatele`. `admin`
FROM `chat`
JOIN `uzivatele`
ON `chat`.`id` = `uzivatele`.`id`
ORDER BY `chat`.`timestamp`
DESC
");
return $this->rows();
}
public function throwMessage($id, $message){
$adr=$_SERVER["REMOTE_ADDR"];
$this->query("
INSERT INTO `chat` (`id`, `message`, `timestamp`, `ip`)
VALUES (" . (int)$id.", '" .$this->db->real_escape_string($message) ."', UNIX_TIMESTAMP(), '$adr')
");
}
}
Budu vděčný za radu.