require_once dirname(__FILE__) . '/../include/ChatSvc.php'; $resp = array('errno' => 0, 'errmsg' => '', 'data' => array()); $uid2 = $_REQUEST['uid2']; $text = $_REQUEST['text']; $uid2 = htmlspecialchars(trim($uid2)); $text = htmlspecialchars(trim($text)); if (!strlen($uid2) || strlen($uid2) > 32 || !strlen($text)) { $resp['errno'] = 1; $resp['errmsg'] = 'Bad parameter!'; } else { if (strlen($text) > 1000) { $resp['errno'] = 1; $resp['errmsg'] = 'content too long!'; } else { $uid = $user['uname']; $svc = new ChatSvc(); $msg = $svc->send($uid, $uid2, $text); $comet_msg = $msg; $comet_msg['time'] = date('Y-m-d H:i:s', $comet_msg['time']); comet_push($uid2, json_encode($comet_msg)); $resp['data'] = $msg; } } echo json_encode($resp); function comet_push($cname, $content) { $cname = urlencode($cname); $content = urlencode($content); $url = "http://127.0.0.1:8000/push?cname={$cname}&content={$content}"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_HEADER, 0);
<?php include 'ChatSvc.php'; $svc = new ChatSvc(); $svc->send('a', 'kf_1', 'hi ' . date('Y-m-d')); #$svc->send('b', 'kf_2', 'hi ' . date('Y-m-d')); #$svc->send('b', 'kf_3', 'hi ' . date('Y-m-d')); $ret = $svc->listMessages('a', 'kf_1', 10); var_dump($ret);
$user = $uc->auth(); if (!$user || !$user['uname']) { die('Not login!'); } require_once dirname(__FILE__) . '/../include/ChatSvc.php'; $all_contacts = array(array('name' => 'kf_1', 'unread' => 0), array('name' => 'kf_2', 'unread' => 1), array('name' => 'kf_3', 'unread' => 0)); $resp = array('errno' => 0, 'errmsg' => '', 'data' => array()); if ($_GET['type'] == 'all') { $uc = new UserSvc(); $names = $uc->listUsers(); $contacts = array(); foreach ($names as $name) { $contacts[] = array('name' => $name, 'unread' => 0); } $resp['data'] = $contacts; } else { $uid = $user['uname']; $svc = new ChatSvc(); $uids = $svc->listRecentContacts($uid, 20); $recent_contacts = array(); foreach ($uids as $uid) { $recent_contacts[] = array('name' => $uid, 'unread' => 0); } $resp['data'] = $recent_contacts; } #usort($resp['data'], 'sort_func'); echo json_encode($resp); function sort_func($a, $b) { return $b['unread'] - $a['unread']; }
<?php require_once dirname(__FILE__) . '/../include/UserSvc.php'; $uc = new UserSvc(); $user = $uc->auth(); if (!$user || !$user['uname']) { die('Not login!'); } require_once dirname(__FILE__) . '/../include/ChatSvc.php'; $resp = array('errno' => 0, 'errmsg' => '', 'data' => array()); $size = intval($_GET['size']); if ($size <= 0 || $size > 20) { $size = 10; } $uid2 = htmlspecialchars($_GET['with']); $uid = $user['uname']; $svc = new ChatSvc(); $resp['data'] = $svc->listMessages($uid, $uid2, $size); echo json_encode($resp);