<?php
session_start();

// Проверка аутентификации
if (!isset($_SESSION['user_id'])) {
    header("Location: login.php");
    exit();
}

// Проверка роли пользователя
$db = new SQLite3('schedule.db');
$result = $db->query("SELECT role FROM users WHERE id = {$_SESSION['user_id']}");
$user = $result->fetchArray(SQLITE3_ASSOC);

if ($user['role'] !== 'admin') {
    echo "У вас нет прав для выполнения этого действия.";
    exit();
}

// Удаление существующей базы данных
if (file_exists('schedule.db')) {
    unlink('schedule.db');
}

// Подключение к базе данных SQLite
$db = new SQLite3('schedule.db');

$db->exec("CREATE TABLE IF NOT EXISTS doctors (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    specialty TEXT,
    date DATE,
    name TEXT,
    cab INTEGER,
    monday TEXT,
    tuesday TEXT,
    wednesday TEXT,
    thursday TEXT,
    friday TEXT,
    saturday TEXT,
    is_active BOOLEAN DEFAULT 1
)");

// Создание таблицы users, если она еще не существует
$db->exec("CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    username TEXT UNIQUE,
    password TEXT,
    role TEXT DEFAULT 'user'
)");

// Вставка пользователя с логином 'admin' и паролем 'password' с ролью 'admin'
$hashed_password = password_hash('password', PASSWORD_DEFAULT);
$hashed_password1 = password_hash('password1', PASSWORD_DEFAULT);
$db->exec("INSERT INTO users (username, password, role) VALUES ('admin', '$hashed_password', 'admin')");
$db->exec("INSERT INTO users (username, password, role) VALUES ('manager', '$hashed_password1', 'manager')");
// Массивы с предопределёнными значениями
$specialties = [
    'терапевт',
    'кардиолог',
    'педиатр',
    'гинеколог',
    'онколог',
    'невролог',
    'хирург',
    'дерматолог',
    'эндокринолог',
    'невролог'
];

/*$specialties = [
    'терапевт'
];*/
$firstNames = [
    'Иван', 'Мария', 'Петр', 'Анна', 'Дмитрий', 'Елена', 'Сергей', 'Татьяна', 'Алексей', 'Ольга'
];

/*$firstNames = [
    'Иванова'
];*/

$lastNames = [
    'Иванов', 'Петрова', 'Смирнов', 'Сидорова', 'Кузнецов', 'Васильева', 'Попов', 'Новикова', 'Михайлов', 'Федорова'
];

/*$lastNames = [
    'Ольга'
];*/

$patronymics = [
    'Иванович', 'Петровна', 'Смирнович', 'Сидорова', 'Кузнецович', 'Васильевна', 'Попович', 'Новиковна', 'Михайлович', 'Федоровна'
];

/*$patronymics = [
    'Ивановна'
];*/

$schedules = [
    '10-19', '11-20', '09-18', '12-21', '13-22', '08-17', '14-23'
];

/*$schedules = [
    '10-19'
];*/

$cab = [
    '101','202','303','404'
];

$is_active_values = [0, 1, 2]; // 0 - не активен, 1 - активен
//$is_active_values = 0;
// Функция для генерации случайного имени
function getRandomName($firstNames, $lastNames, $patronymics) {
    $firstName = $firstNames[array_rand($firstNames)];
    $lastName = $lastNames[array_rand($lastNames)];
    $patronymic = $patronymics[array_rand($patronymics)];
    return "$lastName $firstName $patronymic";
}

// Вставка случайных записей в таблицу doctors
for ($i = 1; $i <= 60; $i++) {
    $specialty = $specialties[array_rand($specialties)];
    $name = getRandomName($firstNames, $lastNames, $patronymics);
	$cab_v = $cab[array_rand($cab)];
    $monday = $schedules[array_rand($schedules)];
    $tuesday = $schedules[array_rand($schedules)];
    $wednesday = $schedules[array_rand($schedules)];
    $thursday = $schedules[array_rand($schedules)];
    $friday = $schedules[array_rand($schedules)];
    $saturday = $schedules[array_rand($schedules)];
    $is_active = $is_active_values[array_rand($is_active_values)];

    $db->exec("INSERT INTO doctors (specialty, name,cab, monday, tuesday, wednesday, thursday, friday, saturday, is_active) 
               VALUES ('$specialty', '$name', '$cab_v', '$monday', '$tuesday', '$wednesday', '$thursday', '$friday', '$saturday', $is_active)");
}

/*for ($i = 1; $i <= 30; $i++) {
$db->exec("INSERT INTO doctors (specialty, name, monday, tuesday, wednesday, thursday, friday, saturday, is_active) VALUES ('терапевт', 'Иванова Ольга Ивановна', '10-19', '10-19', '10-19', '10-19', '10-19', '10-19', 1)");
}*/

$db->close();

// Перенаправление на главную страницу
header("Location: index.php");
exit();
?> доработай скрипт. Сейчас не учитываются женские и мужские рода. нужно сделать чтобы генерировалось все правильно