From cf230299c9115d391624681afb8b11592cea3c51 Mon Sep 17 00:00:00 2001 From: REDGROUL <38361748+REDGROUL@users.noreply.github.com> Date: Fri, 19 Mar 2021 13:00:52 +0300 Subject: [PATCH 01/11] first commit of database --- umessenger.sql | 256 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 256 insertions(+) create mode 100644 umessenger.sql diff --git a/umessenger.sql b/umessenger.sql new file mode 100644 index 0000000..c453191 --- /dev/null +++ b/umessenger.sql @@ -0,0 +1,256 @@ +-- phpMyAdmin SQL Dump +-- version 5.0.2 +-- https://www.phpmyadmin.net/ +-- +-- Хост: 127.0.0.1:3306 +-- Время создания: Мар 19 2021 г., 12:59 +-- Версия сервера: 10.3.22-MariaDB +-- Версия PHP: 7.4.5 + +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 */; + +-- +-- База данных: `umessenger` +-- + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `channels` +-- + +CREATE TABLE `channels` ( + `id` bigint(20) NOT NULL, + `channel_name` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, + `photo` bigint(20) NOT NULL, + `description` varchar(512) COLLATE utf8mb4_unicode_ci NOT NULL, + `access` set('public','private','only link','') COLLATE utf8mb4_unicode_ci NOT NULL, + `link` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `dialog` +-- + +CREATE TABLE `dialog` ( + `dialog_id` bigint(20) NOT NULL, + `one_user_id` bigint(20) NOT NULL, + `two_user_id` bigint(20) NOT NULL, + `time_create` datetime NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `files` +-- + +CREATE TABLE `files` ( + `id` bigint(20) NOT NULL, + `name` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, + `path` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, + `owner_id` bigint(20) NOT NULL, + `hash_sum` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `time_upload` datetime DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `messages` +-- + +CREATE TABLE `messages` ( + `dialog_id` bigint(20) NOT NULL, + `message_id` bigint(20) NOT NULL, + `sender` bigint(20) NOT NULL, + `getter` bigint(20) NOT NULL, + `message_text` text COLLATE utf8mb4_unicode_ci NOT NULL, + `data_send` datetime NOT NULL, + `is_read` tinyint(1) NOT NULL, + `visible_one` tinyint(1) NOT NULL, + `visible_two` tinyint(1) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `report` +-- + +CREATE TABLE `report` ( + `report_id` bigint(20) NOT NULL, + `report_user_id` bigint(20) NOT NULL, + `reported_user_id` bigint(20) NOT NULL, + `message` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `type_report` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, + `message_id` bigint(20) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `token` +-- + +CREATE TABLE `token` ( + `uid` bigint(20) NOT NULL, + `token` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_agent` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `info_client` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `users` +-- + +CREATE TABLE `users` ( + `id` bigint(20) NOT NULL, + `login` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, + `nick` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, + `password` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL, + `photo` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `status` varchar(15) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `last_activity` datetime DEFAULT NULL, + `agressive_push` tinyint(1) DEFAULT NULL, + `role` varchar(12) COLLATE utf8mb4_unicode_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Индексы сохранённых таблиц +-- + +-- +-- Индексы таблицы `channels` +-- +ALTER TABLE `channels` + ADD PRIMARY KEY (`id`); + +-- +-- Индексы таблицы `dialog` +-- +ALTER TABLE `dialog` + ADD PRIMARY KEY (`dialog_id`), + ADD KEY `one_user_id` (`one_user_id`,`two_user_id`), + ADD KEY `two_user_id` (`two_user_id`); + +-- +-- Индексы таблицы `files` +-- +ALTER TABLE `files` + ADD PRIMARY KEY (`id`), + ADD KEY `owner_id` (`owner_id`); + +-- +-- Индексы таблицы `messages` +-- +ALTER TABLE `messages` + ADD KEY `message_id` (`message_id`); + +-- +-- Индексы таблицы `report` +-- +ALTER TABLE `report` + ADD PRIMARY KEY (`report_id`), + ADD KEY `report_user_id` (`report_user_id`), + ADD KEY `reported_user_id` (`reported_user_id`), + ADD KEY `message_id` (`message_id`); + +-- +-- Индексы таблицы `token` +-- +ALTER TABLE `token` + ADD KEY `uid` (`uid`); + +-- +-- Индексы таблицы `users` +-- +ALTER TABLE `users` + ADD PRIMARY KEY (`id`); + +-- +-- AUTO_INCREMENT для сохранённых таблиц +-- + +-- +-- AUTO_INCREMENT для таблицы `channels` +-- +ALTER TABLE `channels` + MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT для таблицы `dialog` +-- +ALTER TABLE `dialog` + MODIFY `dialog_id` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT для таблицы `files` +-- +ALTER TABLE `files` + MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT для таблицы `messages` +-- +ALTER TABLE `messages` + MODIFY `message_id` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT для таблицы `report` +-- +ALTER TABLE `report` + MODIFY `report_id` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT для таблицы `users` +-- +ALTER TABLE `users` + MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- Ограничения внешнего ключа сохраненных таблиц +-- + +-- +-- Ограничения внешнего ключа таблицы `dialog` +-- +ALTER TABLE `dialog` + ADD CONSTRAINT `dialog_ibfk_1` FOREIGN KEY (`one_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + ADD CONSTRAINT `dialog_ibfk_2` FOREIGN KEY (`two_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- +-- Ограничения внешнего ключа таблицы `files` +-- +ALTER TABLE `files` + ADD CONSTRAINT `files_ibfk_1` FOREIGN KEY (`owner_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- +-- Ограничения внешнего ключа таблицы `report` +-- +ALTER TABLE `report` + ADD CONSTRAINT `report_ibfk_1` FOREIGN KEY (`report_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + ADD CONSTRAINT `report_ibfk_2` FOREIGN KEY (`reported_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- +-- Ограничения внешнего ключа таблицы `token` +-- +ALTER TABLE `token` + ADD CONSTRAINT `token_ibfk_1` FOREIGN KEY (`uid`) REFERENCES `users` (`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 */; From e800a9d0ff3d265859837844718c3fdc1f3cc298 Mon Sep 17 00:00:00 2001 From: REDGROUL <38361748+REDGROUL@users.noreply.github.com> Date: Fri, 19 Mar 2021 13:02:31 +0300 Subject: [PATCH 02/11] Delete .htaccess --- .htaccess | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 .htaccess diff --git a/.htaccess b/.htaccess deleted file mode 100644 index de6024e..0000000 --- a/.htaccess +++ /dev/null @@ -1,6 +0,0 @@ -RewriteEngine on -RewriteCond %{REQUEST_URI} ^(?!/files/images).* -RewriteCond %{REQUEST_URI} ^(?!/files/sounds).* -RewriteRule ^(.*)$ index.php?q=$1 [L] -RewriteRule %{REQUEST_FILENAME} !-d -RewriteRule %{REQUEST_FILENAME} !-f \ No newline at end of file From 706f71bc09bad63a90e6e4140719f62b3ccca017 Mon Sep 17 00:00:00 2001 From: REDGROUL <38361748+REDGROUL@users.noreply.github.com> Date: Fri, 19 Mar 2021 13:02:42 +0300 Subject: [PATCH 03/11] Delete DBconnect.php --- DBconnect.php | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 DBconnect.php diff --git a/DBconnect.php b/DBconnect.php deleted file mode 100644 index f3bab76..0000000 --- a/DBconnect.php +++ /dev/null @@ -1,12 +0,0 @@ - Date: Fri, 19 Mar 2021 13:02:52 +0300 Subject: [PATCH 04/11] Delete Get.php --- Get.php | 181 -------------------------------------------------------- 1 file changed, 181 deletions(-) delete mode 100644 Get.php diff --git a/Get.php b/Get.php deleted file mode 100644 index 6762de9..0000000 --- a/Get.php +++ /dev/null @@ -1,181 +0,0 @@ -$url_data(); - } - catch(Throwable $url_data){ - Jsons::jsonOutput(false, 'method', 'unknown method called'); - } - - } - - function getInfo() - { - if($result = Gets::checkToken()){ - $url = $_SERVER['REQUEST_URI']; - $id = explode('/', $url)[2]; - if(isset($id) and $id!=""){ - $query = mysqli_query($this->connect(), "SELECT * FROM `users` WHERE `id` = '$id'"); - if(mysqli_num_rows($query) == 1){ - $result = mysqli_fetch_assoc($query); - unset($result['password']); - unset($result['token']); - unset($result['uid']); - unset($result['user_agent']); - unset($result['info_client']); - unset($result['login']); - Jsons::jsonOutput(true, $result); - }else{ - Jsons::jsonOutput(false, 'id','user not found'); - } - }else{ - unset($result['password']); - unset($result['token']); - unset($result['uid']); - unset($result['user_agent']); - unset($result['info_client']); - Jsons::jsonOutput(true, $result); - } - }else{ - Jsons::jsonOutput(false, 'login','unauth'); - } - - } - /** - * - * todo - * дополение данных инфой польователй - * убрать дублирование диалогов - * - * - */ - function getDialogs() - { - if($result = Gets::checkToken()){ - $uid = $result['uid']; - $query = mysqli_query($this->connect(), "SELECT * FROM `dialog` WHERE `one_user_id` = '$uid' OR `two_user_id` = '$uid'"); - while($row=mysqli_fetch_assoc($query)){ - if($row['one_user_id'] == $uid){ - unset($row['one_user_id']); - $id = $row['two_user_id']; - $qry = mysqli_query($this->connect(), "SELECT * FROM `users` WHERE `id` = '$id' "); - $tmp = mysqli_fetch_assoc($qry); - $row['secnod_user'] = $id; - $row['photo'] = $tmp['photo']; - $row['nick'] = $tmp['nick']; - unset($row['two_user_id']); - }else{ - unset($row['two_user_id']); - $id = $row['one_user_id']; - $qry = mysqli_query($this->connect(), "SELECT * FROM `users` WHERE `id` = '$id' "); - $tmp = mysqli_fetch_assoc($qry); - $row['secnod_user'] = $id; - $row['photo'] = $tmp['photo']; - $row['nick'] = $tmp['nick']; - unset($row['one_user_id']); - } - $data[] = $row; - } - - Jsons::jsonOutput(true, $data); - }else{ - Jsons::jsonOutput(false, 'login','unauth'); - } - } - - function getMessage() - { - - if(Gets::checkToken()){ - $url = $_SERVER['REQUEST_URI']; - $dialog_id = explode('/', $url)[2]; - $date = date("2021-02-06"); - if(!empty($dialog_id)){ - $query = mysqli_query($this->connect(), "SELECT * FROM `messages` WHERE `dialog_id` = '$dialog_id'"); - if($query == true){ - while($row=mysqli_fetch_assoc($query)){ - $data[] = $row; - } - - if(!empty($data)){ - Jsons::jsonOutput(true, $data); - }else{ - Jsons::jsonOutput(false, "dialog", "access denied"); - } - }else{ - Jsons::jsonOutput(false, "message", "some problem"); - } - }else{ - Jsons::jsonOutput(false, 'dialog_id', 'not exist'); - } - - }else{} - } - - function search() - { - if(Gets::checkToken()){ - $url = $_SERVER['REQUEST_URI']; - $login = explode('/', $url)[2]; - empty($login) ? $error['login'] = "empty" : $login; - if(!empty($login)){ - $query = mysqli_query($this->connect(), "SELECT * FROM `users` WHERE `login` = '$login'"); - if(mysqli_num_rows($query) == 1){ - $result = mysqli_fetch_assoc($query); - unset($result['password']); - unset($result['last_activity']); - unset($result['status']); - Jsons::jsonOutput(true, $result); - }else{ - Jsons::jsonOutput(false, 'login', 'not found'); - } - }else{ - Jsons::jsonOutput(false, 'login', 'empty'); - } - }else{ - Jsons::jsonOutput(false, 'login', 'unauth'); - } - } - - function checkAuth() - { - if(Gets::checkToken()){ - Jsons::jsonOutput(true, 'auth', 'ok'); - }else{ - Jsons::jsonOutput(false, 'auth', 'unauth'); - } - } - - function userSearch() - { - - if(Gets::checkToken()){ - $url = $_SERVER['REQUEST_URI']; - $name = explode('/', $url)[2]; - $query = mysqli_query($this->connect(), "SELECT * FROM `users` WHERE `nick` LIKE '%$name%'"); - if($query == true){ - while($row = mysqli_fetch_assoc($query)){ - $data[] = $row; - } - unset($result['password']); - unset($result['last_activity']); - unset($result['status']); - Jsons::jsonOutput(true, $data); - } - - } - } - - function getContacts() - { - } - - function getLastActivity() - { - - } -} \ No newline at end of file From 9195a7572e0605204a1a48f83520dd98d3561597 Mon Sep 17 00:00:00 2001 From: REDGROUL <38361748+REDGROUL@users.noreply.github.com> Date: Fri, 19 Mar 2021 13:03:00 +0300 Subject: [PATCH 05/11] Delete Gets.php --- Gets.php | 36 ------------------------------------ 1 file changed, 36 deletions(-) delete mode 100644 Gets.php diff --git a/Gets.php b/Gets.php deleted file mode 100644 index e31f742..0000000 --- a/Gets.php +++ /dev/null @@ -1,36 +0,0 @@ -connect(), "SELECT * FROM `token` INNER JOIN `users` ON token.uid = users.id WHERE `token` = '$token'"); - if(mysqli_num_rows($query) == 1){ - return mysqli_fetch_assoc($query); - }else{ - return false; - } - } - -} \ No newline at end of file From f62dff98a56eb54bcbba0cf769290af8b331a0e4 Mon Sep 17 00:00:00 2001 From: REDGROUL <38361748+REDGROUL@users.noreply.github.com> Date: Fri, 19 Mar 2021 13:03:07 +0300 Subject: [PATCH 06/11] Delete Jsons.php --- Jsons.php | 39 --------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 Jsons.php diff --git a/Jsons.php b/Jsons.php deleted file mode 100644 index 757c819..0000000 --- a/Jsons.php +++ /dev/null @@ -1,39 +0,0 @@ -$status, - "payload"=>$name_key - ]); - }else{ - echo json_encode([ - "status"=>$status, - "error"=>$name_key - ]); - } - }else{ - if($status == true){ - echo json_encode([ - "status"=>$status, - "payload"=>array_combine(explode(',',str_replace(' ', '',$name_key)) , explode(',', $value)) - ]); - }else{ - echo json_encode([ - "status"=>$status, - "error"=>array_combine(explode(',',str_replace(' ', '',$name_key)) , explode(',', $value)) - ]); - } - } - } -} \ No newline at end of file From 80c3306796fbc682f261d779283dea969bc8c0ba Mon Sep 17 00:00:00 2001 From: REDGROUL <38361748+REDGROUL@users.noreply.github.com> Date: Fri, 19 Mar 2021 13:03:13 +0300 Subject: [PATCH 07/11] Delete Post.php --- Post.php | 408 ------------------------------------------------------- 1 file changed, 408 deletions(-) delete mode 100644 Post.php diff --git a/Post.php b/Post.php deleted file mode 100644 index e56be2c..0000000 --- a/Post.php +++ /dev/null @@ -1,408 +0,0 @@ -$url_data(); - } - catch(Throwable $url_data){ - Jsons::jsonOutput(false, 'method', 'unknown method called'); - } - } - - function login() - { - $login = $_POST['login']; - $pass = $_POST['password']; - $user_agent = Gets::getUserAgent(); - $info = Gets::InfoClient(); - empty($login) ? $error['login'] = 'empty' : $_POST['login']; - empty($pass) ? $error['password'] = 'empty' : $_POST['password']; - if(!empty($login) and !empty($pass)){ - $query = mysqli_query($this->connect(), "SELECT * FROM `users` WHERE `login` = '$login'"); - if(mysqli_num_rows($query) == 1){ - $result = mysqli_fetch_assoc($query); - $password_hash = $result['password']; - $id = $result['id']; - if(password_verify($pass,$password_hash)){ - $token = hash("sha256", uniqid('', true)); - $result['token'] = $token; - $query = mysqli_query($this->connect(), "INSERT INTO `token`(`uid`, `token`) VALUES ('$id', '$token')"); - if($query == true){ - $date = date("Y-m-d H:i:s"); - mysqli_query($this->connect(), "UPDATE `users` SET `status`= 'online', `last_activity` = '$date' WHERE `id` = '$id'"); - unset($result['password']); - unset($result['last_activity']); - unset($result['status']); - Jsons::jsonOutput(true, $result); - }else{ - Jsons::jsonOutput(false, "unauth", "prikol"); - } - }else{ - unset($result); - Jsons::jsonOutput(false, 'password', 'wrong password'); - } - }else{ - Jsons::jsonOutput(false, 'login', 'wrong login'); - } - }else{ - Jsons::jsonOutput(false, $error); - } - } - - function register() - { - $login = $_POST['login']; - $pass = password_hash($_POST['password'], PASSWORD_DEFAULT); - $nick = $_POST['nick']; - if(!empty($login) and !empty($pass) and !empty($nick)) - { - if($this->loginfound($login) == true){ - $query = mysqli_query($this->connect(), "INSERT INTO `users`(`login`, `nick`, `password`, `photo`, `status`, `role`) - VALUES ('$login','$nick','$pass','http://api.messenger.com/files/images/standart.jpg','offline','user')"); - if($query == true){ - Jsons::jsonOutput(true ,"login", "register"); - }else{ - Jsons::jsonOutput(false,"sql", "sql error"); - } - }else{ - Jsons::jsonOutput(false,"login", "login exist"); - } - }else{ - Jsons::jsonOutput(false,"login", "login empty"); - } - } - - function changeLogin() - { - $new_login = $_POST['login']; - empty($new_login) ? $error['login'] = 'empty' : $_POST['login']; - if($result = Gets::checkToken()){ - if(!empty($new_login)){ - $old_login = $result['login']; - if(!empty($new_login)){ - if($this->loginfound($new_login) == true){ - mysqli_query($this->connect(), "UPDATE `users` SET `login`= '$new_login' WHERE `login` = '$old_login'"); - Jsons::jsonOutput(true, "login", "Login change"); - }else{ - Jsons::jsonOutput(false, "login","Login used"); - } - } - }else{ - Jsons::jsonOutput(false, 'login','empty'); - } - }else{ - Jsons::jsonOutput(false, 'login', 'unauth'); - } - } - - function changePass() - { - if($result = Gets::checkToken()){ - $id = $result['id']; - $db_pass = $result['password']; - $old_pass = $_POST['old_password']; - $new_pass = password_hash($_POST['new_password'], PASSWORD_DEFAULT); - if(!empty($new_pass)){ - if(password_verify($old_pass, $db_pass)){ - mysqli_query($this->connect(),"UPDATE `users` SET `password`= '$new_pass' WHERE `id` = '$id'"); - }else{ - Jsons::jsonOutput(false, 'pass', "wrong password"); - } - }else{ - Jsons::jsonOutput(false, 'pass', "password empty"); - } - }else{ - Jsons::jsonOutput(false, 'token', 'unauth'); - } - } - - function changeNick() - { - $new_nick = $_POST['nick']; - empty($new_nick) ? $error['nick'] = "empty" : $_POST['nick']; - if($result = Gets::checkToken()){ - if(!empty($new_nick)){ - $login = $result['login']; - if(!empty($new_nick)){ - if($this->loginfound($new_nick) == true){ - mysqli_query($this->connect(), "UPDATE `users` SET `nick`= '$new_nick' WHERE `login` = '$login'"); - Jsons::jsonOutput(true, "nick change"); - } - } - }else{ - Jsons::jsonOutput(false, 'nick', 'empty'); - } - }else{ - Jsons::jsonOutput(false, 'token', 'unauth'); - } - } - - - function changePhoto() - { - if($result = Gets::checkToken()){ - $uid = $result['uid']; - $uploaddir = 'files/images/'; - $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); - $file = uniqid('',true).'.'.explode('.', $uploadfile)[1]; - $sha = hash_file("sha256", $_FILES['userfile']['tmp_name']); - if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$file)) { - $path = 'http://'.$_SERVER['SERVER_NAME'].'/'.$uploaddir.$file; - $date = date("Y-m-d H:i:s"); - mysqli_query($this->connect(),"INSERT INTO `files`(`name`, `path`, `owner_id`, `hash_sum`, `time_upload`) - VALUES ('$file','$path','$uid','$sha', '$date')"); - mysqli_query($this->connect(), "UPDATE `users` SET `photo` = '$path' WHERE `id` = '$uid'"); - $array["name"]=$file; - $array["path"]=$path; - Jsons::jsonOutput(true, $array); - } else { - Jsons::jsonOutput(false,'photo', 'some error push form-data to redgroul'); - } - - }else{ - Jsons::jsonOutput(false,""); - } - - } - - - function loginfound($login = null) - { - if($login != null){ - $query = mysqli_query($this->connect(), "SELECT * FROM `users` WHERE `login` = '$login'"); - if(mysqli_num_rows($query) > 0){ - return false; - }else{ - return true; - } - }else { - $login = $_POST['login']; - } - } - - /** - * выставление статуса offline - * можно использовать для постоянного offline'а - */ - function setOffline() - { - if($result = Gets::checkToken()){ - $uid = $result['uid']; - $date = date("Y-m-d H:i:s"); - mysqli_query($this->connect(), "UPDATE `users` SET `status`= 'offline',`last_activity`= '$date' WHERE `id` = '$uid'"); - Jsons::jsonOutput(true, 'status', "change success"); - return $result['uid']; - }else{ - Jsons::jsonOutput(false, 'login', 'unauth'); - } - } - /** - * выход из учетки - */ - function logOut(){ - if($result = Gets::checkToken()){ - $id = $result['uid']; - $token = $result['token']; - $date = date("Y-m-d H:i:s"); - mysqli_query($this->connect(),"UPDATE `token` SET `token` = 'logout' WHERE `uid` = '$id' AND `token` = '$token'"); - mysqli_query($this->connect(), "UPDATE `users` SET `status`= 'offline',`last_activity`= '$date' WHERE `id` = '$id'"); - Jsons::jsonOutput(true, 'login', 'logout'); - - }else{ - Jsons::jsonOutput(false, 'login', 'unauth'); - } - } - - /**разлогин всех других устройств */ - function logOutOther() - { - if($result = Gets::checkToken()){ - $uid = $result['uid']; - $token = $result['token']; - $query = mysqli_query($this->connect(), "UPDATE `token` SET `token`= 'logout' - WHERE `uid` = '$uid' AND `token` != '$token'"); - if($query == true){ - Jsons::jsonOutput(true, 'login', "logout other"); - } - }else{ - Jsons::jsonOutput(false, "Unknown error"); - } - } - - /** - * очищает историю сессий - */ - function cleanHistorySessions() - { - if($result = Gets::checkToken()){ - $uid = $result['id']; - if(mysqli_query($this->connect(), "DELETE FROM `token` WHERE `uid` = '$uid' AND `token` = 'logout'")){ - Jsons::jsonOutput(true, ""); - } - }else{ - Jsons::jsonOutput(false, 'login', 'unauth'); - } - } - /** - * выставление статуса online - */ - function setOnline() - { - if($result = Gets::checkToken()){ - $uid = $result['id']; - mysqli_query($this->connect(), "UPDATE `users` SET `status`= 'online', `last_activity` = '0000-00-00 00:00:00' WHERE `id` = '$uid'"); - Jsons::jsonOutput(true, 'status', "change success"); - return $uid; - }else{ - Jsons::jsonOutput(false, 'token', 'unauth'); - return false; - } - } - /** - * Загрузка фото, идет проверка по хэшу, если есть в базе то просто вывдает ссылку, иначе - * загружает - */ - /** - * ПЕРЕДЕЛАТЬ НАХУЙ СРОЧНО!!!!!! - */ - function uploadFile() - { - if($result = Gets::checkToken()){ - $uid = $result['uid']; - $type_file = explode('.',$_FILES['userfile']['name']); - if(end($type_file) == 'jpg' or end($type_file) == 'jpeg' or end($type_file) == 'png'); - { - $uploaddir = 'files/images/'; - } - - if(end($type_file) == 'mp3') - { - $uploaddir = 'files/sounds/'; - }else{ - $uploaddir = 'files/other/'; - } - $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); - $file = uniqid('',true).'.'.explode('.', $uploadfile)[1]; - $sha = hash_file("sha256", $_FILES['userfile']['tmp_name']); - $query = mysqli_query($this->connect(), "SELECT * FROM `files` WHERE `hash_sum` = '$sha'"); - if(mysqli_num_rows($query) > 0){ - $result = mysqli_fetch_assoc($query); - $array["name"]=$file; - $array["path"]=$result['path']; - $array["datatime_upload"]=$result['time_upload']; - Jsons::jsonOutput(true, $array); - }else{ - if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$file)) { - $path = 'http://'.$_SERVER['SERVER_NAME'].'/'.$uploaddir.$file; - $date = date("Y-m-d H:i:s"); - mysqli_query($this->connect(),"INSERT INTO `files`(`name`, `path`, `owner_id`, `hash_sum`, `time_upload`) - VALUES ('$file','$path','$uid','$sha', '$date')"); - $array["name"]=$file; - $array["path"]=$path; - Jsons::jsonOutput(true, $array); - } else { - Jsons::jsonOutput(false,""); - } - } - } - } - - function report() - { - /* $message_id = $_POST['message_id']; - if(!empty($report_id = $_POST['report_user_id']) and !empty($_POST['type_report']) and !empty($_POST['message_id'])){ - if($result = Gets::checkToken()){ - $reporter = $result['id']; - $message = $_POST['message']; - $type = $_POST['type_report']; - if(mysqli_query($this->connect(), "INSERT INTO `report`(`report_user_id`, `reported_user_id`, `message`, `type_report`, `message_id`) - VALUES ('$report_id','$reporter','$message','$type', '$message_id')") == true){ - $array["report_user_id"]=$report_id; - $array["reporter"] = $reporter; - $array["message_report"]=$message; - $array["message_id"]=$message_id; - $array["type"]=$type; - Jsons::jsonOutput(true, $array); - } - }else{ - Jsons::jsonOutput(false, 'token', 'unauth'); - } - }else{ - empty($_POST['report_user_id']) ? $err['report_user_id'] = "empty" : $_POST['report_user_id']; - empty($_POST['type_report']) ? $err['type_report'] = "empty" : $_POST['type_report']; - empty($_POST['message_id']) ? $err['message_id'] = "empty" : $_POST['message_id']; - Jsons::jsonOutput(false, $err); - }*/ - - } - - - - function sendMessage() - { - $url = $_SERVER['REQUEST_URI']; - $dialog_id = explode('/', $url)[2]; - $get_user_id = explode('/', $url)[3]; - if($result = Gets::checkToken()){ - $id = $result['id']; - empty($dialog_id) ? $error['dialog_id'] = "empty" : $dialog_id; - empty($get_user_id) ? $error['get_user_id'] = "empty" : $get_user_id; - empty($_POST['message']) ? $error['message'] = "empty" : $message = $_POST['message']; - $date = date("Y-m-d H:i:s"); - $query = mysqli_query($this->connect(), "SELECT * FROM `dialog` WHERE `dialog_id` = '$dialog_id'"); - if($query == true){ - $result = mysqli_fetch_assoc($query); - if($get_user_id == $result['one_user_id'] and $get_user_id != $id or $get_user_id == $result['two_user_id'] and $get_user_id != $id){ - if(!empty($message)){ - $query = mysqli_query($this->connect(), "INSERT INTO `messages`(`dialog_id`, `message_text`, `sender`, `getter`, `data_send`, `is_read`, `visible_one`, `visible_two`) - VALUES ('$dialog_id','$message', '$id', '$get_user_id','$date','0','1','1')"); - if($query == true){ - Jsons::jsonOutput(true, "message, get_user, date_send", "'$message', '$get_user_id','$date'"); - } - }else{ - Jsons::jsonOutput(false, 'message', 'empty'); - } - }else{ - Jsons::jsonOutput(false, 'user','impossible to send'); - } - }else{ - Jsons::jsonOutput(false, 'dialog', 'not found'); - } - }else{ - Jsons::jsonOutput(false, 'login', 'unauth'); - } - } - - function createDialog() - { - if($result = Gets::checkToken()){ - $get_user_id = $_POST['user_id']; - $id = $result['id']; - if(!empty($get_user_id)){ - $query = mysqli_query($this->connect(), "SELECT * FROM `users` WHERE `id` = '$get_user_id'"); - if(mysqli_num_rows($query) == 1){ - $date = date("Y-m-d H:i:s"); - $check_dialog = mysqli_query($this->connect(), "SELECT * FROM `dialog` WHERE `one_user_id` = '$id' AND `two_user_id` = '$get_user_id' or `two_user_id` = '$id' AND `one_user_id` = '$get_user_id'"); - if(mysqli_num_rows($check_dialog)>0){ - $data = mysqli_fetch_assoc($check_dialog); - Jsons::jsonOutput(false, $data); - }else{ - $query = mysqli_query($this->connect(), "INSERT INTO `dialog`(`one_user_id`, `two_user_id`, `time_create`) - VALUES ('$id','$get_user_id','$date')"); - if($query == true){ - Jsons::jsonOutput(true, "dialog", "created"); - } - } - - }else{ - Jsons::jsonOutput(false, "dialog", "user not found"); - } - } - }else{ - Jsons::jsonOutput(false, "auth", "uauth"); - } - - } -} From 129a0e73b2282c4bc787fadd6a2e0965666d929a Mon Sep 17 00:00:00 2001 From: REDGROUL <38361748+REDGROUL@users.noreply.github.com> Date: Fri, 19 Mar 2021 13:03:20 +0300 Subject: [PATCH 08/11] Delete Router.php --- Router.php | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 Router.php diff --git a/Router.php b/Router.php deleted file mode 100644 index 998982d..0000000 --- a/Router.php +++ /dev/null @@ -1,24 +0,0 @@ -getContent($url_data[1]); - break; - - case "GET": - $get = new Get; - $get->getContent($url_data[1]); - break; - } - } -} \ No newline at end of file From ba648034b16728e84b4c82648b89c989ffa6e69a Mon Sep 17 00:00:00 2001 From: REDGROUL <38361748+REDGROUL@users.noreply.github.com> Date: Fri, 19 Mar 2021 13:03:26 +0300 Subject: [PATCH 09/11] Delete index.php --- index.php | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 index.php diff --git a/index.php b/index.php deleted file mode 100644 index 6b48a14..0000000 --- a/index.php +++ /dev/null @@ -1,20 +0,0 @@ - - From 3b620de8b47d14e58c7e691fd0e4ff5fb4eed84a Mon Sep 17 00:00:00 2001 From: REDGROUL <38361748+REDGROUL@users.noreply.github.com> Date: Fri, 19 Mar 2021 13:04:00 +0300 Subject: [PATCH 10/11] Update README.md --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 0fd34ef..1b3fcaa 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,2 @@ # unapi -Конченое костыльное restApi для мессенджера Universe. -Написано на чистом php. -Да прибудет с вами сила и спокойствие если вы решили разобраться в этой помойке +База данных для работы с данным API. From 49e4a0e00fb3a687a0811c6704dd27df33bc0a2d Mon Sep 17 00:00:00 2001 From: REDGROUL <38361748+REDGROUL@users.noreply.github.com> Date: Wed, 23 Jun 2021 19:45:24 +0300 Subject: [PATCH 11/11] last db --- umessenger (5).sql | 464 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 464 insertions(+) create mode 100644 umessenger (5).sql diff --git a/umessenger (5).sql b/umessenger (5).sql new file mode 100644 index 0000000..93c40b0 --- /dev/null +++ b/umessenger (5).sql @@ -0,0 +1,464 @@ +-- phpMyAdmin SQL Dump +-- version 5.0.2 +-- https://www.phpmyadmin.net/ +-- +-- Хост: 127.0.0.1:3306 +-- Время создания: Июн 21 2021 г., 10:58 +-- Версия сервера: 10.3.22-MariaDB +-- Версия PHP: 7.4.5 + +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 */; + +-- +-- База данных: `umessenger` +-- + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `chanell_subs` +-- + +CREATE TABLE `chanell_subs` ( + `id` int(11) NOT NULL, + `uid` bigint(20) NOT NULL, + `channel_name` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, + `channel_id` bigint(20) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `channell_messages` +-- + +CREATE TABLE `channell_messages` ( + `id_channel` bigint(20) NOT NULL, + `id_mess` bigint(20) NOT NULL, + `message` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `file` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `file_name` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `file_type` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `channels` +-- + +CREATE TABLE `channels` ( + `id` bigint(20) NOT NULL, + `channel_name` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, + `photo` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `description` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `access` set('public','private','only link','') COLLATE utf8mb4_unicode_ci NOT NULL, + `users_count` int(32) NOT NULL, + `creator` bigint(20) NOT NULL, + `content_managers` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL, + `link` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы ` conversation_dialogs` +-- + +CREATE TABLE ` conversation_dialogs` ( + `id` bigint(20) NOT NULL, + `name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, + `description` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `count_users` bigint(20) NOT NULL, + `photo` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Дамп данных таблицы ` conversation_dialogs` +-- + +INSERT INTO ` conversation_dialogs` (`id`, `name`, `description`, `count_users`, `photo`) VALUES +(1, 'test3', '', 1, ''), +(2, 'test3', '', 1, ''), +(3, 'test3', '', 1, 'files/images/60cb992ad6bf03.41308812.png'), +(4, 'test3', '', 1, 'files/images/60cb992ad6bf03.41308812.png'); + +-- -------------------------------------------------------- + +-- +-- Структура таблицы ` conversation_messages` +-- + +CREATE TABLE ` conversation_messages` ( + `id` bigint(20) NOT NULL, + `id_bigd` bigint(20) NOT NULL, + `uid` bigint(20) NOT NULL, + `message` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `file_name` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `file_path` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `type` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы ` conversation_subs` +-- + +CREATE TABLE ` conversation_subs` ( + `bigd_id` bigint(20) NOT NULL, + `uid` bigint(20) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `dialog` +-- + +CREATE TABLE `dialog` ( + `dialog_id` bigint(20) NOT NULL, + `one_user_id` bigint(20) NOT NULL, + `two_user_id` bigint(20) NOT NULL, + `time_create` datetime NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `files` +-- + +CREATE TABLE `files` ( + `id` bigint(20) NOT NULL, + `name` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, + `path` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, + `owner_id` bigint(20) NOT NULL, + `hash_sum` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `time_upload` datetime DEFAULT NULL, + `type` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `messages` +-- + +CREATE TABLE `messages` ( + `dialog_id` bigint(20) NOT NULL, + `message_id` bigint(20) NOT NULL, + `sender` bigint(20) NOT NULL, + `getter` bigint(20) DEFAULT NULL, + `message_text` text COLLATE utf8mb4_unicode_ci NOT NULL, + `message_file` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `type` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `data_send` datetime NOT NULL, + `is_read` tinyint(1) NOT NULL, + `visible_one` tinyint(1) NOT NULL, + `visible_two` tinyint(1) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `report` +-- + +CREATE TABLE `report` ( + `report_id` bigint(20) NOT NULL, + `report_user_id` bigint(20) NOT NULL, + `reported_user_id` bigint(20) NOT NULL, + `message` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `type_report` int(11) NOT NULL, + `message_id` bigint(20) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `token` +-- + +CREATE TABLE `token` ( + `uid` bigint(20) NOT NULL, + `token` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_agent` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `info_client` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `type_report` +-- + +CREATE TABLE `type_report` ( + `id` int(11) NOT NULL, + `name` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `users` +-- + +CREATE TABLE `users` ( + `id` bigint(20) NOT NULL, + `login` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, + `nick` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, + `password` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL, + `photo` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `status` varchar(15) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `last_activity` datetime DEFAULT NULL, + `agressive_push` tinyint(1) DEFAULT NULL, + `role` varchar(12) COLLATE utf8mb4_unicode_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Индексы сохранённых таблиц +-- + +-- +-- Индексы таблицы `chanell_subs` +-- +ALTER TABLE `chanell_subs` + ADD PRIMARY KEY (`id`), + ADD KEY `channel_id` (`channel_id`); + +-- +-- Индексы таблицы `channell_messages` +-- +ALTER TABLE `channell_messages` + ADD PRIMARY KEY (`id_mess`), + ADD KEY `id_channel` (`id_channel`); + +-- +-- Индексы таблицы `channels` +-- +ALTER TABLE `channels` + ADD PRIMARY KEY (`id`), + ADD KEY `creator` (`creator`); + +-- +-- Индексы таблицы ` conversation_dialogs` +-- +ALTER TABLE ` conversation_dialogs` + ADD PRIMARY KEY (`id`); + +-- +-- Индексы таблицы ` conversation_messages` +-- +ALTER TABLE ` conversation_messages` + ADD PRIMARY KEY (`id`), + ADD KEY `id_bigd` (`id_bigd`,`uid`); + +-- +-- Индексы таблицы ` conversation_subs` +-- +ALTER TABLE ` conversation_subs` + ADD KEY `bigd_id` (`bigd_id`,`uid`), + ADD KEY `uid` (`uid`); + +-- +-- Индексы таблицы `dialog` +-- +ALTER TABLE `dialog` + ADD PRIMARY KEY (`dialog_id`), + ADD KEY `one_user_id` (`one_user_id`,`two_user_id`), + ADD KEY `two_user_id` (`two_user_id`); + +-- +-- Индексы таблицы `files` +-- +ALTER TABLE `files` + ADD PRIMARY KEY (`id`), + ADD KEY `owner_id` (`owner_id`); + +-- +-- Индексы таблицы `messages` +-- +ALTER TABLE `messages` + ADD KEY `message_id` (`message_id`), + ADD KEY `sender` (`sender`), + ADD KEY `getter` (`getter`); + +-- +-- Индексы таблицы `report` +-- +ALTER TABLE `report` + ADD PRIMARY KEY (`report_id`), + ADD KEY `report_user_id` (`report_user_id`), + ADD KEY `reported_user_id` (`reported_user_id`), + ADD KEY `message_id` (`message_id`), + ADD KEY `type_report` (`type_report`); + +-- +-- Индексы таблицы `token` +-- +ALTER TABLE `token` + ADD KEY `uid` (`uid`); + +-- +-- Индексы таблицы `type_report` +-- +ALTER TABLE `type_report` + ADD PRIMARY KEY (`id`); + +-- +-- Индексы таблицы `users` +-- +ALTER TABLE `users` + ADD PRIMARY KEY (`id`); + +-- +-- AUTO_INCREMENT для сохранённых таблиц +-- + +-- +-- AUTO_INCREMENT для таблицы `chanell_subs` +-- +ALTER TABLE `chanell_subs` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT для таблицы `channell_messages` +-- +ALTER TABLE `channell_messages` + MODIFY `id_mess` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT для таблицы `channels` +-- +ALTER TABLE `channels` + MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT для таблицы ` conversation_dialogs` +-- +ALTER TABLE ` conversation_dialogs` + MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5; + +-- +-- AUTO_INCREMENT для таблицы ` conversation_messages` +-- +ALTER TABLE ` conversation_messages` + MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT для таблицы `dialog` +-- +ALTER TABLE `dialog` + MODIFY `dialog_id` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT для таблицы `files` +-- +ALTER TABLE `files` + MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT для таблицы `messages` +-- +ALTER TABLE `messages` + MODIFY `message_id` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT для таблицы `report` +-- +ALTER TABLE `report` + MODIFY `report_id` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT для таблицы `type_report` +-- +ALTER TABLE `type_report` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT для таблицы `users` +-- +ALTER TABLE `users` + MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- Ограничения внешнего ключа сохраненных таблиц +-- + +-- +-- Ограничения внешнего ключа таблицы `chanell_subs` +-- +ALTER TABLE `chanell_subs` + ADD CONSTRAINT `chanell_subs_ibfk_1` FOREIGN KEY (`channel_id`) REFERENCES `channels` (`id`); + +-- +-- Ограничения внешнего ключа таблицы `channell_messages` +-- +ALTER TABLE `channell_messages` + ADD CONSTRAINT `channell_messages_ibfk_1` FOREIGN KEY (`id_channel`) REFERENCES `channels` (`id`); + +-- +-- Ограничения внешнего ключа таблицы `channels` +-- +ALTER TABLE `channels` + ADD CONSTRAINT `channels_ibfk_1` FOREIGN KEY (`creator`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- +-- Ограничения внешнего ключа таблицы ` conversation_messages` +-- +ALTER TABLE ` conversation_messages` + ADD CONSTRAINT ` conversation_messages_ibfk_1` FOREIGN KEY (`id_bigd`) REFERENCES ` conversation_dialogs` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- +-- Ограничения внешнего ключа таблицы ` conversation_subs` +-- +ALTER TABLE ` conversation_subs` + ADD CONSTRAINT ` conversation_subs_ibfk_1` FOREIGN KEY (`uid`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + ADD CONSTRAINT ` conversation_subs_ibfk_2` FOREIGN KEY (`bigd_id`) REFERENCES ` conversation_messages` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- +-- Ограничения внешнего ключа таблицы `dialog` +-- +ALTER TABLE `dialog` + ADD CONSTRAINT `dialog_ibfk_1` FOREIGN KEY (`one_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + ADD CONSTRAINT `dialog_ibfk_2` FOREIGN KEY (`two_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- +-- Ограничения внешнего ключа таблицы `files` +-- +ALTER TABLE `files` + ADD CONSTRAINT `files_ibfk_1` FOREIGN KEY (`owner_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- +-- Ограничения внешнего ключа таблицы `messages` +-- +ALTER TABLE `messages` + ADD CONSTRAINT `messages_ibfk_1` FOREIGN KEY (`sender`) REFERENCES `users` (`id`), + ADD CONSTRAINT `messages_ibfk_2` FOREIGN KEY (`getter`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- +-- Ограничения внешнего ключа таблицы `report` +-- +ALTER TABLE `report` + ADD CONSTRAINT `report_ibfk_1` FOREIGN KEY (`report_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + ADD CONSTRAINT `report_ibfk_2` FOREIGN KEY (`reported_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- +-- Ограничения внешнего ключа таблицы `token` +-- +ALTER TABLE `token` + ADD CONSTRAINT `token_ibfk_1` FOREIGN KEY (`uid`) REFERENCES `users` (`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 */;