| 
<?phpif(!session_id()) {
 session_start();
 }
 require_once __DIR__ . '/vendor/autoload.php';
 $fb = new Facebook\Facebook([
 'app_id' => '161666920922824',
 'app_secret' => '45f5493391e0875512f4c42eca1efb11',
 'default_graph_version' => 'v2.5',
 ]);
 
 $helper = $fb->getRedirectLoginHelper();
 try {
 if(isset($_SESSION['facebook_access_token']))
 {
 $accessToken = $_SESSION['facebook_access_token'];
 }
 if(!$accessToken){
 $accessToken = $helper->getAccessToken();
 }
 
 
 } catch(Facebook\Exceptions\FacebookResponseException $e) {
 // When Graph returns an error
 echo 'Graph returned an error: ' . $e->getMessage();
 exit;
 } catch(Facebook\Exceptions\FacebookSDKException $e) {
 // When validation fails or other local issues
 echo 'Facebook SDK returned an error: ' . $e->getMessage();
 exit;
 }
 
 if (isset($accessToken) && $accessToken) {
 // Logged in!
 $_SESSION['facebook_access_token'] = (string) $accessToken;
 
 // Now you can redirect to another page and use the
 // access token from $_SESSION['facebook_access_token']
 }else{
 $permissions = ['email', 'user_likes']; // optional
 $loginUrl = $helper->getLoginUrl('https://ssl.fwebshop.com/thilathang/login-callback.php', $permissions);
 
 echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';exit;
 }
 ?>
 <?php if (isset($accessToken)):?>
 <!DOCTYPE html>
 <html>
 <head>
 <title>Web Agent Chat</title>
 <meta charset="utf-8" />
 <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
 <script type="text/javascript">
 var ws, url = 'ws://ssl.fwebshop.com/socket/';
 var sender_id = "";
 var page_id = "1169673899771529";
 var receipt_id = "1169673899771529";
 window.onbeforeunload = function() {
 ws.send('quit');
 };
 
 window.onload = function() {
 try {
 ws = new WebSocket(url);
 //write('Connecting... (readyState '+ws.readyState+')');
 ws.onopen = function(msg) {
 //write('Connection successfully opened (readyState ' + this.readyState+')');
 };
 ws.onmessage = function(msg) {
 
 write(msg);
 };
 ws.onclose = function(msg) {
 if(this.readyState == 2){
 //write('Closing... The connection is going throught the closing handshake (readyState '+this.readyState+')');
 }
 
 else if(this.readyState == 3){
 //write('Connection closed... The connection has been closed or could not be opened (readyState '+this.readyState+')');
 }
 else{
 //write('Connection closed... (unhandled readyState '+this.readyState+')');
 }
 
 };
 ws.onerror = function(event) {
 //terminal.innerHTML = '<li style="color: red;">'+event.data+'</li>'+terminal.innerHTML;
 };
 
 }
 catch(exception) {
 write(exception);
 }
 };
 
 function write(msg) {
 if(msg.data){
 
 var dataMessage = $.parseJSON(msg.data);
 if(dataMessage.action){
 console.log(msg);
 switch(dataMessage.action){
 case "broadcast_client":
 data = dataMessage.data;
 if(sender_id != "" && sender_id != data.sender.id){
 //do nothing
 }else{
 sender_id = data.sender.id;
 receipt_id = data.recipient.id;
 msg = data.message.text;
 var msg_html = '<div class="chat-body clearfix">' +
 '<div class="header">'
 +   '<strong class="primary-font">FROM ' +sender_id + ' </strong>'
 + '</div>'
 + '<p>'
 +    msg
 + '</p>'
 +'</div>';
 var li = '<li class="left clearfix"><span class="chat-img pull-left"><img src="http://placehold.it/50/55C1E7/fff&text=U" alt="User Avatar" class="img-circle" /></span>'+msg_html+'</li>';
 $('#chat-holder-data').append(li);
 break;
 }
 
 default:
 break;
 }
 }
 }
 
 }
 function onlineCommand(e)
 {
 var message = {
 "id": "1065880806826487",
 "action": "login",
 };
 ws.send(JSON.stringify(message));
 $(e).hide();
 }
 function sendCommand()
 {
 
 /*
 var message = {
 "id": "1065880806826487",
 "action": "login",
 };
 var message = {
 "receipt_id": "1065880806826487",
 "page_id": "1169673899771529",
 "sender_id":"1065880806826487",
 "message":$("#btn-input").val()
 
 }
 */
 var message = {
 "receipt_id": sender_id,
 "page_id": page_id,
 "sender_id":sender_id,
 "message":$("#btn-input").val(),
 "action": "chat",
 }
 msg = $("#btn-input").val();
 var msg_html = '<div class="chat-body clearfix">' +
 '<div class="header">'
 +   '<strong class="pull-right primary-font">Me</strong>'
 + '</div>'
 + '<p>'
 +    msg
 + '</p>'
 +'</div>';
 var li = '<li class="right clearfix"><span class="chat-img pull-right"><img src="http://placehold.it/50/55C1E7/fff&text=U" alt="User Avatar" class="img-circle" /></span>'+msg_html+'</li>';
 $('#chat-holder-data').append(li);
 $("#btn-input").val("");
 ws.send(JSON.stringify(message));
 }
 </script>
 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
 <LINK href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css">
 <style>
 .chat
 {
 list-style: none;
 margin-top: 0;
 padding: 0;
 }
 
 .chat li
 {
 margin-bottom: 10px;
 padding-bottom: 5px;
 border-bottom: 1px dotted #B3A9A9;
 }
 
 .chat li.left .chat-body
 {
 margin-left: 60px;
 }
 
 .chat li.right .chat-body
 {
 margin-right: 60px;
 }
 
 
 .chat li .chat-body p
 {
 margin: 0;
 color: #777777;
 }
 
 .panel .slidedown .glyphicon, .chat .glyphicon
 {
 margin-right: 5px;
 }
 
 .panel-body
 {
 overflow-y: scroll;
 min-height: 400px;
 }
 
 ::-webkit-scrollbar-track
 {
 -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
 background-color: #F5F5F5;
 }
 
 ::-webkit-scrollbar
 {
 width: 12px;
 background-color: #F5F5F5;
 }
 
 ::-webkit-scrollbar-thumb
 {
 -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
 background-color: #555;
 }
 
 </style>
 </head>
 <body>
 <div class="container" style="margin:0;padding:0;width:100%;">
 <div class="row" style="margin:0;padding:0;width:100%;">
 <div class="col-md-12" style="margin:0;padding:0;width:100%;">
 <div class="panel panel-primary">
 <div class="panel-heading" id="accordion">
 <span class="glyphicon glyphicon-comment"></span> Chat Agent
 <button class="btn btn-warning btn-sm" id="btn-chat" onclick="onlineCommand(this);" style="float:right;margin-top:-5px;">
 Online My Account</button>
 </div>
 <div class="panel-collapse" id="collapseOne">
 <div class="panel-body">
 <ul class="chat" id="chat-holder-data">
 
 </ul>
 </div>
 <div class="panel-footer">
 <div class="input-group">
 <input id="btn-input" type="text" class="form-control input-sm" placeholder="Type your message here..." />
 <span class="input-group-btn">
 <button class="btn btn-warning btn-sm" id="btn-chat" onclick="sendCommand();">
 Send</button>
 </span>
 </div>
 </div>
 </div>
 </div>
 </div>
 </div>
 </div>
 </body>
 </html>
 
 <?php endif;?>
 |