123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <?php
- define("COLOR_DEFAULT", "");
- define("COLOR_YELLOW", "\033[93m");
- define("COLOR_RED", "\033[91m");
- define("COLOR_GREEN", "\033[92m");
- define("COLOR_TERMINATOR", "\033[0m");
- // Выводит строку информации и окрашивает её в определённый цвет
- function displayMessage($string, $color = COLOR_DEFAULT) : void {
- echo $color.$string.COLOR_TERMINATOR;
- }
- // Создаёт БД
- function databaseUp($file_path) {
- $db = new SQLite3($file_path);
- $db->query('CREATE TABLE "regen_reports" (
- "id" INTEGER,
- "subject_id" INTEGER,
- "work_type" INTEGER,
- "work_number" TEXT,
- "notice" TEXT,
- "date_create" DATETIME,
- "markup" TEXT,
- PRIMARY KEY("id"))');
- $db->query('CREATE TABLE "regen_subjects"(
- "id" INTEGER PRIMARY KEY,
- "name" TEXT,
- "code" TEXT,
- "teacher_id" INTEGER)');
- $db->query('CREATE TABLE "regen_teachers" (
- "id" INTEGER PRIMARY KEY,
- "surname" TEXT,
- "name" TEXT,
- "patronymic" TEXT)');
- $db->query('CREATE TABLE "regen_worktypes"(
- "id" INTEGER PRIMARY KEY,
- "name_nom" TEXT,
- "name_gen" TEXT,
- "name_titlepage" INTEGER)');
- $db->query("INSERT INTO 'regen_teachers' VALUES (1,'Пивоваров','Сергей','Александрович')");
- $db->query("INSERT INTO 'regen_teachers' VALUES (2,'Ильина','Светлана','Анатольевна')");
- $db->query("INSERT INTO 'regen_teachers' VALUES (3,'Галимова','Екатерина','Валерьевна')");
- $db->query("INSERT INTO 'regen_teachers' VALUES (4,'Немтинова','Елена','Александровна')");
- $db->query("INSERT INTO 'regen_worktypes' VALUES (1,'ЛАБОРАТОРНАЯ РАБОТА','ЛАБОРАТОРНОЙ РАБОТЫ','лабораторной работе')");
- $db->query("INSERT INTO 'regen_worktypes' VALUES (2,'ПРАКТИЧЕСКАЯ РАБОТА','ПРАКТИЧЕСКОЙ РАБОТЫ','практической работе')");
- }
- // Возвращает ввод пользователя
- function userInput($prompt) : string {
- displayMessage($prompt, COLOR_DEFAULT);
- return rtrim(fgets(STDIN));
- }
- // 1. Создание БД
- $db_path = __DIR__."/db.sqlite3";
- if (file_exists($db_path)) {
- displayMessage("Файл базы данных уже существует -- пропускаем создание\n", COLOR_YELLOW);
- } else {
- displayMessage("Создаём базу данных...\n", COLOR_YELLOW);
- databaseUp($db_path);
- displayMessage("База данных успешно создана!\n", COLOR_GREEN);
- }
- // 2. Заполнение .env файла
- $env_path = __DIR__."/.env";
- if (file_exists($env_path)) {
- displayMessage("Файл env уже существует -- пропускаем создание\n", COLOR_YELLOW);
- } else {
- $user_name = userInput("Введи твоё имя\n");
- $user_surname = userInput("Введи твою фамилию\n");
- $user_patronymic = userInput("Введи твоё отчество\n");
- $user_group = userInput("Введи группу в которой ты учишься. Например 3ИС\n");
- $user_code = userInput("Введи конец шифра в твоих отчётах. Например .012.09.02.07.000\n");
- $journal_login = userInput("Введи логин от электронного дневника\n");
- $journal_password = userInput("Введи пароль от электронного дневника\n");
- $period_id = userInput("Введи текущий period_id\n");
- $full = $user_surname.' '.mb_substr($user_name, 0, 1).'. '.mb_substr($user_patronymic, 0, 1).'.';
- $fp = fopen($env_path, 'w');
- fwrite($fp, "user_name=".$user_name."\n");
- fwrite($fp, "journal_login=".$journal_login."\n");
- fwrite($fp, "journal_password=".$journal_password."\n");
- fwrite($fp, "period_id=".$period_id."\n");
- fwrite($fp, "autogost_surname=".$user_surname."\n");
- fwrite($fp, "autogost_full=".$full."\n");
- fwrite($fp, "autogost_group=".$user_group."\n");
- fwrite($fp, "autogost_code=".$user_code."\n");
-
- fclose($fp);
- displayMessage("Файл настроек успешно создан!\n", COLOR_GREEN);
- }
|