File: /home/bibuzptr/tvetelearning.bibu-edu.us/current elearning/admin/student-progress.php
<?php
ob_start();
session_start();
include_once('../includes/db_connect.php');
include_once("app/updateimage.php");
$today = date('Y-m-d');
$now = date('Y-m-d H:i:s');
$year = date("Y");
if(isset($_SESSION["OpenUni^###DHSG"])){
$email = $_SESSION["OpenUni^###DHSG"];
$chkuser = mysqli_query($con,"SELECT * FROM admins WHERE admin_email='$email'");
while($row = mysqli_fetch_assoc($chkuser)){
$id = $row["id"];
$name = $row["admin_name"];
}
$studentid=$_GET["student"];
$courseid=$_GET["course"];
$studentdetails=mysqli_fetch_assoc(mysqli_query($con,"SELECT * FROM students WHERE id='$studentid'"));
$coursedetails=mysqli_fetch_assoc(mysqli_query($con,"SELECT * FROM courses WHERE id='$courseid'"));
}
else{
header("Location:../adminlogin.php");
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0">
<title>Enrollments | Breakthrough Open University</title>
<link rel="shortcut icon" type="image/x-icon" href="../assets/img/logo.png">
<link rel="stylesheet" href="../assets/css/bootstrap.min.css">
<link rel="stylesheet" href="../assets/css/bp.min.css">
<link rel="stylesheet" href="../assets/plugins/fontawesome/css/fontawesome.min.css">
<link rel="stylesheet" href="../assets/plugins/fontawesome/css/all.min.css">
<link rel="stylesheet" href="../assets/css/feather.css">
<link rel="stylesheet" href="../assets/css/style.css">
<link rel="stylesheet" href="../assets/css/dashboard2.css">
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.3/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.3/css/jquery.dataTables.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.ckeditor.com/4.14.0/standard/ckeditor.js"></script>
<style>
#enrl{
background: #102044;
border-left: 6px solid #06bf1c;
color: #fff;
}
#courmodal #login{
width: 90%;
margin: 10px;
display: block;
}
#courmodal h2{
text-align: left;
}
#edtenrollmentmodal #login{
width: 90%;
margin: 10px;
display: block;
}
#edtenrollmentmodal h2{
text-align: left;
}
.menu{
background: #fff;
margin-top: -20px;
margin-bottom: 5px;
padding: 10px 0px 10px 20px;
border-bottom: 1px solid #ddd;
}
.menu .item{
background: #1e8c70;
font-size: 13px;
color: #fff;
padding: 5px 10px 5px 10px;
cursor: pointer;
}
</style>
</head>
<body>
<div class="main-wrapper">
<?php include_once("../includes/header-enrollments.php") ?>
<div class="page-content">
<div class="container1" style='margin-left:2%; margin-right:2%'>
<div class="row">
<div class="col-xl-3 col-lg-4 col-md-12 theiaStickySidebar">
<?php include_once("includes/aside.php") ?>
</div>
<div class="col-xl-9 col-lg-8 col-md-12">
<div class="row">
<div class="col-md-12">
<div class="settings-widget">
<div class="settings-inner-blk p-0">
<div class="sell-enrollment-head comman-space">
<div class="row">
<div class="col-md-12">
<div class="filter-grp ticket-grp d-flex align-items-center justify-content-between">
<h3><?php echo $studentdetails["name"] ?></h3>
<h3><?php echo $coursedetails["title"] ?></h3>
</div>
</div>
</div>
</div>
<div class="comman-space pb-0">
<div class="settings-tickets-blk enrollment-instruct-blk table-responsive">
<div class="panel with-nav-tabs panel-default">
<div class="panel-heading">
<ul class="nav nav-tabs">
<li class="active"><a href="#tab1" data-toggle="tab"><i class="fa fa-spinner"></i> Learning Progress</a></li>
<li><a href="#tab2" data-toggle="tab"><i class="fa fa-books"></i> Assignments Uploaded</a></li>
<li><a href="#tab3" data-toggle="tab"><i class="fa fa-star"></i> Grades</a></li>
</ul>
</div>
<div class="panel-body">
<div class="tab-content">
<div class="tab-pane fade in active" id="tab1">
<div class="table-responsive row">
<table id="dataTable" class="table table-nowrap mb-0 table-striped">
<thead>
<tr>
<th>Unit Title</th>
<th>Lessons</th>
<th>Period</th>
<th>Progress</th>
</tr>
</thead>
<tbody>
<?php
$listcat=mysqli_query($con,"SELECT * FROM units WHERE courseid='$courseid' ORDER BY id ASC");
while($lc=mysqli_fetch_assoc($listcat)){
$unitid=$lc["id"];
?>
<td>
<a style="display:none" target="_blank" href="../course-details/<?php echo $coursedet["url"];?>"><?php echo $lc['unittitle'] ?></a>
<h6 class="cou-title">
<a class="collapsed" data-bs-toggle="collapse" href="#collapse<?php echo $unitid ?>" aria-expanded="false"><?php echo $lc['unittitle'] ?></a>
</h6>
<div id="collapse<?php echo $unitid ?>" class="card-collapse collapse" style>
<ul>
<?php
$lesson=mysqli_query($con,"SELECT * FROM lessons WHERE unitid='$unitid'");
while($lsn=mysqli_fetch_assoc($lesson)){
$lessonid=$lsn["id"];
$existing=mysqli_num_rows(mysqli_query($con,"SELECT * FROM learningprogress WHERE lessonid='$lessonid' AND studentid='$studentid'"));
?>
<li>
<p>
<?php echo $lsn["lessontitle"] ?>
<?php if($existing>0){ ?>
<i style="color:green" class="fa fa-check"></i>
<?php }else{ ?>
<i style="color:orange" class="fa fa-spinner"></i>
<?php } ?>
</p>
</li>
<?php } ?>
</ul>
</div>
</td>
<td><?php echo mysqli_num_rows(mysqli_query($con,"SELECT * FROM lessons WHERE unitid='$unitid'")) ?> Lessons</td>
<td><?php echo $lc['hours'] ?></td>
<td>
<?php
$lessonsdone=mysqli_fetch_assoc(mysqli_query($con,"SELECT COUNT(*) as theprogress FROM learningprogress WHERE studentid='$studentid' AND unitid='$unitid'"))["theprogress"];
$listlessons=mysqli_query($con,"SELECT * FROM lessons WHERE unitid='$unitid'");
$nooflessons=mysqli_num_rows($listlessons);
$percentdone=number_format($lessonsdone/$nooflessons*100,2);
?>
<div class="progress-stip">
<div class="progress-bar bg-success progress-bar-striped active-stip1" role="progressbar" aria-valuenow="<?php echo $percentdone ?>"
aria-valuemin="0" aria-valuemax="100" style="width:<?php echo $percentdone ?>%"></div><?php echo $percentdone ?>%
</div>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
<div class="tab-pane fade" id="tab2">
<div class="table-responsive row">
</div>
</div>
<div class="tab-pane fade" id="tab3">
<div class="table-responsive row">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="courmodal" class="courmodal modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4><i class="fa fa-list-alt"></i> <span id="addenrollment">Add Program</span></h4>
</div>
<div class="add-enrollment-form">
<form method="post" role="form" id="courfrm" enctype="multipart/form-data">
<div class="add-enrollment-inner-header">
<h4>Basic Information</h4>
</div>
<div class="input-block">
<label class="add-enrollment-label">Program Title</label>
<input type="hidden" name="id" id="id">
<input type="text" class="form-control" placeholder="Program Title" name="title" id="title" required>
</div>
<div class="input-block">
<label class="add-enrollment-label">Programs Category</label>
<select class="form-control select" name="category" id="category">
<?php
$listcat=mysqli_query($con,"SELECT * FROM categories ORDER BY name ASC");
while($lc=mysqli_fetch_assoc($listcat)){
?>
<option value="<?php echo $lc['id'] ?>"><?php echo $lc['name'] ?></option>
<?php } ?>
</select>
</div>
<div class="input-block">
<label class="add-enrollment-label">Programs Type</label>
<select class="form-control select" name="type" id="type">
<option value="Degree">Degree</option>
<option value="Diploma">Diploma</option>
<option value="Masters">Masters</option>
<option value="Short enrollment">Short enrollment</option>
</select>
</div>
<div class="input-block mb-0">
<label class="add-enrollment-label">Short Description</label>
<textarea type="text" class="form-control" name="shortdescription" id="shortdescription" required></textarea>
</div>
<div class="input-block mb-0">
<label class="add-enrollment-label">Program Description</label>
<textarea type="text" class="form-control" name="description" id="description" required></textarea>
<script>
$(function(){
var $ckfield = CKEDITOR.replace( 'description' );
$ckfield.on('change', function() {
$ckfield.updateElement();
});
});
</script>
</div>
<div id="img11" class="add-enrollment-inner-header">
<h4>Programs Media</h4>
</div>
<div id="img" class="input-block">
<label class="add-enrollment-label">Program thumbnail image</label>
<input type="file" class="form-control" name="enrollmentimage">
</div>
<div id="img1" class="input-block">
<label class="add-enrollment-label">Program cover image</label>
<input type="file" class="form-control" name="enrollmentimage1">
</div>
<div class="add-enrollment-inner-header">
<h4>Program Requirements</h4>
</div>
<div class="input-block mb-0">
<label class="add-enrollment-label">Price (Ksh)</label>
<input type="number" class="form-control" placeholder="input 0 if free" name="price" id="price" required>
</div>
<div class="input-block mb-0">
<label class="add-enrollment-label">Program Hours</label>
<input type="text" class="form-control" placeholder="eg 10 hours" name="hours" id="hours" required>
</div>
<div class="input-block input-block-tagsinput">
<label class="add-enrollment-label">Requirements</label>
<textarea type="text" data-role="tagsinput" class="input-tags form-control" name="prereq" id="prereq"></textarea>
<script>
$(function(){
var $ckfield = CKEDITOR.replace( 'prereq' );
$ckfield.on('change', function() {
$ckfield.updateElement();
});
});
</script>
</div>
<div class="input-block input-block-tagsinput">
<label class="add-enrollment-label">What will be learnt / Summary</label>
<textarea type="text" data-role="tagsinput" class="input-tags form-control" name="tolearn" id="tolearn"></textarea>
<script>
$(function(){
var $ckfield = CKEDITOR.replace( 'tolearn' );
$ckfield.on('change', function() {
$ckfield.updateElement();
});
});
</script>
</div>
<button type="submit" class="btn btn-success btn-lg"><i class="fa fa-save"> </i>Save</button>
<p id="status11"></p>
</form>
</div>
</div>
</div>
</div>
<!-- upload product image -->
<div id="uploadimage" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title"><i class="fa fa-plus"> </i>Update Image</h4>
</div>
<div class="col-md-12">
<form method="post" enctype="multipart/form-data">
<div class="modal-body">
<label>Main Image</label>
<input type="hidden" name="pproductid" id="pproductid">
<input type="file" name="fileToUpload" id="fileToUpload" accept="image/*" required="required" placeholder="" class="form-control"><br>
<button class="btn btn-success" name="update_image" type="submit"><i class="fa fa-upload"> </i>upload</button>
</div>
</form>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
<?php include_once("../includes/footer-enrollment.php") ?>
<script>
$('#dataTable').DataTable({"aaSorting" : []});
$("#courfrm").submit(function(e){
e.preventDefault();
$("#status11").html("<p class=' bg-success'><i class='fa fa-spinner fa-pulse'></i> Saving the enrollment...</p>");
$.ajax({
method: "POST",
url: "app/enrollments",
data: new FormData(this),
contentType: false,
processData: false,
cache:false
}).done(function(data){
if(data.status == "200"){
$("#status11").html("<p class=' bg-success'><i class='fa fa-check'></i> enrollment saved successfully.</p>");
window.location.replace("enrollments");
}
if(data.message == "ERROR"){
$("#status11").html("<p class=' bg-danger'><i class='fa fa-exclamation-circle'></i> An error occured, please try again later.</p>");
}
});
});
//upload image
$('#dataTable').on('click', '.imagebutton', function(){
//$(".imagebutton").click(function () {
var enrollmentid=$(this).attr("id");
$('#pproductid').val(enrollmentid);
$('#uploadimage').modal('show');
});
$("#edtenrollmentfrm").submit(function(e){
e.preventDefault();
var enrollmentid = $("#eenrollmentid").val();
var enrollmentname = $("#eenrollmentname").val();
var enrollmentamount = $("#eenrollmentcharge").val();
var nst,est;
nst=est="No";
if((enrollmentname != "")&&(enrollmentamount != "")){
if (/^[a-zA-Z\s\'\.]*$/gi.test(enrollmentname)){
if (/^[0-9\s\+]*$/gi.test(enrollmentamount)){
$("#status112").html("<p class=' bg-success'><i class='fa fa-spinner fa-pulse'></i> Saving the enrollment...</p>");
$.ajax({
method: "POST",
url: "app/enrollments",
data: {enrollmentid:enrollmentid,enrollmentname:enrollmentname,enrollmentamount:enrollmentamount},
cache:false
}).done(function(data){
if(data.status == "200"){
$("#status112").html("<p class=' bg-success'><i class='fa fa-check'></i> enrollment saved successfully.</p>");
window.location.replace("enrollments");
}
if(data.message == "ERROR"){
$("#status112").html("<p class=' bg-danger'><i class='fa fa-exclamation-circle'></i> An error occured, please try again later.</p>");
}
});
}
else{
$("#status11").html("<p class=' bg-danger'><i class='fa fa-exclamation-circle'></i> Please use a valid amount.</p>");
}
}
else{
$("#status11").html("<p class=' bg-danger'><i class='fa fa-exclamation-circle'></i> Invalid name, use only alphabets.</p>");
}
}
else{
$("#status11").html("<p class=' bg-danger'><i class='fa fa-exclamation-circle'></i> Please fill in all fields.</p>");
}
});
//Activate a enrollment
$(".activate").click(function(){
var enrollmentid = $(this).attr("id");
var d = confirm('Are you sure you want to activate this enrollment?');
if(d == false){
return false;
}
else{
$.ajax({
method:"post",
url:"app/activate-enrollment",
data:{enrollmentid:enrollmentid},
cache:false
}).done(function(data){
if(data.status == "200"){
alert("enrollment activated successfully");
window.location.replace("enrollments");
}else{
alert("error activating enrollment");
}
});
}
});
//DeActivate a enrollment
$(".deactivate").click(function(){
var enrollmentid2 = $(this).attr("id");
var d = confirm('Are you sure you want to deactivate this enrollment?');
if(d == false){
return false;
}
else{
$.ajax({
method:"post",
url:"app/activate-enrollment",
data:{enrollmentid2:enrollmentid2},
cache:false
}).done(function(data){
if(data.status == "200"){
alert("enrollment deactivated successfully");
window.location.replace("enrollments");
}else{
alert("error deactivating enrollment");
}
});
}
});
//Delete a enrollment
$(".delenrollment").click(function(){
var enrollmentid3 = $(this).attr("id");
var d = confirm('Are you sure you want to delete this enrollment?');
if(d == false){
return false;
}
else{
$.ajax({
method:"post",
url:"app/activate-enrollment",
data:{enrollmentid3:enrollmentid3},
cache:false
}).done(function(data){
if(data.status == "200"){
alert("enrollment deleted successfully");
window.location.replace("enrollments");
}else{
alert("error deleting enrollment");
}
});
}
});
//edit enrollment
$(".edtenrollment").click(function(){
$("#id").val($(this).attr("id"));
$("#title").val($(this).attr("data-title"));
$("#category").val($(this).attr("data-category"));
$("#type").val($(this).attr("data-type"));
$("#shortdescription").val($(this).attr("data-shortdescription"));
// $("#description").val($(this).attr("data-description"));
CKEDITOR.instances['description'].setData($(this).attr("data-description"));
$("#price").val($(this).attr("data-price"));
//$("#prereq").val($(this).attr("data-prereq"));
CKEDITOR.instances['prereq'].setData($(this).attr("data-prereq"));
$("#hours").val($(this).attr("data-hours"));
//$("#tolearn").val($(this).attr("data-tolearn"));
CKEDITOR.instances['tolearn'].setData($(this).attr("data-tolearn"));
$("#addenrollment").html("Edit Program")
$("#img").hide()
$("#img1").hide()
$("#img11").hide()
$('.courmodal').modal('show');
});
</script>
</div>
</html>