Your IP : 216.73.216.86


Current Path : /home/emeraadmin/public_html/4d695/
Upload File :
Current File : /home/emeraadmin/public_html/4d695/rejecttask_bulk.php.tar

home/emeraadmin/public_html/pages/subcontractor/rejecttask_bulk.php000064400000003165151701467360021773 0ustar00<?php

session_start();
require_once '../../Classes/Database.php';
require_once '../../Service/TaskService.php';
require_once '../../Classes/Task.php';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (isset($_POST['taskIds']) && isset($_POST['companyId'])) {
        $taskIds = $_POST['taskIds'];
        $companyId = $_POST['companyId'];

        $taskService = new TaskService();
        $errors = [];

        foreach ($taskIds as $taskId) {
            $task = $taskService->getTaskByIdAsObject($taskId);

            if ($task) {
                $task->setAssignedTo(null);
                $task->setIsAssigned(0);

                // Get existing not accepted users
                $temp = $task->getNotAcceptedUsers();
                $notAcceptedUsers = array_filter(explode(',', $temp));

                // Add the new companyId if not already in the list
                if (!in_array($companyId, $notAcceptedUsers)) {
                    $notAcceptedUsers[] = $companyId;
                }

                // Convert the array back to a string
                $task->setNotAcceptedUsers(implode(',', $notAcceptedUsers));

                if (!$taskService->rejectTask($task)) {
                    $errors[] = "Failed to reject task ID: $taskId";
                }
            } else {
                $errors[] = "Task ID: $taskId not found";
            }
        }

        if (empty($errors)) {
            echo 'success';
        } else {
            echo implode(', ', $errors);
        }
    } else {
        echo 'invalid_data';
    }
} else {
    echo 'invalid_request';
}