File "e_salari.php"

Full path: /home/atrmarke/public_html/atrdemolive.site/bshop/log/e_salari.php
File size: 0.02 KB (16.82 KB bytes)
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php
include("../db/cn.php");
ob_start();
if (isset($_SESSION['user_name']) && isset($_SESSION['user_role']) && isset($_SESSION['outlet_name']) && isset($_SESSION['outlet_address'])) {
    $userName = $_SESSION['user_name'];
    $userRole = $_SESSION['user_role'];
    $outlet_address = $_SESSION['outlet_address'];
    $outlet_name = $_SESSION['outlet_name'];
} else {
    // Handle the case where session variables are not set
    // Redirect to a login page or show an error
    echo '<script type="text/javascript">window.location.href="logout.php";</script>';
   // header("Location: login.php");
    exit();
}



if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["submit2"])) {
    // Retrieve and sanitize input values
    $emp_name = $_POST["emp_name"];
    $emp_id = $_POST["emp_id"];
    $emp_salari = $_POST["emp_salari"];
    $emp_phone = $_POST["emp_phone"];
    $j_date = $_POST["j_date"];
    $date_time = date("Y-m-d");

    // Use prepared statements to prevent SQL injection
    $stmt = $connection->prepare("INSERT INTO e_salary (emp_id, emp_name, emp_salari, emp_phone, j_date, date_time) VALUES (?, ?, ?, ?, ?, ?)");
    $stmt->bind_param("ssssss", $emp_id, $emp_name, $emp_salari, $emp_phone, $j_date, $date_time);

    // Execute the prepared statement
    if ($stmt->execute()) {
        // Success, redirect or inform the user
        echo '<script type="text/javascript">window.location.href="e_salari.php";</script>';
        exit();
    } else {
        // Error handling
        echo "Error: " . $stmt->error;
    }

    // Close the statement
    $stmt->close();
}
ob_end_flush();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Salay Management</title>
    <!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<link rel="stylesheet" href="css/custom_css.css" />
</head>

<style>
 #supplier-container-wrapper {
    max-height: 700px; /* Adjust the maximum height as needed */
    overflow-y: auto; /* Enable vertical scroll when content overflows */
}

@media (max-width: 880px) {
    .col-4 {
        width: 33.33% !important;
    }
    .fa-wifi {
        display: none !important;
    }
    .col-6 {
        width: 50% !important;
    }
}

@media (min-width: 880px) {
    .sidebar {
        width: 100%;
        /* Change sidebar width to 100% on mobile */
        max-width: 120px; /* Set maximum width for the sidebar */
    }
}

@media (min-width: 880px) {
    .main-content {
        margin-left: ; /* Width of the sidebar */
    }
}

/* Added new class to control overlay */
.overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 999;
    display: none; /* Initially hidden */
}
    /* Custom styles for sidebar */
    .sidebar {
        width: 100px;
        background: linear-gradient(360deg, #060606, #3C2F23);
        position: fixed;
        bottom: 0;
        top: 60px;
        transition: transform 0.3s ease-in-out;
        transform: translateX(0);
        z-index: 1;
        height: 100%;
        border-radius: 0px;
		   transition: transform 0.3s ease-in-out, width 0.3s ease-in-out;
    }

    .sidebar.hide {
        transform: translateX(-100px);
        /* Move sidebar out of the viewport when it is hidden */
    }

    .sidebar .nav-item {
        padding: 10px 0;
        text-align: center;
        position: relative;
        font-size: 12px;
    }

    .sidebar .nav-link {
        color: #fff;
        position: relative;
        /* Ensure icon and text are positioned relative to the nav link */
        z-index: 2;
        /* Ensure the text and icon are above the hover background */
    }

    .sidebar .nav-link i {
        margin-bottom: 5px;
        /* Adjust the margin of the icon */
    }

    /* Custom styles for hover effect */
    .sidebar .nav-item:hover:after {
        background-color: #fff;
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        /* Ensure the hover background is below the text and icon */
    }

    .sidebar .nav-item:hover .nav-link {
        color: #503F2E;
    }

    /* Custom styles for divider */
    .sidebar .nav-item:after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 1px;
        background-color: #fff;
        transition: height 0.3s ease-in-out;
        /* Transition effect for smooth animation */
    }

    /* Custom styles for header */
    .header {
        background: linear-gradient(90deg, #3C2F23, #060606);
        color: #fff;
        padding: 10px;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 2;
        height: 69px;
        box-shadow: #FFF 2px 0px 0px 0px;
        /* Ensure header appears above sidebar */
    }

    .header .navbar-toggler {
        color: #fff;
    }

    .header .navbar-toggler-icon {
        color: #fff;
        /* Set the color of the toggle button to white */
    }

    .header .navbar-toggler.white {
        color: #fff !important;
        /* Ensure the toggle button is white */
    }

    .header .navbar-brand {
        color: #fff;
        /* Set navbar brand text color to white */
    }

    .header .nav-item .nav-link {
        color: #fff;
        /* Set nav link text color to white */
    }

.main-content {
    margin-top: 50px; /* Height of fixed header */
    margin-left: 100px; /* Initially, set margin-left to 0 */
    padding-top: 30px; /* Height of fixed header */
    transition: margin-left 0.3s ease-in-out; /* Add transition for smoother animation */
}


    /* Custom styles for search bar */
    .search-container {
        display: flex;
        align-items: center;
       width:100%;
        margin: 2px auto;
        float:left;
	}

/* Updated hide class to apply to the overlay */
.sidebar.hide, .overlay.hide {
    transform: translateX(-100%);
}

    .search-input {
        width: 100%;
        padding: 10px 30px 10px 10px;
        /* Adjust padding to accommodate the icon */
        border: 1px solid #ccc;
        border-radius: 20px;
        font-size: 16px;
    }

    .search-icon {
        position: relative;
        left: -25px;
        /* Adjust the position of the icon */
        color: #aaa;
    }

    .search-icon i {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }

    .btn-dark {
        background: #503F2E;
        color: #fff;
        border: 1px solid #503F2E;
    }

    .btn-dark:hover {
        background: #fff;
        color: #503F2E;
        border: 1px solid #503F2E;
    }

    .bg-dark2 {
        background: #503F2E;
        color: #fff;
    }

    .modal-content {
        animation: modal-animation 0.5s;
    }

    @keyframes modal-animation {
        from {
            opacity: 0;
            transform: scale(0.8);
        }

        to {
            opacity: 1;
            transform: scale(1);
        }
    }
		label{font-size:12px; font-weight:600;}
</style>

<body>
<?php
ob_start();
 include("common/hd.php");
 
    $remain = mysqli_query($connection,"select SUM(closing) AS total_remain FROM salari_close ");
	$fetch_remain = mysqli_fetch_array($remain);
	$remain_sum = $fetch_remain["total_remain"];
 
 ?>
<?php
ob_start();
 include("common/hd.php");?>
<!-- Sidebar -->
<?php include("common/sd.php"); ?>
<div class="main-content">
<br />
<div class="container">
<div class="row ">
<div class="col-sm-7" id="table-container-wrapper">
<h3 style="color:#212529;">Salary Management</h3>
<br>
 
</div>
<div class="col-sm-2"></div>
<div class="col-sm-3" style="background:#503F2E;color:#fff; padding:10px; border-radius:20px;">
 <center><p style="font-weight:600px; font-size:18px;">Total Salary Payable Rs <?php  echo number_format(round(@$remain_sum, 2), 2);  ?></p></center>
                </div>
</div>

</div>

<div class="container" style="margin-top:">
      <div class="row">
        <div class="col-sm-8" style="" >
            <div class="row text-center">
                 <!-- Search container -->
                 <input type="text" id="searchInput" class="form-control" placeholder="Search...">


<table class="table text-center table-hover table-sm text-center" style="margin-top:25px;">
    <thead style="background:#212529; color: white; font-size:14px;">
        <tr>
            <th>Sr#</th>
            <th>ID</th>
            <th>Name</th>
            <th>Cell#</th>
            <th>Joining Date</th>
            <th>Closing</th> <!-- New column for closing -->
            <th>Detail</th>
        </tr>
    </thead>
    <tbody id="supplierTableBody">
        <?php   
        $sr_no = 1;
        // Modify the query with collation to ensure case-insensitive comparison for emp_name
         $rec = mysqli_query($connection, "SELECT e_salary.id, e_salary.emp_name, e_salary.emp_phone, e_salary.j_date, e_salary.emp_id, 
                                          salari_close.closing 
                                          FROM e_salary 
                                          LEFT JOIN salari_close 
                                          ON e_salary.emp_name COLLATE utf8mb4_general_ci = salari_close.emp_name COLLATE utf8mb4_general_ci");

        // Check if the query returned rows
        if (!$rec) {
            echo "Query error: " . mysqli_error($connection); // Debugging query errors
        } else {
            // Fetch and display the data
            while($row = mysqli_fetch_array($rec)){		   
        ?>
        <tr>
            <td><?php echo $sr_no++; ?></td>
            <td><?php echo $row["emp_id"]; ?></td>
            <td style="font-weight:700;"><?php echo $row["emp_name"]; ?></td>
            <td class="text-uppercase"><?php echo $row["emp_phone"]; ?></td>
            <td class="text-uppercase"><?php echo $row["j_date"]; ?></td>
            <td class="text-uppercase">
                <?php echo ($row["closing"] !== null) ? $row["closing"] : 'N/A'; ?> <!-- Handle NULL closing -->
            </td>
            <td>
                <a href="salari_detail.php?emp_name=<?php echo $row['emp_name']; ?>">
                    <button class="btn btn-dark btn-sm">
                        <i class="fas fa-clipboard-check fa-1x"></i>
                    </button>
                </a>
            </td>
        </tr>
        <?php  
            } 
        }
        ?>
    </tbody>
</table>

         

                </div>
        </div>
        <div class="col-sm-1"></div>
        <div class="col-sm-3" > 
         <button type="button" class="btn btn-dark form-control" data-toggle="modal" data-target="#addPurchaseModal" style="margin-top:14px;">
              Add Employee
            </button>

        </div>
        
        <div class="modal fade" id="addPurchaseModal" tabindex="-1" role="dialog" 
            aria-labelledby="addPurchaseModalLabel" aria-hidden="true" style="margin-top:80px;">
                <div class="modal-dialog" role="document">
                    <div class="modal-content">
                        <div class="modal-header">
                            <h5 class="modal-title text-capitalize" id="addPurchaseModalLabel">Add Employee</h5>
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                <span aria-hidden="true">&times;</span>
                            </button>
                        </div>
                        <div class="modal-body">
                            <!-- Form for adding purchase -->
                            <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
                           <div class="form-group">
                             <label>Employee ID</label>
                                <input type="text" name="emp_id"  class="form-control" value="<?php
			  $pr_id2 = str_pad(rand(0, 9999), 4, '0', STR_PAD_LEFT);
			   echo $pr_id2; ?>" readonly>
                                </div>
                           <div class="form-group">
                             <label>Employee Name</label>
                                <input type="text" name="emp_name"  class="form-control" />
                                </div>
                                <div class="form-group">
                                <label>Salary Amount</label>
                                <input type="text" name="emp_salari"  class="form-control" />
                                </div>
                                <div class="form-group">
                                <label>Phone</label>
                                <input type="text" name="emp_phone"  class="form-control" />
                                </div>
                                <div class="form-group">
                                <label>Joining Date</label>
                                <input type="date" name="j_date"  class="form-control" />
                                </div>
                                
                                                           
                                <button type="submit" name="submit2" class="btn btn-dark">Enter</button>
                            </form>
                        </div>
                    </div>
                </div>
            </div>    
       </div>
    </div>
 
 

</div>    
</body>


<script>
document.addEventListener("DOMContentLoaded", function() {
    var searchInput = document.getElementById('searchInput');
    var rows = document.querySelectorAll("#supplierTableBody tr");

    searchInput.addEventListener("keyup", function(event) {
        var term = event.target.value.toLowerCase();
        rows.forEach(function(row) {
            var cells = row.getElementsByTagName("td");
            var found = false;
            Array.from(cells).forEach(function(cell) {
                if (cell.textContent.toLowerCase().indexOf(term) > -1) {
                    found = true;
                }
            });
            if (found) {
                row.style.display = "";
            } else {
                row.style.display = "none";
            }
        });
    });
});

document.addEventListener("DOMContentLoaded", function () {
    var sidebar = document.getElementById("sidebar");
    var overlay = document.createElement("div");
    overlay.classList.add("overlay");
    document.body.appendChild(overlay);

    function toggleSidebar() {
        sidebar.classList.toggle("hide");
        overlay.classList.toggle("hide");

        var mainContent = document.querySelector(".main-content");
        if (sidebar.classList.contains("hide")) {
            mainContent.style.marginLeft = "0";
        } else {
            mainContent.style.marginLeft = "100px"; // Width of the sidebar
        }
    }

    overlay.addEventListener("click", function () {
        toggleSidebar();
    });

    // Add toggle functionality to navbar toggler
    var navbarToggler = document.querySelector(".navbar-toggler");
    navbarToggler.addEventListener("click", function () {
        toggleSidebar();
    });

    // Automatically hide sidebar on all screen sizes
    // sidebar.classList.add("hide");
    // overlay.classList.add("hide");
    
    // Add class to body to prevent scrolling when sidebar is open
    // document.body.classList.add("noscroll");

    // Check if screen size is larger than a certain threshold (e.g., 768px for desktop screens)
    function checkScreenSize() {
        if (window.innerWidth > 768) {
            sidebar.classList.remove("hide");
            overlay.classList.remove("hide");
        } else {
            sidebar.classList.add("hide");
            overlay.classList.add("hide");
        }
    }

    // Check screen size on initial load and whenever the window is resized
    checkScreenSize();
    window.addEventListener("resize", checkScreenSize);
});
 

</script>

<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<!-- Popper JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>

</html>