|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/parassaas.edukrypt.in/resources/views/teacher/ |
Upload File : |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Navin Classes | Chat</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.8.2/css/fontawesome.min.css">
<link rel="stylesheet" href="{{ asset('/public/chat/style.css') }}">
<!-- jQuery library -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="icon" href="{{ asset('/public/favicon.ico') }}" type="image/x-icon">
<script>
var _base_url = "{{ url('/') }}";
var _date_time = "{{ url('/') }}";
</script>
<style>
.close_btn {
height: 20px;
}
</style>
</head>
<body>
<!--
<div class="sidenav">
<a href="#services">Services</a>
</div>-->
<div class="main">
<div class="menu">
<div class="name">Navin Classes Live Chat <span style="display:none;" class="onlineusr"></span>
</div>
<input type="hidden" class="chatid" name="chatid" value="<?php echo $chatid; ?>" />
<input type="hidden" class="f_name" name="f_name" value="<?php echo $f_name; ?>" />
<a class="back_btn btn btn-primary" href="{{ asset('admin/live-schedule-list/' . $sch_id) }}"
title="Back To Panel"><i class="fa fa-arrow-left fa-2x" aria-hidden="true"></i></a>
<button title="Clear Chat History" class="crlchat btn btn-warning"><i class="fa fa-recycle fa-2x"
aria-hidden="true"></i></button>
<button title="Logout" class="signout btn btn-danger">
<i class="fa fa-power-off fa-2x" aria-hidden="true"></i>
</button>
</div>
<ol class="chat">
</ol>
<div id="login-box" style="margin:0px;display:none;" class="row login-box">
<div class="col-md-4"></div>
<div class="col-md-4">
<div style="padding:30px; border-radius:10px; border: 1px solid #ccc;" class="bg-info">
<span id="err-msg" class="text-danger"></span>
<div class="form-group">
<input id="usrfemail" value="{{ $admin_email }}" type="email" placeholder="Enter email"
class="form-control" />
</div>
<div class="form-group">
<input id="usrfpass" value="123456" type="password" placeholder="Enter password"
class="form-control" />
</div>
<div class="form-group">
<span id="err-email" class="text-danger"></span>
</div>
<button id="join-btn" class="btn btn-success" name="join">Join Room</button>
</div>
</div>
<div class="col-md-4"></div>
</div>
<div style="display:none;" id="sound"></div>
<input class="textarea message-input" type="text" placeholder="Type here!" />
<button class="submit btn-success"><i class="fa fa-paper-plane" aria-hidden="true"></i></button>
</div>
<!-- Firebase -->
<script src="https://www.gstatic.com/firebasejs/4.13.0/firebase.js"></script>
<script>
$(document).ready(function() {
var chatID = $('.chatid').val();
var f_name = $('.f_name').val();
var user_name = "NavinClasses";
var user_id;
var isLogin = false;
function newMessage() {
message = $(".message-input").val();
if ($.trim(message) == '') {
return false;
}
writeUserData(message);
};
$('.submit').click(function() {
newMessage();
});
$(window).on('keydown', function(e) {
if (e.which == 13) {
newMessage();
return false;
}
});
function playSound() {
var path = _base_url + "assets/chat/noti.mp3";
var mp3Source = '<source src="' + path + '" type="audio/mpeg">';
var embedSource = '<embed hidden="true" autostart="true" loop="false" src="' + path + '">';
document.getElementById("sound").innerHTML = '<audio autoplay="autoplay">' + mp3Source +
embedSource + '</audio>';
}
var config = {
apiKey: "AIzaSyBe0DVo30Gp5YzCZDIsE5PVDBB4U4vzHRc",
authDomain: "navincls.firebaseapp.com",
databaseURL: "https://navincls-default-rtdb.firebaseio.com",
projectId: "navincls",
storageBucket: "navincls.appspot.com",
messagingSenderId: "764185357821",
appId: "1:764185357821:web:5003306416207561f93d94",
measurementId: "G-RM8S7FYJZC"
};
firebase.initializeApp(config);
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
var isAnonymous = user.email;
$('#login-box').hide();
user_id = "1";
isLogin = true;
} else {
$('#login-box').show();
}
});
$('#join-btn').click(function() {
var email1 = $('#usrfemail').val();
var password1 = $('#usrfpass').val();
$('#err-email').html("Logging...");
firebase.auth().signInWithEmailAndPassword(email1, password1).then(function() {
location.reload(true);
}).catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
if (errorCode == "auth/invalid-email") {
$('#err-email').html("Invalid Email..");
}
if (errorCode == "auth/user-not-found") {
firebase.auth().createUserWithEmailAndPassword(email1, password1).then(
function() {
location.reload(true);
}).catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
$('#err-msg').html(errorMessage);
});
}
if (errorCode == "auth/wrong-password") {
$('#err-email').html("Invalid Password..");
}
});
});
$('.signout').click(function() {
firebase.auth().signOut().then(function() {
location.reload(true);
}, function(error) {});
});
// get firebase database reference...
var db_ref = firebase.database().ref('/' + chatID);
db_ref.on('child_added', function(data) {
if (isLogin) {
var type;
if (data.val().user_id == user_id) {
type = "self";
} else {
type = "other";
}
$('<li class="' + type + '"><a href="javascript:;" data-key="' + data.key +
'" class="close_btn"><i class="fa fa-remove"></i></a> <div class="msg"> <p class="chatmsg">' +
data.val().message + '</p> <p class="chatusr"><i>' + data.val().name +
'</i></p><time><i class="fa fa-clock-o"></i> ' + data.val().created_at +
'</time> </div> </li>').appendTo($('.chat'));
$(document).scrollTop($(document).height());
// playSound();
}
});
db_ref.on('child_removed', function(data) {
location.reload(true);
});
function removeNodes() {
db_ref.remove();
}
$('body').on('click', '.close_btn', function() {
var message = 'Are you sure you want to delete the chat?';
var datakey = $(this).data("key");
if (confirm(message)) {
db_ref.child(datakey).remove();
}
});
function writeUserData(message) {
db_ref.push({
created_at: getdatetime(),
message: message,
name: user_name,
user_id: "1",
});
$('.message-input').val(null);
}
function getTwoDigitDateFormat(monthOrDate) {
return (monthOrDate < 10) ? '0' + monthOrDate : '' + monthOrDate;
}
function formatAMPM(date) {
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = 10;
var ampm = hours >= 12 ? 'pm' : 'am';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? '0' + minutes : minutes;
var strTime = ("0" + hours).slice(-2) + ':' + minutes + ':' + seconds;
return strTime;
}
function getdatetime() {
var currentdate = new Date();
var twoDigitDate = getTwoDigitDateFormat(currentdate.getDate());
var am_pm = currentdate.getHours() >= 12 ? "PM" : "AM";
var datetime = "" + currentdate.getFullYear() + "-" + ("0" + (currentdate.getMonth() + 1)).slice(-
2) + "-" +
twoDigitDate + " " + formatAMPM(currentdate) + " " + am_pm;
return datetime;
}
console.log(getdatetime());
$('.crlchat').click(function() {
removeNodes();
});
// Online Users
var listRef = firebase.database().ref("/presence" + chatID);
var userRef = listRef.push();
// Add ourselves to presence list when online.
var presenceRef = firebase.database().ref("/.info/connected");
presenceRef.on("value", function(snap) {
if (snap.val()) {
// Remove ourselves when we disconnect.
userRef.onDisconnect().remove();
userRef.set(true);
}
});
// Number of online users is the number of objects in the presence list.
listRef.on("value", function(snap) {
$('.onlineusr').html("Live: " + snap.numChildren());
});
});
</script>
</body>
</html>