|
|
@@ -42,7 +42,11 @@ class Events
|
|
|
{
|
|
|
if (empty(self::$db)) {
|
|
|
$mds = DIRECTORY_SEPARATOR;
|
|
|
- $dbcfg = realpath(dirname(__FILE__) . $mds . '..' . $mds . '..' . $mds . '..' . $mds . '..') . $mds . 'application' . $mds . 'database.php';
|
|
|
+ if (strtolower(substr(PHP_OS, 0, 3)) == 'win') {
|
|
|
+ $dbcfg = realpath(dirname(__FILE__) . $mds . '..' . $mds . '..' . $mds . '..' . $mds . '..') . $mds . 'application' . $mds . 'database.php';
|
|
|
+ } else {
|
|
|
+ $dbcfg = realpath(dirname(__FILE__) . $mds . '..' . $mds . '..' . $mds . '..' . $mds . '..' . $mds . '..') . $mds . 'application' . $mds . 'database.php';
|
|
|
+ }
|
|
|
$conf = require($dbcfg);
|
|
|
self::$db = new \Workerman\MySQL\Connection($conf['hostname'], $conf['hostport'], $conf['username'], $conf['password'], $conf['database']);
|
|
|
}
|
|
|
@@ -144,19 +148,8 @@ class Events
|
|
|
$return[$val['group']] = isset($return[$val['group']]) ? $return[$val['group']] + 1 : 1;
|
|
|
}
|
|
|
|
|
|
- $krgroupclientid = [];
|
|
|
- foreach ($kflist as $gid => $sval) {
|
|
|
- foreach ($sval as $tval) {
|
|
|
- $krgroupclientid[$gid][] = $tval['client_id'];
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
foreach ($return as $fgroup => $fval) {
|
|
|
- foreach ($krgroupclientid as $sikey => $sival) {
|
|
|
- if ($fgroup == $sikey) {
|
|
|
- Gateway::sendToClient($sival, json_encode(['type' => 'lineupCount', $fval], 256));
|
|
|
- }
|
|
|
- }
|
|
|
+ Gateway::sendToGroup('group_' . $fgroup, json_encode(['type' => 'lineupCount', $fval], 256));
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
@@ -1865,7 +1858,7 @@ class Events
|
|
|
if ($v['start_time'] <= $unoperated) {
|
|
|
$servicelog_id = $v['servicelog_id'];
|
|
|
self::$db->query("update `ws_service_log` set `servicelog_close_type` = 1 where `servicelog_id`= '$servicelog_id'");
|
|
|
- self::serverClose($v['client_id'], $servicelog_id, $v['user_id'], 'KF'.$v['kf_id'], $v['group_id']);
|
|
|
+ self::serverClose($v['client_id'], $servicelog_id, $v['user_id'], 'KF' . $v['kf_id'], $v['group_id']);
|
|
|
// 如果小于设定时间前一分钟则给出提示.
|
|
|
} elseif ($v['start_time'] <= $setUnoperated) {
|
|
|
$chat_message = [
|
|
|
@@ -1885,7 +1878,7 @@ class Events
|
|
|
$found_key = array_search($v['servicelog_id'], array_column($serviceLog, 'servicelog_id'));
|
|
|
$servicelog_id = $v['servicelog_id'];
|
|
|
self::$db->query("update `ws_service_log` set `servicelog_close_type` = 2 where `servicelog_id`= '$servicelog_id'");
|
|
|
- self::serverClose($serviceLog[$found_key]['client_id'], $servicelog_id, $serviceLog[$found_key]['user_id'], 'KF'.$serviceLog[$found_key]['kf_id'], $serviceLog[$found_key]['group_id']);
|
|
|
+ self::serverClose($serviceLog[$found_key]['client_id'], $servicelog_id, $serviceLog[$found_key]['user_id'], 'KF' . $serviceLog[$found_key]['kf_id'], $serviceLog[$found_key]['group_id']);
|
|
|
// 如果对话为客服的最后一次对话且时间小于设定时间前一分钟则给出提示.
|
|
|
} elseif ($v['time_line'] <= $setOvertime) {
|
|
|
$chat_message = [
|
|
|
@@ -1990,7 +1983,8 @@ class Events
|
|
|
self::$db->delete('ws_kfonline')->where("uid='$kf'")->query();
|
|
|
} else {
|
|
|
$now = date('Y-m-d H:i;s');
|
|
|
- $sql = "insert into ws_kfonline(uid,status,uptime) values('$kf',$status,'$now') ON DUPLICATE KEY UPDATE status=$status,uptime='$now' ";
|
|
|
+ $ip = isset($_SESSION['remotip']) ? $_SESSION['remotip'] : '';
|
|
|
+ $sql = "insert into ws_kfonline(uid,status,uptime,ip) values('$kf',$status,'$now','$ip') ON DUPLICATE KEY UPDATE status=$status,uptime='$now' ";
|
|
|
self::$db->query($sql);
|
|
|
}
|
|
|
} else {
|