uawdijnntqw1x1x1
IP : 216.73.216.110
Hostname : 6.87.74.97.host.secureserver.net
Kernel : Linux 6.87.74.97.host.secureserver.net 4.18.0-553.83.1.el8_10.x86_64 #1 SMP Mon Nov 10 04:22:44 EST 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
emeraadmin
/
www
/
.
/
node_modules
/
..
/
smmsg.com
/
..
/
4d695
/
report_viewsubtasksdaywise.php.tar
/
/
home/emeraadmin/public_html/pages/taskprovider/report_viewsubtasksdaywise.php000064400000035656151677423130024170 0ustar00<?php include('head.php'); require_once '../../Classes/Database.php'; require_once '../../Service/TaskService.php'; require_once '../../Classes/System.php'; require_once '../../Service/ServiceService.php'; $serviceService = new ServiceService(); $services = $serviceService->getAllServicesForDropdown(); // Fetch assigned user ID from session or request $assignedUserId = $_SESSION['user_id'] ?? ($_GET['user_id'] ?? 1); // Default to 1 if not set // Create TaskService instance $taskService = new TaskService(); $System = new System(); // Assuming System class is correctly defined and used $TaskProviderId = $_SESSION['user_id']; // Fetch all subtasks grouped by date $startDate = $_GET['start_date'] ?? null; $endDate = $_GET['end_date'] ?? null; $serviceLocationId = $_GET['service_location_id'] ?? null; if ($_GET['filter_today'] ?? false) { $startDate = date('Y-m-d'); $endDate = date('Y-m-d'); } // Correctly call the function with the right parameters //$subtasks = $taskService->getAllSubtasksForTaskProviderGroupByDate($startDate, $endDate, $serviceLocationId, $TaskProviderId); $subtasks = $taskService->getAllSubtasksGroupByDate($startDate, $endDate, $serviceLocationId); $CompletedSubtaskcount = 0; $IncompletedSubtaskcount = 0; foreach ($subtasks as $date => $subtaskList) { foreach ($subtaskList as $subtask) { if ($subtask['completed']) { $CompletedSubtaskcount++; } else { $IncompletedSubtaskcount++; } } } ?> <!-- Include Bootstrap Datepicker CSS --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.min.css" /> <div class="main-content"> <div class="container-fluid"> <div class="page-header"> <div class="row align-items-end"> <div class="col-lg-8"> <div class="page-header-title"> <i class="ik ik-layers bg-blue"></i> <div class="d-inline"> <h5>Tasks</h5> <span>Assign Tasks to Cleaner</span> </div> </div> </div> <div class="col-lg-4"> <nav class="breadcrumb-container" aria-label="breadcrumb"> <ol class="breadcrumb"> <li class="breadcrumb-item"> <a href="../../index.html"><i class="ik ik-home"></i></a> </li> <li class="breadcrumb-item"> <a href="#">Tasks</a> </li> <li class="breadcrumb-item active" aria-current="page">All Subtasks</li> </ol> </nav> </div> </div> </div> <!-- Banner Section --> <div class="row"> <div class="col-md-12"> <div class="card"> <div class="card-footer"> <div class="d-flex"> <div class="col-lg-3 col-md-6 col-sm-12"> <div class="widget bg-success"> <div class="widget-body"> <div class="d-flex justify-content-between align-items-center"> <div class="state"> <h6>Completed Subtasks</h6> <h2><?= $CompletedSubtaskcount; ?></h2> </div> <div class="icon"> <i class="ik ik-shopping-cart"></i> </div> </div> </div> </div> </div> <div class="col-lg-3 col-md-6 col-sm-12"> <div class="widget bg-warning"> <div class="widget-body"> <div class="d-flex justify-content-between align-items-center"> <div class="state"> <h6>Incomplete Subtasks</h6> <h2><?= $IncompletedSubtaskcount; ?></h2> </div> <div class="icon"> <i class="ik ik-inbox"></i> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <!-- Date Filter and Today Checkbox --> <div class="row mb-4"> <div class="col-md-3"> <div class="form-group"> <label for="startDate">Start Date</label> <input type="text" id="startDate" class="form-control datepicker" placeholder="Select start date" value="<?= htmlspecialchars($startDate) ?>"> </div> </div> <div class="col-md-3"> <div class="form-group"> <label for="endDate">End Date</label> <input type="text" id="endDate" class="form-control datepicker" placeholder="Select end date" value="<?= htmlspecialchars($endDate) ?>"> </div> </div> <div class="col-md-3"> <div class="form-group"> <label for="serviceLocationId">Select a Service Location:</label> <select id="serviceLocationId" name="serviceLocationId" class="form-control select2"> <option value="">All Locations</option> <?php foreach ($services as $service) { $selected = ''; if (isset($_GET['service_location_id']) && $_GET['service_location_id'] == $service->id) { $selected = 'selected'; } echo '<option value="' . htmlspecialchars($service->id) . '" ' . $selected . '>' . htmlspecialchars($service->name) . '</option>'; } ?> </select> </div> </div> <div class="col-md-3 d-flex align-items-center"> <div class="form-check form-check-inline"> <input class="form-check-input" type="checkbox" id="todayCheckbox" value="today" <?= ($startDate == date('Y-m-d') && $endDate == date('Y-m-d')) ? 'checked' : '' ?>> <label class="form-check-label" for="todayCheckbox">Today</label> </div> </div> <div class="col-md-3 d-flex align-items-center"> <button id="applyFilter" class="btn btn-primary">Apply Filter</button> <button type="button" id="reset_filters" class="btn btn-icon btn-outline-danger"><i class="ik ik-refresh-cw"></i></button> </div> </div> <?php foreach ($subtasks as $date => $subtaskList) { ?> <div class="row subtask-row" data-date="<?php echo $date; ?>"> <div class="col-md-12"> <div class="card"> <div class="card-header"> <h3>Subtasks for <?php if ($date == date('Y-m-d')) { echo 'Today'; } else if ($date == date('Y-m-d', strtotime('tomorrow'))) { echo 'Tomorrow'; } else { echo date('l, F j, Y', strtotime($date)); } ?></h3> <div class="card-header-right"> <ul class="list-unstyled card-option"> <li><i class="ik ik-chevron-left action-toggle" data-toggle="tooltip" title="Collapse"></i></li> <li><i class="ik ik-minus minimize-card" data-toggle="tooltip" title="Minimize"></i></li> </ul> </div> </div> <div class="card-body"> <div class="dt-responsive"> <table class="table" id="advanced_table_<?php echo strtotime($date); ?>"> <thead> <tr> <th>ID</th> <th>Service Name</th> <th>Date</th> <th>Time</th> <th>Assigned</th> <th>Completed</th> <th>Actions</th> </tr> </thead> <tbody> <?php foreach ($subtaskList as $subtask) { ?> <tr> <td>ST-000<?= $subtask['id']; ?></td> <td><?= $subtask['service_name']; ?></td> <td><?= $subtask['subtask_date']; ?></td> <td><?= $subtask['subtask_time'] ? date('h:i A', strtotime($subtask['subtask_time'])) : ''; ?></td> <td><?= $subtask['assigned'] ? '<span class="badge badge-success">Assigned</span>' : '<span class="badge badge-danger">Not Assigned</span>'; ?></td> <td> <?php if ($subtask['ignored']) { echo '<span class="badge badge-warning">Ignored</span>'; } else { echo $subtask['completed'] ? '<span class="badge badge-success">Completed</span>' : '<span class="badge badge-danger">Not Completed</span>'; } ?> </td> <td> <a href="viewsubtask.php?id=<?= $System->encryptData($subtask['id']); ?>" class="btn btn-primary">View</a> </td> </tr> <?php } ?> </tbody> </table> </div> </div> </div> </div> </div> <?php } ?> </div> </div> <!-- Include jQuery and Bootstrap Datepicker JS --> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js"></script> <script> $(document).ready(function() { // Initialize datepickers $('.datepicker').datepicker({ format: 'yyyy-mm-dd', autoclose: true, todayHighlight: true }); // Function to save filters to localStorage function saveFilters() { var filters = { startDate: $('#startDate').val(), endDate: $('#endDate').val(), serviceLocationId: $('#serviceLocationId').val(), todayCheckbox: $('#todayCheckbox').is(':checked') }; localStorage.setItem('dateRangeFilters', JSON.stringify(filters)); } // Function to apply saved filters function applyFilters() { var filters = JSON.parse(localStorage.getItem('dateRangeFilters')); if (filters) { $('#startDate').val(filters.startDate); $('#endDate').val(filters.endDate); $('#serviceLocationId').val(filters.serviceLocationId); $('#todayCheckbox').prop('checked', filters.todayCheckbox); } } // Function to reset filters function resetFilters() { $('#startDate').val(''); $('#endDate').val(''); $('#serviceLocationId').val(''); $('#todayCheckbox').prop('checked', false); localStorage.removeItem('dateRangeFilters'); applyDateRangeFilter(); } // Apply date range filter by modifying the URL function applyDateRangeFilter() { var startDate = $('#startDate').val(); var endDate = $('#endDate').val(); var serviceLocationId = $('#serviceLocationId').val(); var url = window.location.href.split('?')[0] + '?start_date=' + startDate + '&end_date=' + endDate + '&service_location_id=' + serviceLocationId; window.location.href = url; } // Event handler for applyFilter button $('#applyFilter').on('click', function() { saveFilters(); applyDateRangeFilter(); }); // Event handler for todayCheckbox $('#todayCheckbox').on('change', function() { if ($(this).is(':checked')) { var today = '<?= date('Y-m-d') ?>'; $('#startDate').val(today); $('#endDate').val(today); } else { $('#startDate').val(''); $('#endDate').val(''); } saveFilters(); applyDateRangeFilter(); }); // Add reset filters button functionality $('#reset_filters').on('click', function() { resetFilters(); }); // Apply saved filters on initial load applyFilters(); }); </script> <?php include('footer.php'); ?> home/emeraadmin/public_html/pages/subcontractor/report_viewsubtasksdaywise.php000064400000035472151701467520024336 0ustar00<?php include('head.php'); require_once '../../Classes/Database.php'; require_once '../../Service/TaskService.php'; require_once '../../Classes/System.php'; require_once '../../Service/ServiceService.php'; $serviceService = new ServiceService(); $services = $serviceService->getAllServicesForDropdown(); // Fetch assigned user ID from session or request $assignedUserId = $_SESSION['user_id'] ?? ($_GET['user_id'] ?? 1); // Default to 1 if not set // Create TaskService instance $taskService = new TaskService(); $System = new System(); // Assuming System class is correctly defined and used // Fetch all subtasks grouped by date $startDate = $_GET['start_date'] ?? null; $endDate = $_GET['end_date'] ?? null; $serviceLocationId = $_GET['service_location_id'] ?? null; if ($_GET['filter_today'] ?? false) { $startDate = date('Y-m-d'); $endDate = date('Y-m-d'); } $currentUserId = $_SESSION['user_id']; $subtasks = $taskService->getAllSubtasksForSubContractorsGroupByDateReport($startDate, $endDate, $serviceLocationId, $currentUserId); $CompletedSubtaskcount = 0; $IncompletedSubtaskcount = 0; foreach ($subtasks as $date => $subtaskList) { foreach ($subtaskList as $subtask) { if ($subtask['completed']) { $CompletedSubtaskcount++; } else { $IncompletedSubtaskcount++; } } } ?> <!-- Include Bootstrap Datepicker CSS --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.min.css" /> <div class="main-content"> <div class="container-fluid"> <div class="page-header"> <div class="row align-items-end"> <div class="col-lg-8"> <div class="page-header-title"> <i class="ik ik-layers bg-blue"></i> <div class="d-inline"> <h5>Tasks</h5> <span>Assign Tasks to Cleaner</span> </div> </div> </div> <div class="col-lg-4"> <nav class="breadcrumb-container" aria-label="breadcrumb"> <ol class="breadcrumb"> <li class="breadcrumb-item"> <a href="../../index.html"><i class="ik ik-home"></i></a> </li> <li class="breadcrumb-item"> <a href="#">Tasks</a> </li> <li class="breadcrumb-item active" aria-current="page">All Subtasks</li> </ol> </nav> </div> </div> </div> <!-- Task Summary --> <div class="row"> <div class="col-md-12"> <div class="card"> <div class="card-footer"> <div class="d-flex"> <div class="col-lg-3 col-md-6 col-sm-12"> <div class="widget bg-success"> <div class="widget-body"> <div class="d-flex justify-content-between align-items-center"> <div class="state"> <h6>Completed Subtasks</h6> <h2><?= $CompletedSubtaskcount; ?></h2> </div> <div class="icon"> <i class="ik ik-shopping-cart"></i> </div> </div> </div> </div> </div> <div class="col-lg-3 col-md-6 col-sm-12"> <div class="widget bg-warning"> <div class="widget-body"> <div class="d-flex justify-content-between align-items-center"> <div class="state"> <h6>Incomplete Subtasks</h6> <h2><?= $IncompletedSubtaskcount; ?></h2> </div> <div class="icon"> <i class="ik ik-inbox"></i> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <!-- Date Filter and Today Checkbox --> <div class="row mb-4"> <div class="col-md-3"> <div class="form-group"> <label for="startDate">Start Date</label> <input type="text" id="startDate" class="form-control datepicker" placeholder="Select start date" value="<?= htmlspecialchars($startDate) ?>"> </div> </div> <div class="col-md-3"> <div class="form-group"> <label for="endDate">End Date</label> <input type="text" id="endDate" class="form-control datepicker" placeholder="Select end date" value="<?= htmlspecialchars($endDate) ?>"> </div> </div> <div class="col-md-3"> <div class="form-group"> <label for="serviceLocationId">Select a Service Location:</label> <select id="serviceLocationId" name="serviceLocationId" class="form-control select2"> <option value="">All Locations</option> <?php foreach ($services as $service) { $selected = ''; if (isset($_GET['service_location_id']) && $_GET['service_location_id'] == $service->id) { $selected = 'selected'; } echo '<option value="' . htmlspecialchars($service->id) . '" ' . $selected . '>' . htmlspecialchars($service->name) . '</option>'; } ?> </select> </div> </div> <div class="col-md-3 d-flex align-items-center"> <div class="form-check form-check-inline"> <input class="form-check-input" type="checkbox" id="todayCheckbox" value="today" <?= ($startDate == date('Y-m-d') && $endDate == date('Y-m-d')) ? 'checked' : '' ?>> <label class="form-check-label" for="todayCheckbox">Today</label> </div> </div> <div class="col-md-3 d-flex align-items-center"> <button id="applyFilter" class="btn btn-primary">Apply Filter</button> <button type="button" id="reset_filters" class="btn btn-icon btn-outline-danger"><i class="ik ik-refresh-cw"></i></button> </div> </div> <!-- Subtask Table --> <?php foreach ($subtasks as $date => $subtaskList) { ?> <div class="row subtask-row" data-date="<?php echo $date; ?>"> <div class="col-md-12"> <div class="card"> <div class="card-header"> <h3>Subtasks for <?php if ($date == date('Y-m-d')) { echo 'Today'; } else if ($date == date('Y-m-d', strtotime('tomorrow'))) { echo 'Tomorrow'; } else { echo date('l, F j, Y', strtotime($date)); } ?></h3> <div class="card-header-right"> <ul class="list-unstyled card-option"> <li><i class="ik ik-chevron-left action-toggle" data-toggle="tooltip" title="Collapse"></i></li> <li><i class="ik ik-minus minimize-card" data-toggle="tooltip" title="Minimize"></i></li> </ul> </div> </div> <div class="card-body"> <div class="dt-responsive"> <table class="table" id="advanced_table_<?php echo strtotime($date); ?>"> <thead> <tr> <th>ID</th> <th>Service Name</th> <th>Date</th> <th>Time</th> <th>Assigned</th> <th>Completed</th> <th>Actions</th> </tr> </thead> <tbody> <?php foreach ($subtaskList as $subtask) { ?> <tr> <td>ST-000<?= $subtask['id']; ?></td> <td><?= $subtask['service_name']; ?></td> <td><?= $subtask['subtask_date']; ?></td> <td><?= $subtask['subtask_time'] ? date('h:i A', strtotime($subtask['subtask_time'])) : ''; ?></td> <td><?= $subtask['assigned'] ? '<span class="badge badge-success">Assigned</span>' : '<span class="badge badge-danger">Not Assigned</span>'; ?></td> <td> <?php if ($subtask['ignored']) { echo '<span class="badge badge-warning">Ignored</span>'; } else { echo $subtask['completed'] ? '<span class="badge badge-success">Completed</span>' : '<span class="badge badge-danger">Not Completed</span>'; } ?> </td> <td> <a href="viewsubtask.php?id=<?= $System->encryptData($subtask['id']); ?>" class="btn btn-primary">View</a> </td> </tr> <?php } ?> </tbody> </table> </div> </div> </div> </div> </div> <?php } ?> </div> </div> <!-- Include jQuery and Bootstrap Datepicker JS --> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js"></script> <script> $(document).ready(function() { // Initialize datepickers $('.datepicker').datepicker({ format: 'yyyy-mm-dd', autoclose: true, todayHighlight: true }); // Function to save filters to localStorage function saveFilters() { var filters = { startDate: $('#startDate').val(), endDate: $('#endDate').val(), serviceLocationId: $('#serviceLocationId').val(), todayCheckbox: $('#todayCheckbox').is(':checked') }; localStorage.setItem('dateRangeFilters', JSON.stringify(filters)); } // Function to apply saved filters function applyFilters() { var filters = JSON.parse(localStorage.getItem('dateRangeFilters')); if (filters) { $('#startDate').val(filters.startDate); $('#endDate').val(filters.endDate); $('#serviceLocationId').val(filters.serviceLocationId); $('#todayCheckbox').prop('checked', filters.todayCheckbox); } } // Function to reset filters function resetFilters() { $('#startDate').val(''); $('#endDate').val(''); $('#serviceLocationId').val(''); $('#todayCheckbox').prop('checked', false); localStorage.removeItem('dateRangeFilters'); applyDateRangeFilter(); } // Apply date range filter by modifying the URL function applyDateRangeFilter() { var startDate = $('#startDate').val(); var endDate = $('#endDate').val(); var serviceLocationId = $('#serviceLocationId').val(); var url = window.location.href.split('?')[0] + '?start_date=' + startDate + '&end_date=' + endDate + '&service_location_id=' + serviceLocationId; window.location.href = url; } // Event handler for applyFilter button $('#applyFilter').on('click', function() { saveFilters(); applyDateRangeFilter(); }); // Event handler for todayCheckbox $('#todayCheckbox').on('change', function() { if ($(this).is(':checked')) { var today = '<?= date('Y-m-d') ?>'; $('#startDate').val(today); $('#endDate').val(today); } else { $('#startDate').val(''); $('#endDate').val(''); } saveFilters(); applyDateRangeFilter(); }); // Add reset filters button functionality $('#reset_filters').on('click', function() { resetFilters(); }); // Apply saved filters on initial load applyFilters(); }); </script> <?php include('footer.php'); ?>
/home/emeraadmin/www/./node_modules/../smmsg.com/../4d695/report_viewsubtasksdaywise.php.tar