foreach ($messageData as $v) { $messageFkData[$v['id']] = $v; } $showArr = array(); $tmpLastId = 0; foreach ($data as $k => $v) { $message = $messageFkData[$v['message_id']]['message']; $time = $messageFkData[$v['message_id']]['time']; $session = $messageFkData[$v['message_id']]['session']; $level = $messageFkData[$v['message_id']]['level']; if ($v['send_user'] == 0) { $send_user = '******'; } elseif ($v['send_user'] == -1) { $send_user = '******'; } else { $sql = "SELECT `username` FROM `" . $userDB->getTableName() . "` WHERE `id` = ?"; $user = $userDB->getRow($sql, array($v['send_user'])); $send_user = $user['username']; } if ($lastId != 0) { echo $message = '{"message":"' . $message . '", "session":"' . $session . '", "time":"' . $time . '","level":"' . $level . '","send_user":"******"}'; } $tmpLastId = $v['id']; } $lastId = $tmpLastId; //$message .= pack("h", '00'); $r = stream_socket_sendto($socket, $message, 0, $peer); } sleep(1); } } while ($pkt !== false);
/** * *@description: android获取client_id 是第三方推送过来的信息, 不能保证 登陆前一定能获取到.. 不阻塞用户登陆, 只有获取到之后再进行更新 */ public function updateClientId() { Switcher::close('masterDbPostOnly'); $username = $_POST['username']; $clientId = $_POST['client_id']; $userDB = new AlarmUserModelDB(); if (!empty($username) && !empty($clientId)) { $sql = "SELECT `id` FROM `" . $userDB->getTableName() . "` WHERE `username` = ?"; $userId = $userDB->getFirst($sql, array($username)); if (!empty($userId)) { $updateArr = array(); $updateArr['client_id'] = $clientId; $userDB->update($updateArr, array('id' => $userId)); Message::showSucc('succ'); } else { Message::showError('no such user'); } } else { Message::showError('username or clientid is empty'); } }