123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- <?php
- /**
- * web_chat
- *
- *
- */
- defined('InShopNC') or exit('Access Invalid!');
- class web_chatControl extends BaseControl {
- public function __construct(){
- parent::__construct();
- Language::read('member_chat');
- if (strtoupper(CHARSET) == 'GBK'){
- $_GET = Language::getGBK($_GET);
- $_POST = Language::getGBK($_POST);
- }
- }
- /**
- * add msg
- *
- */
- public function send_msgOp(){
- $member = array();
- $model_chat = Model('web_chat');
- if(empty($_POST)) $_POST = $_GET;
- $member_id = $_SESSION['member_id'];
- $member_name = $_SESSION['member_name'];
- $f_id = intval($_POST['f_id']);
- $t_id = intval($_POST['t_id']);
- $t_name = trim($_POST['t_name']);
- if (($member_id < 1) || ($member_id != $f_id)) $this->error(Language::get('nc_member_chat_login'));
- $member = $model_chat->getMember($t_id);
- if ($t_name != $member['member_name']) $this->error(Language::get('nc_member_chat_name_error'));
- $msg = array();
- $msg['f_id'] = $f_id;
- $msg['f_name'] = $member_name;
- $msg['t_id'] = $t_id;
- $msg['t_name'] = $t_name;
- $msg['t_msg'] = trim($_POST['t_msg']);
- if ($msg['t_msg'] != '') $chat_msg = $model_chat->addMsg($msg);
- if($chat_msg['m_id']) {
- $this->json($chat_msg);
- } else {
- $this->error(Language::get('nc_member_chat_add_error'));
- }
- }
- /**
- * friends info
- *
- */
- public function get_user_listOp(){
- $member_list = array();
- $model_chat = Model('web_chat');
- $member_id = $_SESSION['member_id'];
- $member_name = $_SESSION['member_name'];
- $f_id = intval($_GET['f_id']);
- if (($member_id < 1) || ($member_id != $f_id)) $this->error(Language::get('nc_member_chat_login'));
- $n = intval($_GET['n']);
- if ($n < 1) $n = 50;
- $member_list = $model_chat->getFriendList(array('friend_frommid'=> $f_id),$n,$member_list);
- $add_time = date("Y-m-d");
- $add_time30 = strtotime($add_time)-60*60*24*30;
- $member_list = $model_chat->getRecentList(array('f_id'=> $f_id,'add_time'=>array('egt',$add_time30)),10,$member_list);
- $member_list = $model_chat->getRecentFromList(array('t_id'=> $f_id,'add_time'=>array('egt',$add_time30)),10,$member_list);
- $this->json($member_list);
- }
- /**
- * 商家客服
- *
- */
- public function get_seller_listOp(){
- $member_list = array();
- $model_chat = Model('web_chat');
- $member_id = $_SESSION['member_id'];
- $member_name = $_SESSION['member_name'];
- $store_id = $_SESSION['store_id'];
- $f_id = intval($_GET['f_id']);
- if (($member_id < 1) || ($member_id != $f_id)) $this->error(Language::get('nc_member_chat_login'));
- $n = intval($_GET['n']);
- if ($n < 1) $n = 50;
- if(empty($_SESSION['seller_list'])) {
- $member_list = $model_chat->getSellerList(array('store_id'=> $store_id),$n,$member_list);
- $_SESSION['seller_list'] = $member_list;
- } else {
- $member_list = $_SESSION['seller_list'];
- }
- $add_time = date("Y-m-d");
- $add_time30 = strtotime($add_time)-60*60*24*30;
- $member_list = $model_chat->getRecentList(array('f_id'=> $f_id,'add_time'=>array('egt',$add_time30)),10,$member_list);
- $member_list = $model_chat->getRecentFromList(array('t_id'=> $f_id,'add_time'=>array('egt',$add_time30)),10,$member_list);
- $this->json($member_list);
- }
- /**
- * member info
- *
- */
- public function get_infoOp(){
- if ($_SESSION['member_id'] < 1) $this->error(Language::get('nc_member_chat_login'));
- $val = '';
- $member = array();
- $model_chat = Model('web_chat');
- $types = array('member_id','member_name','store_id','member');
- $key = $_GET['t'];
- $member_id = intval($_GET['u_id']);
- if(trim($key) != '' && in_array($key,$types)){
- $member = $model_chat->getMember($member_id);
- $this->json($member);
- }
- }
- /**
- * chat log
- *
- */
- public function get_chat_logOp(){
- $member_id = $_SESSION['member_id'];
- $f_id = intval($_GET['f_id']);
- $t_id = intval($_GET['t_id']);
- $page = intval($_GET['page']);
- if (($member_id < 1) || ($member_id != $f_id)) $this->error(Language::get('nc_member_chat_login'));
- if ($page < 1) $page = 20;
- $add_time_to = date("Y-m-d");
- $time_from = array();
- $time_from['7'] = strtotime($add_time_to)-60*60*24*7;
- $time_from['15'] = strtotime($add_time_to)-60*60*24*15;
- $time_from['30'] = strtotime($add_time_to)-60*60*24*30;
- $key = $_GET['t'];
- if(trim($key) != '' && array_key_exists($key,$time_from)){
- $model_chat = Model('web_chat');
- $chat_log = array();
- $list = array();
- $condition_sql = " add_time >= '".$time_from[$key]."' ";
- $condition_sql .= " and ((f_id = '".$f_id."' and t_id = '".$t_id."') or (f_id = '".$t_id."' and t_id = '".$f_id."'))";
- $list = $model_chat->getLogList($condition_sql,$page);
- $chat_log['list'] = $list;
- $chat_log['total_page'] = $model_chat->gettotalpage();
- $this->json($chat_log);
- }
- }
- /**
- * 商品图片和名称
- *
- */
- public function get_goods_infoOp(){
- $model_chat = Model('web_chat');
- $goods_id = intval($_GET['goods_id']);
- $goods = $model_chat->getGoodsInfo($goods_id);
- $this->json($goods);
- }
- /**
- * get session
- *
- */
- public function get_sessionOp(){
- $key = $_GET['key'];
- $val = '';
- if (!empty($_SESSION[$key])) $val = $_SESSION[$key];
- echo $val;
- exit;
- }
- /**
- * json
- *
- */
- public function json($json){
- if (strtoupper(CHARSET) == 'GBK'){
- $json = Language::getUTF8($json);//GBKtoUTF-8
- }
- echo $_GET['callback'].'('.json_encode($json).')';
- exit;
- }
- /**
- * error
- *
- */
- public function error($msg = ''){
- $this->json(array('error'=> $msg));
- }
- }
|