« Back to History
tasks_api.php
|
20260722_120325.php
Initial Domain Snapshot
Copy Code
<?php require_once __DIR__ . '/modules/auth/page_acl.php'; require_once __DIR__ . '/modules/activity/activity_logger.php'; $ctx = page_require_access('tasks'); $pdo = $ctx['pdo']; $company_id = (int)$ctx['company_id']; $user_id = (int)($ctx['user']['id'] ?? 0); $input = json_decode(file_get_contents('php://input'), true) ?? []; $action = $input['action'] ?? ''; if($_SERVER['REQUEST_METHOD']==='GET'){ $st=$pdo->prepare("SELECT * FROM company_tasks WHERE company_id=? ORDER BY id DESC"); $st->execute([$company_id]); echo json_encode($st->fetchAll(PDO::FETCH_ASSOC)); exit; } switch($action){ case 'add': $st=$pdo->prepare("INSERT INTO company_tasks (company_id,task_text,created_by) VALUES (?,?,?)"); $st->execute([$company_id,trim($input['text']),$user_id]); activity_log([ 'company_id' => $company_id ?? 0, 'user_id' => $user_id ?? ($_SESSION['user_id'] ?? 0), 'module' => 'tasks', 'action_name' => 'create', 'entity_type' => 'task', 'entity_id' => (int)$pdo->lastInsertId(), 'remarks' => 'Task created' ]); break; case 'toggle': $st=$pdo->prepare("UPDATE company_tasks SET is_done=?,updated_at=NOW() WHERE id=? AND company_id=?"); $st->execute([(int)$input['done'],(int)$input['id'],$company_id]); activity_log([ 'company_id' => $company_id ?? 0, 'user_id' => $user_id ?? ($_SESSION['user_id'] ?? 0), 'module' => 'tasks', 'action_name' => 'edit', 'entity_type' => 'task', 'entity_id' => (int)($input['id'] ?? 0), 'remarks' => 'Task updated' ]); break; case 'edit': $st=$pdo->prepare("UPDATE company_tasks SET task_text=?,updated_at=NOW() WHERE id=? AND company_id=?"); $st->execute([trim($input['text']),(int)$input['id'],$company_id]); activity_log([ 'company_id' => $company_id ?? 0, 'user_id' => $user_id ?? ($_SESSION['user_id'] ?? 0), 'module' => 'tasks', 'action_name' => 'edit', 'entity_type' => 'task', 'entity_id' => (int)($input['id'] ?? 0), 'remarks' => 'Task updated' ]); break; case 'delete': $st=$pdo->prepare("DELETE FROM company_tasks WHERE id=? AND company_id=?"); $st->execute([(int)$input['id'],$company_id]); activity_log([ 'company_id' => $company_id ?? 0, 'user_id' => $user_id ?? ($_SESSION['user_id'] ?? 0), 'module' => 'tasks', 'action_name' => 'delete', 'entity_type' => 'task', 'entity_id' => (int)($input['id'] ?? 0), 'remarks' => 'Task deleted' ]); break; case 'clear_done': $pdo->prepare("DELETE FROM company_tasks WHERE company_id=? AND is_done=1") ->execute([$company_id]); activity_log([ 'company_id' => $company_id ?? 0, 'user_id' => $user_id ?? ($_SESSION['user_id'] ?? 0), 'module' => 'tasks', 'action_name' => 'delete', 'entity_type' => 'task', 'entity_id' => 0, 'remarks' => 'Completed tasks deleted' ]); break; } echo json_encode(['ok'=>1]);