Chat With laravel 4.2
<div class="chat-box">
</div>
$(document).on('keydown', '.send', function(e){
var msg = $(this).val();
var element = $(this);
if (e.keyCode == 13 && !e.shiftKey) {
$.ajax({
url:'{{URL::to('site/replymessage/'.$from_id)}}',
type : 'post',
data : {message_text:msg, message_from :'{{Auth::User()->id}}'}
});
element.val('');
}
});
$(function() {
liveChat();
});
function liveChat(){
$.ajax({
url:'{{URL::to('site/msgajax/'.$from_id)}}',
data:[],
success:function(data){
$('.chat-box').append('<div class="panel panel-default"><div class="panel-body">'+data['message_text']+'</div></div>');
setTimeout(liveChat,1000);
},
error:function(){
setTimeout(liveChat,5000);
}
});
}
public function getMsgajax($id)
{
ini_set('max_execution_time', 7200);
while (Message::where('check', 0)->count() < 1) {
usleep(1000);
}
if (Message::where('check', 0)->count() > 0) {
$data = Message::
where(function($query) use ($id){
$query->where('check', 0);
$query->where('message_from', Auth::user()->id);
$query->where('message_to', $id);
})
->orWhere(function($query) use ($id){
$query->where('check', 0);
$query->where('message_to', Auth::user()->id);
$query->where('message_from', $id);
})->first();
$id = $data->id;
$edit = Message::find($id);
$edit->check = 1;
$edit->save();
return Response::json([
'message_text' => $data->message_text
]);
}
}
public function postReplymessage($user_id) {
$validator = Validator::make(Input::all(), Message::$rules2);
if ($validator->passes()) {
$user = new Message;
$user->message_text = Input::get('message_text');
$user->message_title = 'بخصوص رسالتك المرسله الي ';
$user->message_to = $user_id;
$user->message_from = Auth::User()->id;
$user->save();
// return Redirect::back();
}
return Redirect::back()
->with('yes', 'لقد حدث خطاء في ارسال الرساله ')
->withErrors($validator)
->withInput();
}