+
+
\ No newline at end of file
diff --git a/random_users.php b/random_users.php
new file mode 100644
index 0000000..3820032
--- /dev/null
+++ b/random_users.php
@@ -0,0 +1,10 @@
+ U fajlu category.php pozvati funkciju getCategories. Ovu funkciju napisati u functions.php fajlu. Funkcija getCategories STRIKTNO
+prima promenljivu $cat = " na2t5u25re spo12r54t funn82y cake2! 8sea au#!tumn!"; i vraća niz koji sadrži reči koje se sastoje SAMO iz brojeva i slova i čija je dužina podatka veća od 4.
+
2. `createUsers` osim toga, sta kreira korisnika rade parsiranje iz string-ova i autogenerisanje random podataka šta predstavlja **God Function** i uništava **Single Responsibility Principle**.
-Bolje uraditi klas `User` koji će imati `createUserStmp`, `createUser` i `createUsers` koji uzimaju prototip objekata od klasa User.
\ No newline at end of file
+Bolje uraditi klas `User` koji će imati `createUser` koji uzimaju prototip objekata od klasa User. A za kreiranje random korisnika biće funkcija izvan `createRandomUsers`
+> Kreirati funkciju createUsers i smestiti je u fajl functions.php. Pozvati ovu funkciju u fajlu users.php. Niz $names =
+['ChrIS2','JohHn2','3toM','rAY','AxEl', '1bOraT'] i niz $level = ['admin','reporter','guest'] smestiti u fajl config.php. Funkcija
+createUsers treba striktno da prima odgovarajuće parametre i da striktno vrati niz sa 3 korisnika. Niz users treba da poseduje 3
+podniza sa indeksima: username, password, hashed_password, age, name, email, level. Primenom funkcije array_map sve
+vrednosti u nizu names promeniti tako da se uklone svi brojevi i da samo prvi karakter bude veliko slovo
+
+3. Isto iz drugog koraka, bolje uraditi klasu `User` i vratiti umesto asociativnog niza prototip klasa `User` sa svima metodami za odbradu i poljami.
+
+3. Bolje logiku za `User` ostaviti samo u klasu, kreirati `LEVELS` konstantu u klase nego u config.php koji odgovara za sav aplikaciju.
+
+4. Nemamo ponavljanjih imena (*'ChrIS2','JohHn2','3toM','rAY','AxEl', '1bOraT'*) i zato taj uslov nikada nece biti ispunjen.
+> Ukoliko je već korišćeno neko ime u nizu, dodati slučajni broj između 10 i 200 na kraj username-a (na primer useraxel123).
\ No newline at end of file
diff --git a/users.php b/users.php
new file mode 100644
index 0000000..9a4abda
--- /dev/null
+++ b/users.php
@@ -0,0 +1,22 @@
+beginTransaction();
+
+ foreach ($random_users as $rand_user) {
+ User::createUser(
+ $rand_user['username'],
+ $rand_user['password'],
+ $rand_user['age'],
+ $rand_user['name'],
+ $rand_user['email'],
+ $rand_user['level']
+ );
+ }
+
+ $pdo->commit();
+}
+catch(Exception $ex) {
+ $pdo->rollBack();
+ print($ex->getMessage());
+}
\ No newline at end of file
diff --git a/web_prog_task_15.sql b/web_prog_task_15.sql
deleted file mode 100644
index 8b7db48..0000000
--- a/web_prog_task_15.sql
+++ /dev/null
@@ -1,193 +0,0 @@
--- phpMyAdmin SQL Dump
--- version 5.2.3
--- https://www.phpmyadmin.net/
---
--- Хост: localhost
--- Время создания: Дек 24 2025 г., 13:06
--- Версия сервера: 12.0.2-MariaDB
--- Версия PHP: 8.4.14
-
-SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
-START TRANSACTION;
-SET time_zone = "+00:00";
-
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8mb4 */;
-
---
--- База данных: `web_prog_task_15`
---
-
--- --------------------------------------------------------
-
---
--- Структура таблицы `categories`
---
-
-CREATE TABLE `categories` (
- `id` int(11) NOT NULL,
- `name` varchar(50) NOT NULL,
- `code` int(11) DEFAULT 0,
- `date_time_added` datetime DEFAULT current_timestamp()
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
---
--- Дамп данных таблицы `categories`
---
-
-INSERT INTO `categories` (`id`, `name`, `code`, `date_time_added`) VALUES
-(1, 'nature', 7106, '2025-12-23 12:53:25'),
-(2, 'sport', 3419, '2025-12-23 12:53:25'),
-(3, 'funny', 4055, '2025-12-23 12:53:25');
-
--- --------------------------------------------------------
-
---
--- Структура таблицы `errors`
---
-
-CREATE TABLE `errors` (
- `id` int(11) NOT NULL,
- `username` varchar(50) NOT NULL,
- `password` varchar(255) NOT NULL,
- `date_time` datetime DEFAULT current_timestamp()
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
--- --------------------------------------------------------
-
---
--- Структура таблицы `logs`
---
-
-CREATE TABLE `logs` (
- `id` int(11) NOT NULL,
- `user_id` int(11) NOT NULL,
- `date_time_added` datetime DEFAULT current_timestamp()
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
--- --------------------------------------------------------
-
---
--- Структура таблицы `photos`
---
-
-CREATE TABLE `photos` (
- `id` int(11) NOT NULL,
- `user_id` int(11) NOT NULL,
- `category_id` int(11) NOT NULL,
- `file` varchar(255) NOT NULL,
- `description` text DEFAULT NULL,
- `date_time_added` datetime DEFAULT current_timestamp()
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
--- --------------------------------------------------------
-
---
--- Структура таблицы `users`
---
-
-CREATE TABLE `users` (
- `id` int(11) NOT NULL,
- `username` varchar(50) NOT NULL,
- `password` varchar(255) NOT NULL,
- `age` int(11) NOT NULL,
- `email` varchar(100) NOT NULL,
- `level` enum('admin','reporter','guest') NOT NULL,
- `date_time_added` datetime DEFAULT current_timestamp()
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
---
--- Индексы сохранённых таблиц
---
-
---
--- Индексы таблицы `categories`
---
-ALTER TABLE `categories`
- ADD PRIMARY KEY (`id`);
-
---
--- Индексы таблицы `errors`
---
-ALTER TABLE `errors`
- ADD PRIMARY KEY (`id`);
-
---
--- Индексы таблицы `logs`
---
-ALTER TABLE `logs`
- ADD PRIMARY KEY (`id`),
- ADD KEY `user_id` (`user_id`);
-
---
--- Индексы таблицы `photos`
---
-ALTER TABLE `photos`
- ADD PRIMARY KEY (`id`),
- ADD KEY `user_id` (`user_id`),
- ADD KEY `category_id` (`category_id`);
-
---
--- Индексы таблицы `users`
---
-ALTER TABLE `users`
- ADD PRIMARY KEY (`id`);
-
---
--- AUTO_INCREMENT для сохранённых таблиц
---
-
---
--- AUTO_INCREMENT для таблицы `categories`
---
-ALTER TABLE `categories`
- MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
-
---
--- AUTO_INCREMENT для таблицы `errors`
---
-ALTER TABLE `errors`
- MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
-
---
--- AUTO_INCREMENT для таблицы `logs`
---
-ALTER TABLE `logs`
- MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
-
---
--- AUTO_INCREMENT для таблицы `photos`
---
-ALTER TABLE `photos`
- MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
-
---
--- AUTO_INCREMENT для таблицы `users`
---
-ALTER TABLE `users`
- MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
-
---
--- Ограничения внешнего ключа сохраненных таблиц
---
-
---
--- Ограничения внешнего ключа таблицы `logs`
---
-ALTER TABLE `logs`
- ADD CONSTRAINT `logs_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`);
-
---
--- Ограничения внешнего ключа таблицы `photos`
---
-ALTER TABLE `photos`
- ADD CONSTRAINT `photos_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`),
- ADD CONSTRAINT `photos_ibfk_2` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`);
-COMMIT;
-
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;