-
Notifications
You must be signed in to change notification settings - Fork 0
/
chat.php
executable file
·150 lines (143 loc) · 3.96 KB
/
chat.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<?php
require_once dirname(__FILE__) . "/library/DB.php";
require_once dirname(__FILE__) . "/config/config.php";
session_start();
if(!isset($_SESSION["user"])) {
header("Location: index.php");
}
$db = new DB();
$db->db_connect();
//$from = "NOW"
$sql = "SELECT * FROM message INNER JOIN user ON message.message_user = user.user_id WHERE message.message_created <= '" .date("Y-m-d h:i:s"). "' limit 10";
$rs = $db->db_query($sql);
$message = $db->fetchAll($rs);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CIBRiDGE ASIA Thanks Card - Member List</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="/thankcard/img/icon_fav.ico" rel="shortcut icon">
<link rel="stylesheet" type="text/css" href="css/common.css" media="all">
<link rel="stylesheet" type="text/css" href="css/style.css" media="all">
<link rel="stylesheet" type="text/css" href="css/print.css" media="print">
<script src="js/jquery-1.8.3.min.js"></script>
<script src="js/script.js"></script>
<style type="text/css">
.message {
border: 1px solid #ccc;
padding: 10px;
}
#msglist {
height: 600px;
overflow: auto;
padding: 5px;
border: 2px solid black;
float: right;
width: 88%;
}
#group {
float: left;
width: 10%;
border: 2px solid black;
height: 600px;
overflow: auto;
}
.clear {
clear: both;
}
</style>
</head>
<body id="listPage">
<div id="wrapper" class="clearfix">
<p><button onclick="get_message_list('old')" value="<?php echo $message[0]['message_created']?>" id="mgs_first">GET OLD MESSAGE</button></p>
<br>
<div id="group">
</div>
<div id="msglist">
<?php foreach ($message as $key => $value) {
echo "<div class='message'>";
echo "<p>" . $value["user_nick_name"] . ":</p>";
echo "-----------------";
echo "<p>" . $value["message_content"] . "</p>";
echo "-----------------";
echo "<p>" . $value["message_created"] . "</p>";
echo "</div>";
echo "<br/>";
}?>
</div>
<br>
<input type="hidden" value="<?php echo $value['message_created']?>" id="mgs_last"/>
<br>
<br>
<br>
<div class="clear"></div>
<form id="form-msg">
<p>Enter your message</p>
<textarea name="message" id="msg" cols="50" rows="10"></textarea>
<input type="submit" value="submit">
</form>
</div>
<script type="text/javascript">
//Get message each after 5s
setInterval(function(){
var date = $('#mgs_last').val();
get_message_list(date, 'new');
},3000);
$('#form-msg').submit(function(e){
e.preventDefault();
var content = $('#msg').val();
var user_id = <?php echo $_SESSION["user"]["user_id"]; ?>;
if(content.length <= 0) {
alert('please enter the message');
}else {
$.ajax({
type: "POST",
url: "add_msg.php",
data: "message[user_id]=" +user_id+ "&message[message_content]=" + content,
cache: false,
dataType: "text",
success: function(ret){
var date = $('#mgs_last').val();
get_message_list(date, 'new');
$('#msg').val('');
}
});
}
return false;
});
function get_message_list (date,type)
{
$.ajax({
type: "GET",
url: "message.php",
data: "date=" + date + "&type=" + type,
cache: false,
dataType: "text",
success: function(ret){
data = JSON.parse(ret);
//console.log(data);
var last = "";
data.map(function(message){
var html = "<div class='message'>";
html += "<p>" + message.user_nick_name + ":</p>";
html += "-----------------";
html += "<p>" + message.message_content + "</p>";
html +="-----------------";
html += "<p>" + message.message_created + "</p>";
html += "</div><br/>";
$(html).appendTo('#msglist')
last = message.message_created;
});
if(last.length > 0) {
$('#mgs_last').val(last);
var $t = $('#msglist');
$t.animate({"scrollTop": $('#msglist')[0].scrollHeight}, "slow");
}
}
});
}
</script>
</body>
</html>