diff --git a/departments.php b/departments.php new file mode 100644 index 0000000..a9837f1 --- /dev/null +++ b/departments.php @@ -0,0 +1,13 @@ +prepare("INSERT INTO patients (name, phone, dob, gender, blood_group, address, insurance_company_id, policy_number) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"); $stmt->execute([$name, $phone, $dob, $gender, $blood_group, $address, $insurance_company_id, $policy_number]); - $message = __('add_patient') . ' ' . __('successfully'); + $_SESSION['flash_message'] = __('add_patient') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'edit_patient') { + $id = $_POST['id'] ?? ''; + $name = $_POST['name'] ?? ''; + $phone = $_POST['phone'] ?? ''; + $dob = $_POST['dob'] ?? ''; + $gender = $_POST['gender'] ?? ''; + $blood_group = $_POST['blood_group'] ?? ''; + $address = $_POST['address'] ?? ''; + $insurance_company_id = $_POST['insurance_company_id'] ?: null; + $policy_number = $_POST['policy_number'] ?? ''; + + if ($id && $name && $phone) { + $stmt = $db->prepare("UPDATE patients SET name = ?, phone = ?, dob = ?, gender = ?, blood_group = ?, address = ?, insurance_company_id = ?, policy_number = ? WHERE id = ?"); + $stmt->execute([$name, $phone, $dob, $gender, $blood_group, $address, $insurance_company_id, $policy_number, $id]); + $_SESSION['flash_message'] = __('update_patient') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'delete_patient') { + $id = $_POST['id'] ?? ''; + if ($id) { + $stmt = $db->prepare("DELETE FROM patients WHERE id = ?"); + $stmt->execute([$id]); + $_SESSION['flash_message'] = __('delete_patient') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'add_doctor') { + $name_en = $_POST['name_en'] ?? ''; + $name_ar = $_POST['name_ar'] ?? ''; + $spec_en = $_POST['specialization_en'] ?? ''; + $spec_ar = $_POST['specialization_ar'] ?? ''; + $dept_id = $_POST['department_id'] ?: null; + $tel = $_POST['tel'] ?? ''; + $email = $_POST['email'] ?? ''; + + if ($name_en && $name_ar) { + $stmt = $db->prepare("INSERT INTO doctors (name_en, name_ar, specialization_en, specialization_ar, department_id, tel, email) VALUES (?, ?, ?, ?, ?, ?, ?)"); + $stmt->execute([$name_en, $name_ar, $spec_en, $spec_ar, $dept_id, $tel, $email]); + $_SESSION['flash_message'] = __('add_doctor') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'edit_doctor') { + $id = $_POST['id'] ?? ''; + $name_en = $_POST['name_en'] ?? ''; + $name_ar = $_POST['name_ar'] ?? ''; + $spec_en = $_POST['specialization_en'] ?? ''; + $spec_ar = $_POST['specialization_ar'] ?? ''; + $dept_id = $_POST['department_id'] ?: null; + $tel = $_POST['tel'] ?? ''; + $email = $_POST['email'] ?? ''; + + if ($id && $name_en && $name_ar) { + $stmt = $db->prepare("UPDATE doctors SET name_en = ?, name_ar = ?, specialization_en = ?, specialization_ar = ?, department_id = ?, tel = ?, email = ? WHERE id = ?"); + $stmt->execute([$name_en, $name_ar, $spec_en, $spec_ar, $dept_id, $tel, $email, $id]); + $_SESSION['flash_message'] = __('update_doctor') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'delete_doctor') { + $id = $_POST['id'] ?? ''; + if ($id) { + $stmt = $db->prepare("DELETE FROM doctors WHERE id = ?"); + $stmt->execute([$id]); + $_SESSION['flash_message'] = __('delete_doctor') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'add_nurse') { + $name_en = $_POST['name_en'] ?? ''; + $name_ar = $_POST['name_ar'] ?? ''; + $dept_id = $_POST['department_id'] ?: null; + $tel = $_POST['tel'] ?? ''; + $email = $_POST['email'] ?? ''; + + if ($name_en && $name_ar) { + $stmt = $db->prepare("INSERT INTO nurses (name_en, name_ar, department_id, tel, email) VALUES (?, ?, ?, ?, ?)"); + $stmt->execute([$name_en, $name_ar, $dept_id, $tel, $email]); + $_SESSION['flash_message'] = __('add_nurse') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'edit_nurse') { + $id = $_POST['id'] ?? ''; + $name_en = $_POST['name_en'] ?? ''; + $name_ar = $_POST['name_ar'] ?? ''; + $dept_id = $_POST['department_id'] ?: null; + $tel = $_POST['tel'] ?? ''; + $email = $_POST['email'] ?? ''; + + if ($id && $name_en && $name_ar) { + $stmt = $db->prepare("UPDATE nurses SET name_en = ?, name_ar = ?, department_id = ?, tel = ?, email = ? WHERE id = ?"); + $stmt->execute([$name_en, $name_ar, $dept_id, $tel, $email, $id]); + $_SESSION['flash_message'] = __('update_nurse') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'delete_nurse') { + $id = $_POST['id'] ?? ''; + if ($id) { + $stmt = $db->prepare("DELETE FROM nurses WHERE id = ?"); + $stmt->execute([$id]); + $_SESSION['flash_message'] = __('delete_nurse') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'add_department') { + $name_en = $_POST['name_en'] ?? ''; + $name_ar = $_POST['name_ar'] ?? ''; + + if ($name_en && $name_ar) { + $stmt = $db->prepare("INSERT INTO departments (name_en, name_ar) VALUES (?, ?)"); + $stmt->execute([$name_en, $name_ar]); + $_SESSION['flash_message'] = __('add_department') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'edit_department') { + $id = $_POST['id'] ?? ''; + $name_en = $_POST['name_en'] ?? ''; + $name_ar = $_POST['name_ar'] ?? ''; + + if ($id && $name_en && $name_ar) { + $stmt = $db->prepare("UPDATE departments SET name_en = ?, name_ar = ? WHERE id = ?"); + $stmt->execute([$name_en, $name_ar, $id]); + $_SESSION['flash_message'] = __('update_department') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'delete_department') { + $id = $_POST['id'] ?? ''; + if ($id) { + $stmt = $db->prepare("DELETE FROM departments WHERE id = ?"); + $stmt->execute([$id]); + $_SESSION['flash_message'] = __('delete_department') . ' ' . __('successfully'); + $redirect = true; } } elseif ($_POST['action'] === 'add_insurance') { $name_en = $_POST['name_en'] ?? ''; @@ -28,7 +164,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { if ($name_en && $name_ar) { $stmt = $db->prepare("INSERT INTO insurance_companies (name_en, name_ar, email, phone, contact_info) VALUES (?, ?, ?, ?, ?)"); $stmt->execute([$name_en, $name_ar, $email, $phone, $contact]); - $message = __('insurance_company') . ' ' . __('successfully'); + $_SESSION['flash_message'] = __('insurance_company') . ' ' . __('successfully'); + $redirect = true; } } elseif ($_POST['action'] === 'book_appointment') { $patient_id = $_POST['patient_id'] ?? ''; @@ -39,7 +176,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { if ($patient_id && $doctor_id && $date) { $stmt = $db->prepare("INSERT INTO appointments (patient_id, doctor_id, appointment_date, reason) VALUES (?, ?, ?, ?)"); $stmt->execute([$patient_id, $doctor_id, $date, $reason]); - $message = __('book_appointment') . ' ' . __('successfully'); + $_SESSION['flash_message'] = __('book_appointment') . ' ' . __('successfully'); + $redirect = true; } } elseif ($_POST['action'] === 'record_visit') { $patient_id = $_POST['patient_id'] ?? ''; @@ -60,7 +198,26 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { if ($appointment_id) { $db->prepare("UPDATE appointments SET status = 'Completed' WHERE id = ?")->execute([$appointment_id]); } - $message = __('visit_recorded'); + $_SESSION['flash_message'] = __('visit_recorded'); + $redirect = true; + } + } elseif ($_POST['action'] === 'edit_visit') { + $id = $_POST['id'] ?? ''; + $patient_id = $_POST['patient_id'] ?? ''; + $doctor_id = $_POST['doctor_id'] ?? ''; + $weight = $_POST['weight'] ?? ''; + $bp = $_POST['blood_pressure'] ?? ''; + $hr = $_POST['heart_rate'] ?? ''; + $temp = $_POST['temperature'] ?? ''; + $symptoms = $_POST['symptoms'] ?? ''; + $diagnosis = $_POST['diagnosis'] ?? ''; + $treatment = $_POST['treatment_plan'] ?? ''; + + if ($id && $patient_id && $doctor_id) { + $stmt = $db->prepare("UPDATE visits SET patient_id = ?, doctor_id = ?, weight = ?, blood_pressure = ?, heart_rate = ?, temperature = ?, symptoms = ?, diagnosis = ?, treatment_plan = ? WHERE id = ?"); + $stmt->execute([$patient_id, $doctor_id, $weight, $bp, $hr, $temp, $symptoms, $diagnosis, $treatment, $id]); + $_SESSION['flash_message'] = __('update_visit') . ' ' . __('successfully'); + $redirect = true; } } elseif ($_POST['action'] === 'create_report') { $visit_id = $_POST['visit_id'] ?? ''; @@ -71,7 +228,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { if ($visit_id && $type) { $stmt = $db->prepare("INSERT INTO provisional_reports (visit_id, report_type, findings, recommendations) VALUES (?, ?, ?, ?)"); $stmt->execute([$visit_id, $type, $findings, $recommendations]); - $message = __('report_created'); + $_SESSION['flash_message'] = __('report_created'); + $redirect = true; } } elseif ($_POST['action'] === 'create_bill') { $patient_id = $_POST['patient_id'] ?? ''; @@ -104,14 +262,153 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $item_stmt->execute([$bill_id, $desc, $amounts[$index]]); } } - $message = __('bill_created'); + $_SESSION['flash_message'] = __('bill_created'); + $redirect = true; } } elseif ($_POST['action'] === 'mark_paid') { $bill_id = $_POST['bill_id'] ?? ''; if ($bill_id) { $db->prepare("UPDATE bills SET status = 'Paid' WHERE id = ?")->execute([$bill_id]); - $message = __('bill_paid'); + $_SESSION['flash_message'] = __('bill_paid'); + $redirect = true; + } + } elseif ($_POST['action'] === 'add_employee') { + $name_en = $_POST['name_en'] ?? ''; + $name_ar = $_POST['name_ar'] ?? ''; + $dob = $_POST['dob'] ?? ''; + $mobile = $_POST['mobile'] ?? ''; + $email = $_POST['email'] ?? ''; + $dept_id = $_POST['department_id'] ?: null; + $passion_en = $_POST['passion_en'] ?? ''; + $passion_ar = $_POST['passion_ar'] ?? ''; + + if ($name_en && $name_ar) { + $stmt = $db->prepare("INSERT INTO employees (name_en, name_ar, dob, mobile, email, department_id, passion_en, passion_ar) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"); + $stmt->execute([$name_en, $name_ar, $dob, $mobile, $email, $dept_id, $passion_en, $passion_ar]); + $_SESSION['flash_message'] = __('add_employee') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'edit_employee') { + $id = $_POST['id'] ?? ''; + $name_en = $_POST['name_en'] ?? ''; + $name_ar = $_POST['name_ar'] ?? ''; + $dob = $_POST['dob'] ?? ''; + $mobile = $_POST['mobile'] ?? ''; + $email = $_POST['email'] ?? ''; + $dept_id = $_POST['department_id'] ?: null; + $passion_en = $_POST['passion_en'] ?? ''; + $passion_ar = $_POST['passion_ar'] ?? ''; + + if ($id && $name_en && $name_ar) { + $stmt = $db->prepare("UPDATE employees SET name_en = ?, name_ar = ?, dob = ?, mobile = ?, email = ?, department_id = ?, passion_en = ?, passion_ar = ? WHERE id = ?"); + $stmt->execute([$name_en, $name_ar, $dob, $mobile, $email, $dept_id, $passion_en, $passion_ar, $id]); + $_SESSION['flash_message'] = __('update_employee') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'delete_employee') { + $id = $_POST['id'] ?? ''; + if ($id) { + $stmt = $db->prepare("DELETE FROM employees WHERE id = ?"); + $stmt->execute([$id]); + $_SESSION['flash_message'] = __('delete_employee') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'add_poison') { + $name_en = $_POST['name_en'] ?? ''; + $name_ar = $_POST['name_ar'] ?? ''; + $desc_en = $_POST['description_en'] ?? ''; + $desc_ar = $_POST['description_ar'] ?? ''; + + if ($name_en && $name_ar) { + $stmt = $db->prepare("INSERT INTO poisons (name_en, name_ar, description_en, description_ar) VALUES (?, ?, ?, ?)"); + $stmt->execute([$name_en, $name_ar, $desc_en, $desc_ar]); + $_SESSION['flash_message'] = __('add_poison') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'edit_poison') { + $id = $_POST['id'] ?? ''; + $name_en = $_POST['name_en'] ?? ''; + $name_ar = $_POST['name_ar'] ?? ''; + $desc_en = $_POST['description_en'] ?? ''; + $desc_ar = $_POST['description_ar'] ?? ''; + + if ($id && $name_en && $name_ar) { + $stmt = $db->prepare("UPDATE poisons SET name_en = ?, name_ar = ?, description_en = ?, description_ar = ? WHERE id = ?"); + $stmt->execute([$name_en, $name_ar, $desc_en, $desc_ar, $id]); + $_SESSION['flash_message'] = __('update_poison') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'delete_poison') { + $id = $_POST['id'] ?? ''; + if ($id) { + $stmt = $db->prepare("DELETE FROM poisons WHERE id = ?"); + $stmt->execute([$id]); + $_SESSION['flash_message'] = __('delete_poison') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'add_test_group') { + $name_en = $_POST['name_en'] ?? ''; + $name_ar = $_POST['name_ar'] ?? ''; + if ($name_en && $name_ar) { + $stmt = $db->prepare("INSERT INTO test_groups (name_en, name_ar) VALUES (?, ?)"); + $stmt->execute([$name_en, $name_ar]); + $_SESSION['flash_message'] = __('add_test_group') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'edit_test_group') { + $id = $_POST['id'] ?? ''; + $name_en = $_POST['name_en'] ?? ''; + $name_ar = $_POST['name_ar'] ?? ''; + if ($id && $name_en && $name_ar) { + $stmt = $db->prepare("UPDATE test_groups SET name_en = ?, name_ar = ? WHERE id = ?"); + $stmt->execute([$name_en, $name_ar, $id]); + $_SESSION['flash_message'] = __('update_test_group') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'delete_test_group') { + $id = $_POST['id'] ?? ''; + if ($id) { + $stmt = $db->prepare("DELETE FROM test_groups WHERE id = ?"); + $stmt->execute([$id]); + $_SESSION['flash_message'] = __('delete_test_group') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'add_test') { + $name_en = $_POST['name_en'] ?? ''; + $name_ar = $_POST['name_ar'] ?? ''; + $group_id = $_POST['group_id'] ?: null; + $price = $_POST['price'] ?? 0; + if ($name_en && $name_ar) { + $stmt = $db->prepare("INSERT INTO laboratory_tests (name_en, name_ar, group_id, price) VALUES (?, ?, ?, ?)"); + $stmt->execute([$name_en, $name_ar, $group_id, $price]); + $_SESSION['flash_message'] = __('add_test') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'edit_test') { + $id = $_POST['id'] ?? ''; + $name_en = $_POST['name_en'] ?? ''; + $name_ar = $_POST['name_ar'] ?? ''; + $group_id = $_POST['group_id'] ?: null; + $price = $_POST['price'] ?? 0; + if ($id && $name_en && $name_ar) { + $stmt = $db->prepare("UPDATE laboratory_tests SET name_en = ?, name_ar = ?, group_id = ?, price = ? WHERE id = ?"); + $stmt->execute([$name_en, $name_ar, $group_id, $price, $id]); + $_SESSION['flash_message'] = __('update_test') . ' ' . __('successfully'); + $redirect = true; + } + } elseif ($_POST['action'] === 'delete_test') { + $id = $_POST['id'] ?? ''; + if ($id) { + $stmt = $db->prepare("DELETE FROM laboratory_tests WHERE id = ?"); + $stmt->execute([$id]); + $_SESSION['flash_message'] = __('delete_test') . ' ' . __('successfully'); + $redirect = true; } } } -} + + if ($redirect) { + header("Location: " . $_SERVER['REQUEST_URI']); + exit; + } +} \ No newline at end of file diff --git a/includes/common_data.php b/includes/common_data.php index 11f4845..28ab8f8 100644 --- a/includes/common_data.php +++ b/includes/common_data.php @@ -2,10 +2,17 @@ // Common data for selects $all_doctors = $db->query("SELECT id, name_$lang as name FROM doctors")->fetchAll(); $all_patients = $db->query("SELECT id, name FROM patients")->fetchAll(); +$all_nurses = $db->query("SELECT id, name_$lang as name FROM nurses")->fetchAll(); +$all_departments = $db->query("SELECT id, name_$lang as name FROM departments")->fetchAll(); +$all_employees = $db->query("SELECT id, name_$lang as name FROM employees")->fetchAll(); +$all_poisons = $db->query("SELECT id, name_$lang as name FROM poisons")->fetchAll(); $all_insurance = $db->query("SELECT id, name_$lang as name FROM insurance_companies")->fetchAll(); +$all_test_groups = $db->query("SELECT id, name_$lang as name FROM test_groups")->fetchAll(); +$all_tests = $db->query("SELECT id, name_$lang as name, price FROM laboratory_tests")->fetchAll(); + $scheduled_appointments = $db->query(" SELECT a.id, p.name as patient_name, a.appointment_date, a.patient_id, a.doctor_id FROM appointments a JOIN patients p ON a.patient_id = p.id WHERE a.status = 'Scheduled' - ORDER BY a.appointment_date ASC")->fetchAll(); + ORDER BY a.appointment_date ASC")->fetchAll(); \ No newline at end of file diff --git a/includes/layout/footer.php b/includes/layout/footer.php index 065a9df..39b91f5 100644 --- a/includes/layout/footer.php +++ b/includes/layout/footer.php @@ -74,6 +74,438 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +