<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

session_start();
require_once("config.php");
if (!isset($_SESSION["adminuser".$l1])){
	header("location:adminlogin.php");
}

$db = new PDO(
      "mysql:host=".USER_DB_HOST.";dbname=".USER_DB_NAME.";charset=".USER_DB_CHARSET,
      USER_DB_USER, USER_DB_PASSWORD, [
      PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
      PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
    ]);

$st = $db->prepare("
    SELECT 
        u.user_id, 
        u.user_name,
        u.user_email,
        u.user_creation,
        u.user_logins,
        u.user_status,
        COUNT(e.id) AS project_count
    FROM 
        users u
    LEFT JOIN 
        projects e ON u.user_id = e.user_id
    GROUP BY 
        u.user_id,
        u.user_name,
        u.user_email,
        u.user_creation,
        u.user_logins,
        u.user_status
");
$st = $db->prepare("
    SELECT 
        users.user_id,
        users.user_name,
        users.user_email,
        users.user_creation,
        users.user_logins,
        users.user_status,
        COUNT(projects.user_id) as project_count
    FROM users
    LEFT JOIN projects ON users.user_id = projects.user_id
    GROUP BY users.user_id
");

$st->execute();
$user=[];
$results = $st->fetchAll();
$tableout="";

foreach ($results as $key => $value) {

    $human_readable_date = $value['user_creation'];
	if ($results[$key]['user_status']=="1") {
		$status="OK";
		$action = '<button type="button" class="btn btn-primary btn-sm btn-danger" onclick="ban('.$results[$key]['user_id'].',0);"><i class="fas fa-user-times"></i> Ban</button>';
	} else {
		$status="Banned";
		$action = '<button type="button" class="btn btn-primary btn-sm btn-success" onclick="ban('.$results[$key]['user_id'].',1);"><i class="fas fa-user-check"></i> Unban</button>';
	}

	
	$tableout.="<tr id='rowid".$results[$key]['user_id']."'><td>".$value["user_id"]."</td><td>".$value["user_name"]."</td><td>".$value["user_email"]."</td><td>".$human_readable_date."</td><td>".$value["user_logins"]."</td><td>".$value["project_count"]."</td><td>".$status."</td><td >".$action."</td></tr>";
	
}

$url="https://eslcore.com/l/ver.php?ver=".base64_encode($version)."&k=".$l1;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$ret = curl_exec($ch);
curl_close($ch);
$ret=base64_decode($ret);
$versionmessage="";
if ($ret!="OK"){
	$versionmessage='<div class="row topgap"><div class="col-12"><div class="alert alert-warning">'.$ret.'</div></div></div>';
}


?>
<!DOCTYPE html>
<html lang="en">

<head>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
    <meta name="author" content="">

    <title><?php echo $sitename; ?></title>

    <!-- Custom fonts for this template -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css" integrity="sha512-q3eWabyZPc1XTCmF+8/LuE1ozpg5xxn7iO89yfSOd5/oKvyqLngoNGsx8jq92Y8eXJ/IRxQbEC+FGSYxtk2oiw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
    <link
        href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
        rel="stylesheet">

    <!-- Custom styles for this template -->
    <link href="libs/sbadmin2/css/sb-admin-2.min.css" rel="stylesheet">

    <!-- Custom styles for this page -->
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/datatables/1.10.21/css/dataTables.bootstrap4.min.css" integrity="sha512-PT0RvABaDhDQugEbpNMwgYBCnGCiTZMh9yOzUsJHDgl/dMhD9yjHAwoumnUk3JydV3QTcIkNDuN40CJxik5+WQ==" crossorigin=	"anonymous" referrerpolicy="no-referrer" />

</head>

<body id="page-top">

    <!-- Page Wrapper -->
    <div id="wrapper">

       <?php require_once("admin_menu_sidenav.php"); ?>
        <!-- Content Wrapper -->
        <div id="content-wrapper" class="d-flex flex-column">

            <!-- Main Content -->
            <div id="content">

                

                <!-- Begin Page Content -->
                <div class="container-fluid" style="margin-top:50px;"	>

                    <!-- Page Heading -->
                    <h1 class="h3 mb-2 text-gray-800">Users</h1>
                    <p class="mb-4">You can manage your users here.</p>

                    
                    <div class="card shadow mb-4">
                        <div class="card-header py-3">
                            <h6 class="m-0 font-weight-bold text-primary">Your Users</h6>
                        </div>
                        <div class="card-body">
						<?php echo $versionmessage; ?>
                            <div class="table-responsive">
                                <table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
                                    <thead>
                                        <tr>
                                            <th>ID</th>
                                            <th>Name</th>
                                            <th>Email</th>
                                            <th>Created</th>
                                            <th># Logins</th>
                                            <th># Projects</th>
                                            <th>Status</th>
                                            <th>Action</th>
                                        </tr>
                                    </thead>
                                    <tfoot>
                                        <tr>
                                            <th>ID</th>
                                            <th>Name</th>
                                            <th>Email</th>
                                            <th>Created</th>
                                            <th># Logins</th>
                                            <th># Projects</th>
                                            <th>Status</th>
                                            <th>Action</th>
                                        </tr>
                                    </tfoot>
                                    <tbody>
                                          
										
										<?php echo $tableout; ?>
									                                        
                                            
                                        
                                    </tbody>
                                </table>
                            </div>
                        </div>
                    </div>

                </div>
                <!-- /.container-fluid -->

            </div>
            <!-- End of Main Content -->

            <!-- Footer -->
            <footer class="sticky-footer bg-white">
                <div class="container my-auto">
                    <div class="copyright text-center my-auto">
                        <?php echo $footer; ?>
                    </div>
                </div>
            </footer>
            <!-- End of Footer -->

        </div>
        <!-- End of Content Wrapper -->

    </div>
    <!-- End of Page Wrapper -->

    <!-- Scroll to Top Button-->
    <a class="scroll-to-top rounded" href="#page-top">
        <i class="fas fa-angle-up"></i>
    </a>

    <!-- Logout Modal-->
    <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="logoutLabel"
        aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="logoutLabel">Ready to Leave?</h5>
                    <button class="close" type="button" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">×</span>
                    </button>
                </div>
                <div class="modal-body">Select "Logout" below if you are ready to end your current session.</div>
                <div class="modal-footer">
                    <button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button>
                    <a class="btn btn-primary" href="adminlogout.php">Logout</a>
                </div>
            </div>
        </div>
    </div>



	<div class="toast bg-gray-200" role="alert" aria-live="assertive" aria-atomic="true" data-delay="5000" style="position: absolute; top: 1rem; right: 1rem;" id="banToast">
	  <div class="toast-header bg-gray-400">
		<strong class="mr-auto"><span id="banToastHeader"></span></strong>

		<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
		  <span aria-hidden="true">&times;</span>
		</button>
	  </div>
	  <div class="toast-body">
		<span id="banToastBody"></span>
	 </div>
	</div>

    <!-- Bootstrap core JavaScript-->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/4.6.2/js/bootstrap.min.js" integrity="sha512-7rusk8kGPFynZWu26OKbTeI+QPoYchtxsmPeBqkHIEXJxeun4yJ4ISYe7C6sz9wdxeE1Gk3VxsIWgCZTc+vX3g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
    <!-- Core plugin JavaScript-->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js" integrity="sha512-0QbL0ph8Tc8g5bLhfVzSqxe9GERORsKhIn1IrpxDAgUsbBGz/V7iSav2zzW325XGd1OMLdL4UiqRJj702IeqnQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

    <!-- Custom scripts for all pages-->
    <script src="libs/sbadmin2/js/sb-admin-2.min.js"></script>

		<!-- Page level plugins -->
		<script src="https://cdnjs.cloudflare.com/ajax/libs/datatables/1.10.21/js/jquery.dataTables.min.js" integrity="sha512-BkpSL20WETFylMrcirBahHfSnY++H2O1W+UnEEO4yNIl+jI2+zowyoGJpbtk6bx97fBXf++WJHSSK2MV4ghPcg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
		<script src="https://cdnjs.cloudflare.com/ajax/libs/datatables/1.10.21/js/dataTables.bootstrap4.min.js" integrity="sha512-OQlawZneA7zzfI6B1n1tjUuo3C5mtYuAWpQdg+iI9mkDoo7iFzTqnQHf+K5ThOWNJ9AbXL4+ZDwH7ykySPQc+A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

<script>
$(document).ready(function() {
	$('#dataTable').DataTable();
});

$('#adminLogout').click(function(){
	$('#logoutModal').modal('show');

});

function ban(id,banmode) {
	var userTable = $('#dataTable').DataTable();
	var rowId = userTable.row('[id=rowid'+id+']').index();
	if (banmode==0) { 
		userTable.cell({row:rowId, column: 5}).data("Banned").draw(false);
		userTable.cell({row:rowId, column: 6}).data('<button type="button" class="btn btn-sm btn-success" onclick="ban('+id+',1);"><i class="fas fa-user-check"></i> Unban</button>').draw(false);
		$('#banToastHeader').text('Ban User');
		$('#banToastBody').text('This User Has Been Banned!');
		$('#banToast').toast('show');
	} else {
		userTable.cell({row:rowId, column: 5}).data("OK").draw(false);
		userTable.cell({row:rowId, column: 6}).data('<button type="button" class="btn btn-sm btn-danger" onclick="ban('+id+',0);"><i class="fas fa-user-times"></i> Ban</button>').draw(false);
		$('#banToastHeader').text('Unban User');
		$('#banToastBody').text('This User Has Been Un-Banned!');
		$('#banToast').toast('show');
	}
	$.ajax({
		url: "AJAX_admin_ban.php",
		data: {id:parseInt(id),banmode:parseInt(banmode)},
		type: 'POST',
		success: function (response) {
			
		}
	});	
}	
</script>

</body>

</html>