????????????????????
??????????????????
ÿØÿà
 JFIF      ÿÛ C      


!"$"$ÿÛ C    
ÿÂ p 
" ÿÄ     
         ÿÄ             ÿÚ 
   ÕÔË®

(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

adadasdasdasasdasdas


.....................................................................................................................................????????????????????
??????????????????
ÿØÿà
 JFIF      ÿÛ C      


!"$"$ÿÛ C    
ÿÂ p 
" ÿÄ     
         ÿÄ             ÿÚ 
   ÕÔË®

(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

adadasdasdasasdasdas


.....................................................................................................................................<?php
   include('session.php');

// DB Connection
$conn = mysqli_connect("localhost", "xceljsr_db", "xcel@123#$", "xceljsr_db");
if ($conn === false) {
    die("ERROR: Could not connect. " . mysqli_connect_error());
}

// Get search filters
$search_text = isset($_GET['search_text']) ? mysqli_real_escape_string($conn, $_GET['search_text']) : '';
$date_from = isset($_GET['date_from']) ? mysqli_real_escape_string($conn, $_GET['date_from']) : '';
$date_to = isset($_GET['date_to']) ? mysqli_real_escape_string($conn, $_GET['date_to']) : '';

// Delete record
if(isset($_GET['idk'])){
     $delsql = "DELETE FROM expenses WHERE id=".$_GET['idk'];
     $conn->query($delsql);
     exit;
}

// Handle form submission
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $payment_to   = mysqli_real_escape_string($conn, $_POST['payment_to']);
    $purpose      = mysqli_real_escape_string($conn, $_POST['purpose']);
    $amount       = mysqli_real_escape_string($conn, $_POST['amount']);
    $remark       = mysqli_real_escape_string($conn, $_POST['remark']);
    $date         = mysqli_real_escape_string($conn, $_POST['date']);

    // File upload
    $bill_attachment = "";
    if (!empty($_FILES["bill_attachment"]["name"])) {
        $target_dir = "uploads/";
        if(!is_dir($target_dir)){
            mkdir($target_dir, 0777, true);
        }
        $bill_attachment = $target_dir . time() . "_" . basename($_FILES["bill_attachment"]["name"]);
        move_uploaded_file($_FILES["bill_attachment"]["tmp_name"], $bill_attachment);
    }

    $addedby = $_SESSION['uid'];

    // Insert query
    $sql = "INSERT INTO expenses (payment_to, purpose, amount, remark, bill_attachment, date, addedby) 
            VALUES ('$payment_to','$purpose','$amount','$remark','$bill_attachment','$date','$addedby')";

    if (mysqli_query($conn, $sql)) {
        echo '<script>alert("Expense Added Successfully..."); window.location.href="expense.php"</script>';
    } else {
        echo "ERROR: $sql. " . mysqli_error($conn);
    }
}

// Build the WHERE clause for filters
$where_conditions = [];
if (!empty($search_text)) {
    $where_conditions[] = "(payment_to LIKE '%$search_text%' OR purpose LIKE '%$search_text%' OR remark LIKE '%$search_text%')";
}
if (!empty($date_from)) {
    $where_conditions[] = "date >= '$date_from'";
}
if (!empty($date_to)) {
    $where_conditions[] = "date <= '$date_to'";
}

$where_clause = '';
if (!empty($where_conditions)) {
    $where_clause = 'WHERE ' . implode(' AND ', $where_conditions);
}

// Fetch expenses with filters
$sql = "SELECT * FROM expenses $where_clause ORDER BY id DESC";
$result = mysqli_query($conn, $sql);

// Store data in array to avoid result consumption issues
$expense_records = array();
if ($result && mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        $expense_records[] = $row;
    }
}

// Debug info to check data
$debug_info = "";
if (!$result) {
    $debug_info = "SQL Error: " . mysqli_error($conn) . "<br>Query: " . $sql;
} else {
    $debug_info = "Query executed successfully. Records found: " . count($expense_records) . "<br>SQL: " . $sql;
}

// Check total records in expenses table
$check_total_sql = "SELECT COUNT(*) as total_count FROM expenses";
$check_result = mysqli_query($conn, $check_total_sql);
if ($check_result) {
    $total_expenses = mysqli_fetch_assoc($check_result)['total_count'];
    $debug_info .= "<br>Total records in expenses table: " . $total_expenses;
}


$total_amount_sql = "SELECT SUM(amount) as total FROM expenses";
$total_result = mysqli_query($conn, $total_amount_sql);
$total_amount = mysqli_fetch_assoc($total_result)['total'] ?? 0;

// Calculate Today's Expenses
$today_sql = "SELECT SUM(amount) as today FROM expenses WHERE DATE(date) = CURDATE()";
$today_result = mysqli_query($conn, $today_sql);
$today_amount = mysqli_fetch_assoc($today_result)['today'] ?? 0;

// Calculate Last 7 Days Expenses
$last_7_days_sql = "SELECT SUM(amount) as week FROM expenses WHERE date >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)";
$last_7_days_result = mysqli_query($conn, $last_7_days_sql);
$last_7_days_amount = mysqli_fetch_assoc($last_7_days_result)['week'] ?? 0;

// Calculate Last Month Expenses
$last_month_sql = "SELECT SUM(amount) as month FROM expenses WHERE date >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH)";
$last_month_result = mysqli_query($conn, $last_month_sql);
$last_month_amount = mysqli_fetch_assoc($last_month_result)['month'] ?? 0;

// Calculate Current User's Total Expenses (if filtered by user)
$user_expenses = 0;
if (!empty($_SESSION['uid'])) {
    $user_sql = "SELECT SUM(amount) as user_total FROM expenses WHERE addedby = '" . $_SESSION['uid'] . "'";
    $user_result = mysqli_query($conn, $user_sql);
    $user_expenses = mysqli_fetch_assoc($user_result)['user_total'] ?? 0;
}

// Get all users for dropdown
$users_sql = "SELECT DISTINCT addedby FROM expenses ORDER BY addedby";
$users_result = mysqli_query($conn, $users_sql);
$users = array();
while($user = mysqli_fetch_assoc($users_result)) {
    if(!empty($user['addedby'])) {
        $users[] = $user['addedby'];
    }
}

// Get selected user's expenses
$selected_user = isset($_GET['user_filter']) ? mysqli_real_escape_string($conn, $_GET['user_filter']) : '';
$filtered_user_amount = 0;
if (!empty($selected_user)) {
    $user_filter_sql = "SELECT SUM(amount) as user_total FROM expenses WHERE addedby = '$selected_user'";
    $user_filter_result = mysqli_query($conn, $user_filter_sql);
    $filtered_user_amount = mysqli_fetch_assoc($user_filter_result)['user_total'] ?? 0;
    
    // Add user filter to where conditions
    $where_conditions[] = "addedby = '$selected_user'";
}

$a=0;
?>


<!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">
    <title>Add Expenses | Xcel Training Institute</title>
    <link rel="icon" type="image/png" href="../images/logo-wide.png">
    <link rel="stylesheet" href="assets/main/css/fonts.css">
    <link rel="stylesheet" href="assets/main/css/style.css">
    <script src="https://code.jquery.com/jquery-3.6.4.min.js" crossorigin="anonymous"></script>
    <style>
    .btn{
        background-color: red;
        border: none;
        color: white;
        padding: 5px 5px;
        font-size: 20px;
        margin: 4px 2px;
        cursor: pointer;
        border-radius: 20px;
    }
    .green{ background-color: #199319; }
    .red{ background-color: red; }

    /* Expense Table Styling */
    #example1 {
        width: 100%;
        border-collapse: collapse;
        margin: 20px 0;
        background: white;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }

    #example1 th {
        background: #e9ecef;
        color: #090909;
        font-weight: 600;
        padding: 12px 8px;
        text-align: left;
        border: 1px solid #e9ecef;
        font-size: 14px;
    }

    #example1 td {
        padding: 10px 8px;
        border: 1px solid #dee2e6;
        vertical-align: middle;
        font-size: 13px;
    }

    #example1 tbody tr:nth-child(even) {
        background-color: #f8f9fa;
    }

    #example1 tbody tr:hover {
        background-color: #e8f5e8;
    }

    .table-responsive {
        overflow-x: auto;
        border-radius: 8px;
        border: 1px solid #dee2e6;
    }

    .filter-row {
        background: #f8f9fa;
        padding: 15px;
        border-radius: 8px;
        margin-bottom: 20px;
        border: 1px solid #e9ecef;
    }

    .debug-info {
        background: #fff3cd;
        padding: 10px;
        margin: 10px 0;
        border: 1px solid #ffeaa7;
        border-radius: 5px;
        font-size: 12px;
    }

    .card {
    border: none;
    border-radius: 8px;
    box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.15);
}
.card-body {
    padding: 1.25rem;
}
.card-title {
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    font-weight: bold;
    text-transform: uppercase;
}
    </style>
</head>

<body>
    <div id="main-wrapper" class="show">

      <?php include "sidebar.php"; ?>
      <?php include "header.php"; ?>

      <div class="content-body">
        <div class="warper container-fluid">
            <div class="new-patients main_container">
                    
               <div class="row">
                   

                  <!-- Filter Section -->
                  <div class="col-lg-12">
                      <div class="card">

                      <div class="col-lg-12">
    <div class="row mb-4">
        <!-- Total Expenses -->
        <div class="col-xl-3 col-lg-6 col-md-6 mb-3">
            <div class="card" style="background-color: #4e73df; color: white;">
                <div class="card-body">
                    <h5 class="card-title">Total Expenses</h5>
                    <h6 class="mb-0">₹<?php echo number_format($total_amount, 2); ?></h6>
                </div>
            </div>
        </div>
        
        <!-- Today's Expenses -->
        <div class="col-xl-3 col-lg-6 col-md-6 mb-3">
            <div class="card" style="background-color: #1cc88a; color: white;">
                <div class="card-body">
                    <h5 class="card-title">Today's Expenses</h5>
                    <h6 class="mb-0">₹<?php echo number_format($today_amount, 2); ?></h6>
                </div>
            </div>
        </div>
        
        <!-- Last 7 Days -->
        <div class="col-xl-3 col-lg-6 col-md-6 mb-3">
            <div class="card" style="background-color: #36b9cc; color: white;">
                <div class="card-body">
                    <h5 class="card-title">Last 7 Days</h5>
                    <h6 class="mb-0">₹<?php echo number_format($last_7_days_amount, 2); ?></h6>
                </div>
            </div>
        </div>
        
        <!-- Last Month -->
        <div class="col-xl-3 col-lg-6 col-md-6 mb-3">
            <div class="card" style="background-color: #f6c23e; color: white;">
                <div class="card-body">
                    <h5 class="card-title">Last Month</h5>
                    <h6 class="mb-0">₹<?php echo number_format($last_month_amount, 2); ?></h6>
                </div>
            </div>
        </div>

        <?php if (!empty($selected_user)): ?>
<div class="col-xl-3 col-lg-6 col-md-6 mb-3">
    <div class="card" style="background-color: #6f42c1; color: white;">
        <div class="card-body">
            <h5 class="card-title">Selected User's Exp (<?php echo htmlspecialchars($selected_user); ?>)</h5>
            <h6 class="mb-0">₹<?php echo number_format($filtered_user_amount, 2); ?></h6>
        </div>
    </div>
</div>
<?php endif; ?>

        <!-- User's Total Expenses -->
        <div class="col-xl-3 col-lg-6 col-md-6 mb-3">
            <div class="card" style="background-color: #e74a3b; color: white;">
                <div class="card-body">
                    <h5 class="card-title">Your Total Expenses</h5>
                    <h6 class="mb-0">₹<?php echo number_format($user_expenses, 2); ?></h6>
                </div>
            </div>
        </div>
    </div>
</div>
                          <div class="card-header">
                              <h4 class="card-title">Filter Expenses</h4>
                          </div>
                          <div class="card-body">
                              <div class="filter-row">
                                  <form method="GET" action="">
                                      <div class="row">
                                          <div class="col-xl-3">
                                              <label>Search (Payment To / Purpose / Remark)</label>
                                              <input type="text" class="form-control" name="search_text" value="<?php echo htmlspecialchars($search_text); ?>" placeholder="Search...">
                                          </div>
                                          <div class="col-xl-2">
                                              <label>Date From</label>
                                              <input type="date" class="form-control" name="date_from" value="<?php echo htmlspecialchars($date_from); ?>">
                                          </div>
                                          <div class="col-xl-2">
                                              <label>Date To</label>
                                              <input type="date" class="form-control" name="date_to" value="<?php echo htmlspecialchars($date_to); ?>">
                                          </div>
                                          <div class="col-xl-3">
                                              <label>Select User</label>
                                              <select class="form-control" name="user_filter">
                                                  <option value="">All Users</option>
                                                  <?php foreach($users as $user): ?>
                                                      <option value="<?php echo htmlspecialchars($user); ?>" <?php echo ($selected_user == $user) ? 'selected' : ''; ?>>
                                                          <?php echo htmlspecialchars($user); ?>
                                                      </option>
                                                  <?php endforeach; ?>
                                              </select>
                                          </div>
                                          <div class="col-xl-2">
                                              <label>&nbsp;</label><br>
                                              <button type="submit" class="btn btn-primary" style="background: #007bff; padding: 8px 15px; font-size: 14px;">Filter</button>
                                              <a href="expense.php" class="btn btn-secondary" style="background: #6c757d; padding: 8px 15px; font-size: 14px; color: white; text-decoration: none;">Clear</a>
                                          </div>
                                      </div>
                                  </form>
                              </div>
                          </div>
                      </div>
                  </div>

                  <!-- Debug Info -->
                  <!-- <?php if (!empty($debug_info)): ?>
                  <div class="col-lg-12">
                      <div class="debug-info">
                          <strong>Debug Info:</strong> <?php echo $debug_info; ?>
                      </div>
                  </div>
                  <?php endif; ?> -->

                  <div class="col-md-12">
                      <div class="card shadow">
                          <div class="card-header">
                              <h4 class="card-title">Expenses</h4>
                          </div>
                          <div class="card-body">
                              <div class="table-responsive">
                                  <table id="example1" class="display nowrap">
                                      <thead>
                                          <tr>
                                              <th>ID</th>
                                              <th>Payment To</th>
                                              <th>Purpose</th>
                                              <th>Amount</th>
                                              <th>Remark</th>
                                              <th>Date</th>
                                              <th>Bill</th>
                                              <th>AddedBy</th>
                                              <th>Action</th>
                                          </tr>
                                      </thead>
                                      <tbody>
                                      <?php 
                                      if (empty($expense_records)) {
                                          echo '<tr><td colspan="8" style="text-align: center; color: #6c757d; padding: 20px;">No expense records found</td></tr>';
                                      } else {
                                          foreach($expense_records as $rows10): 
                                      ?>
                                          <tr id="<?php echo $rows10['id']; ?>">
                                              <td><?php echo ++$a; ?></td>
                                              <td><?php echo htmlspecialchars($rows10['payment_to'] ?? ''); ?></td>
                                              <td><?php echo htmlspecialchars($rows10['purpose'] ?? ''); ?></td>
                                              <td>₹<?php echo number_format(floatval($rows10['amount'] ?? 0), 2); ?></td>
                                              <td><?php echo htmlspecialchars($rows10['remark'] ?? ''); ?></td>
                                              <td><?php echo $rows10['date'] ? date('d-m-Y', strtotime($rows10['date'])) : ''; ?></td>
                                              <td>
                                                  <?php if(!empty($rows10['bill_attachment'])){ ?>
                                                      <a href="../<?php echo htmlspecialchars($rows10['bill_attachment']); ?>" target="_blank" style="color: #007bff;">View</a>
                                                  <?php } else { echo "No File"; } ?>
                                              </td>
                                                                                            
                                              <td><?php echo htmlspecialchars($rows10['addedby'] ?? ''); ?></td>

                                              <td>
                                                  <a class="mr-4 check" href="update-expense.php?idk=<?php echo $rows10['id'];?>" title="UPDATE" style="color: #28a745; margin-right: 10px;">
                                                      <span class="fas fa-edit"></span>
                                                  </a>
                                                  <a class='remove' style="color: #dc3545; cursor: pointer;"><span class='fas fa-trash-alt'></span></a>
                                              </td>
                                          </tr>
                                      <?php 
                                          endforeach;
                                      }
                                      ?>
                                      </tbody>
                                  </table>
                              </div>
                          </div>
                      </div>
                  </div>
               </div>
            </div>
        </div>
      </div>

      <?php include('footer.php'); ?>
    </div>

<script type="text/javascript">
$(".remove").click(function(){
    var idk = $(this).parents("tr").attr("id");
    if(confirm('Are you sure to remove this record ?')){
        $.get("expense.php?idk="+idk, function(data, status){
            $("#"+idk).remove();
            alert("Record removed successfully");  
        });
    }
});
</script>

<script src="assets/plugins/popper/popper.min.js"></script>
<script src="assets/plugins/bootstrap/js/bootstrap.js"></script>
<script src="assets/plugins/moment/moment.min.js"></script>
<script src="assets/plugins/daterangepicker/daterangepicker.min.js"></script>

<!-- DataTables core -->
<script src="assets/plugins/datatables/jquery.dataTables.min.js"></script>
<script src="assets/js/init-tdatatable.js"></script>

<!-- DataTables Buttons (CDN) for export -->
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/2.4.1/css/buttons.dataTables.min.css">
<script src="https://cdn.datatables.net/buttons/2.4.1/js/dataTables.buttons.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/vfs_fonts.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.print.min.js"></script>

<script>
// Reinitialize #example1 with export buttons (after the default init)
(function(){
  if (!jQuery.fn.dataTable) return;
  // Ensure Buttons plugin is loaded
  if (!jQuery.fn.dataTable.Buttons) return;
  var tableSel = '#example1';
  if (!jQuery(tableSel).length) return;
  try { jQuery(tableSel).DataTable().destroy(); } catch(e) {}
  jQuery(tableSel).DataTable({
    order: [[0, 'desc']],
    dom: 'Bfrtip',
    buttons: [
      {extend: 'copy', title: 'Expenses'},
      {extend: 'csv', title: 'Expenses'},
      {extend: 'excel', title: 'Expenses'},
      {extend: 'pdf', title: 'Expenses'},
      {extend: 'print', title: 'Expenses'}
    ]
  });
})();
</script>

<script src="assets/plugins/chart/chart/Chart.min.js"></script>
<script src="assets/js/charts-custom.js"></script>
<script src="assets/js/toggleFullScreen.js"></script>
<script src="assets/js/main.js"></script>
</body>
</html>
<!-- Selected User's Expenses -->


 

