From eef52c3e87ff59b0b928f58cf8332dfde4060543 Mon Sep 17 00:00:00 2001 From: mazkdevf <mazkdevf@gmail.com> Date: Thu, 30 Jun 2022 11:30:26 +0300 Subject: [PATCH] Update, Fixed pages, Code Format, etc --- restorecord_db_schema.sql | 6 +- website source/admin/index.php | 804 +++++++++--------- website source/api/upgrade/index.php | 2 +- website source/auth/index.php | 8 +- .../dashboard/account/settings/index.php | 4 +- .../dashboard/account/upgrade/index.php | 196 ++--- .../dashboard/server/blacklist/index.php | 508 ++++++----- .../dashboard/server/members/index.php | 589 ++++++------- .../dashboard/server/settings/index.php | 659 +++++++------- website source/includes/connection.php | 24 +- website source/includes/functions.php | 20 +- website source/index.php | 34 +- website source/login/index.php | 2 +- website source/terms/index.php | 4 +- website source/verify/index.php | 467 +++++----- 15 files changed, 1621 insertions(+), 1706 deletions(-) diff --git a/restorecord_db_schema.sql b/restorecord_db_schema.sql index c7d0f20..a53f6de 100644 --- a/restorecord_db_schema.sql +++ b/restorecord_db_schema.sql @@ -144,19 +144,19 @@ ALTER TABLE `blacklist` -- AUTO_INCREMENT for table `members` -- ALTER TABLE `members` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=61; + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=0; -- -- AUTO_INCREMENT for table `servers` -- ALTER TABLE `servers` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8; + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=0; -- -- AUTO_INCREMENT for table `users` -- ALTER TABLE `users` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=0; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; diff --git a/website source/admin/index.php b/website source/admin/index.php index 43fe87a..cb8d840 100644 --- a/website source/admin/index.php +++ b/website source/admin/index.php @@ -13,8 +13,7 @@ session_start(); } -if (!isset($_SESSION['username'])) -{ +if (!isset($_SESSION['username'])) { header("Location: ../../../login/"); exit(); } @@ -27,82 +26,89 @@ $row = mysqli_fetch_array($result); $banned = $row['banned']; -if (!is_null($banned)) -{ - echo "<meta http-equiv='Refresh' Content='0; url=../login/'>"; - session_destroy(); - exit(); +if (!is_null($banned)) { + echo "<meta http-equiv='Refresh' Content='0; url=../login/'>"; + session_destroy(); + exit(); } $admin = $row['admin']; -if(!$admin) -{ - ?> -<html> -<head> -<title>SUS</title> -<meta name="viewport" content="width=device-width, initial-scale=1"> -<meta name="robots" content="nosnippet, nofollow, noindex" /> -<style> -body{ -color:white;text-align:center;padding-top:5%;font-family:Helvetica,Arial,sans-serif; -margin-top:10%; -background:#101010; -} -.-main-text -{ -font-size:13px; -white-space:pre; -display:block; -} -</style> -</head> -<body> -<span class="-main-text">⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣤⣤⣤⣶⣦⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀ -⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⡿⠛⠉⠙⠛⠛⠛⠛⠻⢿⣿⣷⣤⡀⠀⠀⠀⠀⠀ -⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠋⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠈⢻⣿⣿⡄⠀⠀⠀⠀ -⠀⠀⠀⠀⠀⠀⠀⣸⣿⡏⠀⠀⠀⣠⣶⣾⣿⣿⣿⠿⠿⠿⢿⣿⣿⣿⣄⠀⠀⠀ -⠀⠀⠀⠀⠀⠀⠀⣿⣿⠁⠀⠀⢰⣿⣿⣯⠁⠀⠀⠀⠀⠀⠀⠀⠈⠙⢿⣷⡄⠀ -⠀⠀⣀⣤⣴⣶⣶⣿⡟⠀⠀⠀⢸⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣷⠀ -⠀⢰⣿⡟⠋⠉⣹⣿⡇⠀⠀⠀⠘⣿⣿⣿⣿⣷⣦⣤⣤⣤⣶⣶⣶⣶⣿⣿⣿⠀ -⠀⢸⣿⡇⠀⠀⣿⣿⡇⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⠀ -⠀⣸⣿⡇⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠉⠻⠿⣿⣿⣿⣿⡿⠿⠿⠛⢻⣿⡇⠀⠀ -⠀⣿⣿⠁⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣧⠀⠀ -⠀⣿⣿⠀⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠀ -⠀⣿⣿⠀⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠀ -⠀⢿⣿⡆⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⠀ -⠀⠸⣿⣧⡀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠃⠀⠀ -⠀⠀⠛⢿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⣰⣿⣿⣷⣶⣶⣶⣶⠶⠀⢠⣿⣿⠀⠀⠀ -⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⣿⣿⡇⠀⣽⣿⡏⠁⠀⠀⢸⣿⡇⠀⠀⠀ -⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⣿⣿⡇⠀⢹⣿⡆⠀⠀⠀⣸⣿⠇⠀⠀⠀ -⠀⠀⠀⠀⠀⠀⠀⢿⣿⣦⣄⣀⣠⣴⣿⣿⠁⠀⠈⠻⣿⣿⣿⣿⡿⠏⠀⠀⠀⠀ -⠀⠀⠀⠀⠀⠀⠀⠈⠛⠻⠿⠿⠿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀</span> -</body> -<audio autoplay src='https://cdn.restorecord.com/sus.mp3' loop preload type='audio/mp3'></audio> -</html> +if (!$admin) { +?> + <html> + + <head> + <title>SUS</title> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="robots" content="nosnippet, nofollow, noindex" /> + <style> + body { + color: white; + text-align: center; + padding-top: 5%; + font-family: Helvetica, Arial, sans-serif; + margin-top: 10%; + background: #101010; + } + + .-main-text { + font-size: 13px; + white-space: pre; + display: block; + } + </style> + </head> + + <body> + <span class="-main-text">⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣤⣤⣤⣶⣦⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀ + ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⡿⠛⠉⠙⠛⠛⠛⠛⠻⢿⣿⣷⣤⡀⠀⠀⠀⠀⠀ + ⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠋⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠈⢻⣿⣿⡄⠀⠀⠀⠀ + ⠀⠀⠀⠀⠀⠀⠀⣸⣿⡏⠀⠀⠀⣠⣶⣾⣿⣿⣿⠿⠿⠿⢿⣿⣿⣿⣄⠀⠀⠀ + ⠀⠀⠀⠀⠀⠀⠀⣿⣿⠁⠀⠀⢰⣿⣿⣯⠁⠀⠀⠀⠀⠀⠀⠀⠈⠙⢿⣷⡄⠀ + ⠀⠀⣀⣤⣴⣶⣶⣿⡟⠀⠀⠀⢸⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣷⠀ + ⠀⢰⣿⡟⠋⠉⣹⣿⡇⠀⠀⠀⠘⣿⣿⣿⣿⣷⣦⣤⣤⣤⣶⣶⣶⣶⣿⣿⣿⠀ + ⠀⢸⣿⡇⠀⠀⣿⣿⡇⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⠀ + ⠀⣸⣿⡇⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠉⠻⠿⣿⣿⣿⣿⡿⠿⠿⠛⢻⣿⡇⠀⠀ + ⠀⣿⣿⠁⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣧⠀⠀ + ⠀⣿⣿⠀⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠀ + ⠀⣿⣿⠀⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠀ + ⠀⢿⣿⡆⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⠀ + ⠀⠸⣿⣧⡀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠃⠀⠀ + ⠀⠀⠛⢿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⣰⣿⣿⣷⣶⣶⣶⣶⠶⠀⢠⣿⣿⠀⠀⠀ + ⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⣿⣿⡇⠀⣽⣿⡏⠁⠀⠀⢸⣿⡇⠀⠀⠀ + ⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⣿⣿⡇⠀⢹⣿⡆⠀⠀⠀⣸⣿⠇⠀⠀⠀ + ⠀⠀⠀⠀⠀⠀⠀⢿⣿⣦⣄⣀⣠⣴⣿⣿⠁⠀⠈⠻⣿⣿⣿⣿⡿⠏⠀⠀⠀⠀ + ⠀⠀⠀⠀⠀⠀⠀⠈⠛⠻⠿⠿⠿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀</span> + </body> + <audio autoplay src='https://cdn.restorecord.com/sus.mp3' loop preload type='audio/mp3'></audio> + + </html> <?php -die(); + die(); } ?> <!DOCTYPE html> <html dir="ltr" lang="en"> + <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>RestoreCord - Admin</title> <link rel="icon" type="image/png" sizes="300x250" href="https://i.imgur.com/Nfy4OoG.png"> - <script src="https://cdn.restorecord.com/dashboard/assets/libs/jquery/dist/jquery.min.js"></script> - <link href="https://cdn.restorecord.com/dashboard/assets/extra-libs/datatables.net-bs4/css/dataTables.bootstrap4.css" rel="stylesheet"> + <script src="https://cdn.restorecord.com/dashboard/assets/libs/jquery/dist/jquery.min.js"></script> + <link href="https://cdn.restorecord.com/dashboard/assets/extra-libs/datatables.net-bs4/css/dataTables.bootstrap4.css" rel="stylesheet"> <link href="https://cdn.restorecord.com/dashboard/assets/libs/chartist/dist/chartist.min.css" rel="stylesheet"> <link href="https://cdn.restorecord.com/dashboard/assets/extra-libs/c3/c3.min.css" rel="stylesheet"> - <link href="https://cdn.restorecord.com/dashboard/dist/css/style.min.css" rel="stylesheet"> - <script src="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.js"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.css"> - <script src="https://cdn.restorecord.com/dashboard/unixtolocal.js"></script> - - <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> + <link href="https://cdn.restorecord.com/dashboard/dist/css/style.min.css" rel="stylesheet"> + <script src="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.js"></script> + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.css"> + <script src="https://cdn.restorecord.com/dashboard/unixtolocal.js"></script> + + <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> </head> + <body data-theme="dark"> <div id="main-wrapper" data-layout="vertical" data-navbarbg="skin1" data-sidebartype="full" data-sidebar-position="fixed" data-header-position="fixed" data-boxed-layout="full"> <header class="topbar" data-navbarbg="skin1"> @@ -123,13 +129,13 @@ </ul> <ul class="navbar-nav"> <li class="nav-item dropdown"> - <a class="nav-link dropdown-toggle waves-effect waves-dark" href="https://keyauth.com/discord/" target="discord"> <i class="mdi mdi-discord font-24"></i> - </a> - </li> - <li class="nav-item dropdown"> - <a class="nav-link dropdown-toggle waves-effect waves-dark" href="https://t.me/KeyAuth" target="telegram"> <i class="mdi mdi-telegram font-24"></i> - </a> - </li> + <a class="nav-link dropdown-toggle waves-effect waves-dark" href="https://keyauth.com/discord/" target="discord"> <i class="mdi mdi-discord font-24"></i> + </a> + </li> + <li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle waves-effect waves-dark" href="https://t.me/KeyAuth" target="telegram"> <i class="mdi mdi-telegram font-24"></i> + </a> + </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle text-muted waves-effect waves-dark pro-pic" href="" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><img src="https://i.imgur.com/w65Dpnw.png" alt="user" class="rounded-circle" width="31"></a> <div class="dropdown-menu dropdown-menu-right user-dd animated flipInY"> @@ -169,265 +175,258 @@ <div class="container-fluid" id="content"> <div class="row"> <div class="col-12"> - <form method="POST"> - <button data-toggle="modal" type="button" data-target="#check-order" class="dt-button buttons-print btn btn-primary mr-1"><i class="fas fa-plus-circle fa-sm text-white-50"></i> Check Order</button> <button data-toggle="modal" type="button" data-target="#search-email" class="dt-button buttons-print btn btn-primary mr-1"><i class="fas fa-envelope-open fa-sm text-white-50"></i> Search With Email</button> <button data-toggle="modal" type="button" data-target="#search-username" class="dt-button buttons-print btn btn-primary mr-1"><i class="fas fa-users fa-sm text-white-50"></i> Search With Username</button> <button data-toggle="modal" type="button" data-target="#ban-server" class="dt-button buttons-print btn btn-primary mr-1"><i class="fas fa-users fa-sm text-white-50"></i> Ban Server</button> - </form> - <br> -<div id="check-order" class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;"> - <div class="modal-dialog"> - <div class="modal-content"> - <div class="modal-header d-flex align-items-center"> - <h4 class="modal-title">Check Order</h4> - <button type="button" class="close ml-auto" data-dismiss="modal" aria-hidden="true">×</button> - </div> - <div class="modal-body"> - <form method="post"> - <div class="form-group"> - <label for="recipient-name" class="control-label">Order ID:</label> - <input class="form-control" name="orderid" placeholder="Shoppy Order ID"> - </div> - </div> - <div class="modal-footer"> - <button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> - <button class="btn btn-danger waves-effect waves-light" name="checkorder">Check</button> - </form> - </div> - </div> + <form method="POST"> + <button data-toggle="modal" type="button" data-target="#check-order" class="dt-button buttons-print btn btn-primary mr-1"><i class="fas fa-plus-circle fa-sm text-white-50"></i> Check Order</button> <button data-toggle="modal" type="button" data-target="#search-email" class="dt-button buttons-print btn btn-primary mr-1"><i class="fas fa-envelope-open fa-sm text-white-50"></i> Search With Email</button> <button data-toggle="modal" type="button" data-target="#search-username" class="dt-button buttons-print btn btn-primary mr-1"><i class="fas fa-users fa-sm text-white-50"></i> Search With Username</button> <button data-toggle="modal" type="button" data-target="#ban-server" class="dt-button buttons-print btn btn-primary mr-1"><i class="fas fa-users fa-sm text-white-50"></i> Ban Server</button> + </form> + <br> + <div id="check-order" class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header d-flex align-items-center"> + <h4 class="modal-title">Check Order</h4> + <button type="button" class="close ml-auto" data-dismiss="modal" aria-hidden="true">×</button> </div> - </div> -<div id="search-email" class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;"> - <div class="modal-dialog"> - <div class="modal-content"> - <div class="modal-header d-flex align-items-center"> - <h4 class="modal-title">Search With Email</h4> - <button type="button" class="close ml-auto" data-dismiss="modal" aria-hidden="true">×</button> + <div class="modal-body"> + <form method="post"> + <div class="form-group"> + <label for="recipient-name" class="control-label">Order ID:</label> + <input class="form-control" name="orderid" placeholder="Shoppy Order ID"> </div> - <div class="modal-body"> - <form method="post"> - <div class="form-group"> - <label for="recipient-name" class="control-label">Email:</label> - <input class="form-control" name="email" placeholder="Email"> - </div> - </div> - <div class="modal-footer"> - <button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> - <button class="btn btn-danger waves-effect waves-light" name="searchemail">Search</button> - </form> - </div> - </div> </div> - </div> -<div id="search-username" class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;"> - <div class="modal-dialog"> - <div class="modal-content"> - <div class="modal-header d-flex align-items-center"> - <h4 class="modal-title">Search With Username</h4> - <button type="button" class="close ml-auto" data-dismiss="modal" aria-hidden="true">×</button> - </div> - <div class="modal-body"> - <form method="post"> - <div class="form-group"> - <label for="recipient-name" class="control-label">Username:</label> - <input class="form-control" name="un" placeholder="Username"> - </div> - </div> - <div class="modal-footer"> - <button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> - <button class="btn btn-danger waves-effect waves-light" name="searchusername">Search</button> - </form> - </div> - </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> + <button class="btn btn-danger waves-effect waves-light" name="checkorder">Check</button> + </form> </div> - </div> - <div id="ban-server" class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;"> - <div class="modal-dialog"> - <div class="modal-content"> - <div class="modal-header d-flex align-items-center"> - <h4 class="modal-title">Ban Server</h4> - <button type="button" class="close ml-auto" data-dismiss="modal" aria-hidden="true">×</button> - </div> - <div class="modal-body"> - <form method="post"> - <div class="form-group"> - <label for="recipient-name" class="control-label">Server ID:</label> - <input class="form-control" name="server" type="number" maxlength="18" placeholder="Server ID to ban"> - </div> - <div class="form-group"> - <label for="recipient-name" class="control-label">Ban Reason:</label> - <input class="form-control" name="reason" value="nitro scam"> - </div> + </div> + </div> + </div> + <div id="search-email" class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header d-flex align-items-center"> + <h4 class="modal-title">Search With Email</h4> + <button type="button" class="close ml-auto" data-dismiss="modal" aria-hidden="true">×</button> + </div> + <div class="modal-body"> + <form method="post"> + <div class="form-group"> + <label for="recipient-name" class="control-label">Email:</label> + <input class="form-control" name="email" placeholder="Email"> </div> - <div class="modal-footer"> - <button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> - <button class="btn btn-danger waves-effect waves-light" name="banserver">Ban</button> - </form> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> + <button class="btn btn-danger waves-effect waves-light" name="searchemail">Search</button> + </form> + </div> + </div> + </div> + </div> + <div id="search-username" class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header d-flex align-items-center"> + <h4 class="modal-title">Search With Username</h4> + <button type="button" class="close ml-auto" data-dismiss="modal" aria-hidden="true">×</button> + </div> + <div class="modal-body"> + <form method="post"> + <div class="form-group"> + <label for="recipient-name" class="control-label">Username:</label> + <input class="form-control" name="un" placeholder="Username"> </div> - </div> </div> - </div> - <?php -if (isset($_POST['checkorder'])) -{ - - $orderid = sanitize($_POST['orderid']); - $url = "https://shoppy.gg/api/v1/orders/{$orderid}"; - - $curl = curl_init($url); - curl_setopt($curl, CURLOPT_URL, $url); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); - - $headers = array( - "User-Agent: RestoreCord", // must set a useragent for Shoppy API, anything. - "Authorization: shoppyApiKey", // shoppy API key, variable found in includes/connection.php - ); - curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); - //for debug only! - curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); - curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); - - $resp = curl_exec($curl); - curl_close($curl); - - $json = json_decode($resp); - - if($json->message == "Requested resource not found") - { - error("Order not found"); - } - else - { - success("Order from " . $json->email . " for $" . $json->price . " was found"); - } -} - -if (isset($_POST['searchemail'])) -{ - $email = sanitize($_POST['email']); - header("Location:./?email=". $email); -} - -if (isset($_POST['searchusername'])) -{ - $un = sanitize($_POST['un']); - header("Location:./?username=" . $un); - die(); -} - -if (isset($_POST['banserver'])) -{ - $server = sanitize($_POST['server']); - $reason = sanitize($_POST['reason']); - - mysqli_query($link, "UPDATE `servers` SET `banned` = '$reason' WHERE `guildid` = '$server'"); // set account to banned - - if(mysqli_affected_rows($link) != 0) - { - wh_log("discordWebhookHere", "Admin `{$username}` has banned server `{$server}` for reason `{$reason}`", "RestoreCord Admin Logs"); - mysqli_query($link, "INSERT INTO `banned`(`server`) VALUES ('$server')"); - success("Server successfully Banned!"); - echo "<meta http-equiv='Refresh' Content='2'>"; - } - else - { - mysqli_close($link); - error("Failed to ban server!"); - echo "<meta http-equiv='Refresh' Content='2'>"; - } -} - -?> -<div id="ban-acc" class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;"> - <div class="modal-dialog"> - <div class="modal-content"> - <div class="modal-header d-flex align-items-center"> - <h4 class="modal-title">Ban Account</h4> - <button type="button" class="close ml-auto" data-dismiss="modal" aria-hidden="true">×</button> + <div class="modal-footer"> + <button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> + <button class="btn btn-danger waves-effect waves-light" name="searchusername">Search</button> + </form> + </div> + </div> + </div> + </div> + <div id="ban-server" class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header d-flex align-items-center"> + <h4 class="modal-title">Ban Server</h4> + <button type="button" class="close ml-auto" data-dismiss="modal" aria-hidden="true">×</button> + </div> + <div class="modal-body"> + <form method="post"> + <div class="form-group"> + <label for="recipient-name" class="control-label">Server ID:</label> + <input class="form-control" name="server" type="number" maxlength="18" placeholder="Server ID to ban"> </div> - <div class="modal-body"> - <form method="post"> - <div class="form-group"> - <label for="recipient-name" class="control-label">Ban reason:</label> - <input type="text" class="form-control" name="reason" placeholder="Reason for ban" required> - <input type="hidden" class="banacc" name="acc"> - </div> + <div class="form-group"> + <label for="recipient-name" class="control-label">Ban Reason:</label> + <input class="form-control" name="reason" value="nitro scam"> </div> - <div class="modal-footer"> - <button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> - <button class="btn btn-danger waves-effect waves-light" name="banacc">Ban</button> - </form> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> + <button class="btn btn-danger waves-effect waves-light" name="banserver">Ban</button> + </form> + </div> + </div> + </div> + </div> + <?php + if (isset($_POST['checkorder'])) { + + $orderid = sanitize($_POST['orderid']); + $url = "https://shoppy.gg/api/v1/orders/{$orderid}"; + + $curl = curl_init($url); + curl_setopt($curl, CURLOPT_URL, $url); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + + $headers = array( + "User-Agent: RestoreCord", // must set a useragent for Shoppy API, anything. + "Authorization: " . $shoppyApiKey, // shoppy API key, variable found in includes/connection.php + ); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + //for debug only! + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); + + $resp = curl_exec($curl); + curl_close($curl); + + $json = json_decode($resp); + + if ($json->message == "Requested resource not found") { + error("Order not found"); + } else { + success("Order from " . $json->email . " for $" . $json->price . " was found"); + } + } + + if (isset($_POST['searchemail'])) { + $email = sanitize($_POST['email']); + header("Location:./?email=" . $email); + } + + if (isset($_POST['searchusername'])) { + $un = sanitize($_POST['un']); + header("Location:./?username=" . $un); + die(); + } + + if (isset($_POST['banserver'])) { + $server = sanitize($_POST['server']); + $reason = sanitize($_POST['reason']); + + mysqli_query($link, "UPDATE `servers` SET `banned` = '$reason' WHERE `guildid` = '$server'"); // set account to banned + + if (mysqli_affected_rows($link) != 0) { + wh_log("discordWebhookHere", "Admin `{$username}` has banned server `{$server}` for reason `{$reason}`", "RestoreCord Admin Logs"); + mysqli_query($link, "INSERT INTO `banned`(`server`) VALUES ('$server')"); + success("Server successfully Banned!"); + echo "<meta http-equiv='Refresh' Content='2'>"; + } else { + mysqli_close($link); + error("Failed to ban server!"); + echo "<meta http-equiv='Refresh' Content='2'>"; + } + } + + ?> + <div id="ban-acc" class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header d-flex align-items-center"> + <h4 class="modal-title">Ban Account</h4> + <button type="button" class="close ml-auto" data-dismiss="modal" aria-hidden="true">×</button> + </div> + <div class="modal-body"> + <form method="post"> + <div class="form-group"> + <label for="recipient-name" class="control-label">Ban reason:</label> + <input type="text" class="form-control" name="reason" placeholder="Reason for ban" required> + <input type="hidden" class="banacc" name="acc"> </div> - </div> </div> - </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> + <button class="btn btn-danger waves-effect waves-light" name="banacc">Ban</button> + </form> + </div> + </div> + </div> + </div> <div class="card"> <div class="card-body"> <div class="table-responsive"> <table id="file_export" class="table table-striped table-bordered display"> <thead> <tr> -<th>Username</th> -<th>Email</th> -<th>Role</th> -<th>Ban Status</th> -<th>2FA Status</th> -<th>Action</th> + <th>Username</th> + <th>Email</th> + <th>Role</th> + <th>Ban Status</th> + <th>2FA Status</th> + <th>Action</th> </tr> </thead> <tbody> -<?php - $un = sanitize($_GET['username']); - $email = sanitize($_GET['email']); - $result = mysqli_query($link, "SELECT * FROM `users` WHERE `username` = '$un' OR `email` = '$email'"); - - $rows = array(); - while ($r = mysqli_fetch_assoc($result)) - { - $rows[] = $r; - } + <?php + $un = sanitize($_GET['username']); + $email = sanitize($_GET['email']); + $result = mysqli_query($link, "SELECT * FROM `users` WHERE `username` = '$un' OR `email` = '$email'"); - foreach ($rows as $row) - { + $rows = array(); + while ($r = mysqli_fetch_assoc($result)) { + $rows[] = $r; + } - $un = $row['username']; - $ban = $row['banned'] == NULL ? 'False' : 'True'; - $totp = (($row['twofactor'] ? 1 : 0) ? 'True' : 'False'); -?> + foreach ($rows as $row) { + + $un = $row['username']; + $ban = $row['banned'] == NULL ? 'False' : 'True'; + $totp = (($row['twofactor'] ? 1 : 0) ? 'True' : 'False'); + ?> - <tr> + <tr> <td><?php echo $un; ?></td> - + <td><?php echo $row["email"]; ?></td> - + <td><?php echo $row["role"]; ?></td> - - <td><?php echo $ban; ?></td> - - <td><?php echo $totp; ?></td> - <form method="POST"><td><button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - Manage - </button> - <div class="dropdown-menu"> - <a class="dropdown-item" data-toggle="modal" data-target="#ban-acc" onclick="banacc('<?php echo $un; ?>')">Ban</a> - <button class="dropdown-item" name="unbanacc" value="<?php echo $un; ?>">Unban</button> - <div class="dropdown-divider"></div> - <button class="dropdown-item" name="editacc" value="<?php echo $un; ?>">Edit</button></div></td></tr></form> -<?php + <td><?php echo $ban; ?></td> - } + <td><?php echo $totp; ?></td> -?> + <form method="POST"> + <td><button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> + Manage + </button> + <div class="dropdown-menu"> + <a class="dropdown-item" data-toggle="modal" data-target="#ban-acc" onclick="banacc('<?php echo $un; ?>')">Ban</a> + <button class="dropdown-item" name="unbanacc" value="<?php echo $un; ?>">Unban</button> + <div class="dropdown-divider"></div> + <button class="dropdown-item" name="editacc" value="<?php echo $un; ?>">Edit</button> + </div> + </td> + </tr> + </form> + <?php + + } + + ?> </tbody> <tfoot> <tr> -<th>Username</th> -<th>Email</th> -<th>Role</th> -<th>Ban Status</th> -<th>2FA Status</th> -<th>Action</th> + <th>Username</th> + <th>Email</th> + <th>Role</th> + <th>Ban Status</th> + <th>2FA Status</th> + <th>Action</th> </tr> </tfoot> </table> @@ -436,112 +435,109 @@ </div> </div> </div> - - <?php - if (isset($_POST['banacc'])) - { - $un = sanitize($_POST['acc']); - $reason = sanitize($_POST['reason']); - - mysqli_query($link, "UPDATE `users` SET `banned` = '$reason' WHERE `username` = '$un'"); // set account to banned - - wh_log("discordWebhookHere", "Admin `{$username}` has banned user `{$un}` for reason `{$reason}`", "RestoreCord Admin Logs"); - - success("Account Banned!"); - } - - if (isset($_POST['unbanacc'])) - { - $un = sanitize($_POST['unbanacc']); - - mysqli_query($link, "UPDATE `users` SET `banned` = NULL WHERE `username` = '$un'"); // set account to not banned - - wh_log("discordWebhookHere", "Admin `{$username}` has unbanned user `{$un}`", "RestoreCord Admin Logs"); - - success("Account Unbanned!"); - } - - if (isset($_POST['editacc'])) - { - $un = sanitize($_POST['editacc']); - - $result = mysqli_query($link, "SELECT * FROM `users` WHERE `username` = '$un'"); - $row = mysqli_fetch_array($result); - $role = $row['role']; - $totp = $row['twofactor']; - ?> - <div id="edit-key" class="modal show" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" style="display: block;" aria-modal="true"> - <div class="modal-dialog"> - <div class="modal-content"> - <div class="modal-header d-flex align-items-center"> - <h4 class="modal-title">Edit Account</h4> - <button type="button" onClick="window.location.href=window.location.href" class="close ml-auto" data-dismiss="modal" aria-hidden="true">×</button> - </div> - <div class="modal-body"> - <form method="post"> - <div class="form-group"> - <label for="recipient-name" class="control-label">Email:</label> - <input type="text" class="form-control" name="email" value="<?php echo $row['email']; ?>" required> - </div> - <div class="form-group"> - <label for="recipient-name" class="control-label">Role:</label> - <select class="form-control" name="role"> - <option value="premium" <?=$role == 'premium' ? ' selected="selected"' : '';?>>premium</option> - <option value="free" <?=$role == 'free' ? ' selected="selected"' : '';?>>free</option> - </select> - </div> - <div class="form-group"> - <label for="recipient-name" class="control-label">2FA Status:</label> - <select class="form-control" name="totp"> - <option value="0" <?=$totp == 0 ? ' selected="selected"' : '';?>>false</option> - <option value="1" <?=$totp == 1 ? ' selected="selected"' : '';?>>true</option> - </select> - </div> - </div> - <div class="modal-footer"> - <button type="button" onClick="window.location.href=window.location.href" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> - <button class="btn btn-danger waves-effect waves-light" value="<?php echo $un; ?>" name="saveacc">Save</button> - </form> - </div> + + <?php + if (isset($_POST['banacc'])) { + $un = sanitize($_POST['acc']); + $reason = sanitize($_POST['reason']); + + mysqli_query($link, "UPDATE `users` SET `banned` = '$reason' WHERE `username` = '$un'"); // set account to banned + + wh_log($AdminLogs, "Admin `{$username}` has banned user `{$un}` for reason `{$reason}`", "RestoreCord Admin Logs"); + + success("Account Banned!"); + } + + if (isset($_POST['unbanacc'])) { + $un = sanitize($_POST['unbanacc']); + + mysqli_query($link, "UPDATE `users` SET `banned` = NULL WHERE `username` = '$un'"); // set account to not banned + + wh_log($AdminLogs, "Admin `{$username}` has unbanned user `{$un}`", "RestoreCord Admin Logs"); + + success("Account Unbanned!"); + } + + if (isset($_POST['editacc'])) { + $un = sanitize($_POST['editacc']); + + $result = mysqli_query($link, "SELECT * FROM `users` WHERE `username` = '$un'"); + $row = mysqli_fetch_array($result); + $role = $row['role']; + $totp = $row['twofactor']; + ?> + <div id="edit-key" class="modal show" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" style="display: block;" aria-modal="true"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header d-flex align-items-center"> + <h4 class="modal-title">Edit Account</h4> + <button type="button" onClick="window.location.href=window.location.href" class="close ml-auto" data-dismiss="modal" aria-hidden="true">×</button> + </div> + <div class="modal-body"> + <form method="post"> + <div class="form-group"> + <label for="recipient-name" class="control-label">Email:</label> + <input type="text" class="form-control" name="email" value="<?php echo $row['email']; ?>" required> </div> - </div> - </div> - <?php - } - - if (isset($_POST['saveacc'])) - { - $un = sanitize($_POST['saveacc']); - $email = sanitize($_POST['email']); - $role = sanitize($_POST['role']); - $totp = sanitize($_POST['totp']); - - - switch($role) - { - case 'premium': - $expires = time() + 31556926; - break; - case 'free': - $expires = NULL; - break; - default: - error("Invalid role!"); - echo "<meta http-equiv='Refresh' Content='2'>"; - return; - } - - mysqli_query($link, "UPDATE `users` SET `email` = '$email',`role` = '$role', `expiry` = NULLIF('$expires', ''), `twofactor` = '$totp' WHERE `username` = '$un'"); - - wh_log("discordWebhookHere", "Admin `{$username}` has updated user `{$un}` email to `{$email}`, role to `{$role}`, and 2FA status to `{$totp}`", "RestoreCord Admin Logs"); - - success("Updated Account!"); - } -?> + <div class="form-group"> + <label for="recipient-name" class="control-label">Role:</label> + <select class="form-control" name="role"> + <option value="premium" <?= $role == 'premium' ? ' selected="selected"' : ''; ?>>premium</option> + <option value="free" <?= $role == 'free' ? ' selected="selected"' : ''; ?>>free</option> + </select> + </div> + <div class="form-group"> + <label for="recipient-name" class="control-label">2FA Status:</label> + <select class="form-control" name="totp"> + <option value="0" <?= $totp == 0 ? ' selected="selected"' : ''; ?>>false</option> + <option value="1" <?= $totp == 1 ? ' selected="selected"' : ''; ?>>true</option> + </select> + </div> + </div> + <div class="modal-footer"> + <button type="button" onClick="window.location.href=window.location.href" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> + <button class="btn btn-danger waves-effect waves-light" value="<?php echo $un; ?>" name="saveacc">Save</button> + </form> + </div> + </div> + </div> + </div> + <?php + } + + if (isset($_POST['saveacc'])) { + $un = sanitize($_POST['saveacc']); + $email = sanitize($_POST['email']); + $role = sanitize($_POST['role']); + $totp = sanitize($_POST['totp']); + + + switch ($role) { + case 'premium': + $expires = time() + 31556926; + break; + case 'free': + $expires = NULL; + break; + default: + error("Invalid role!"); + echo "<meta http-equiv='Refresh' Content='2'>"; + return; + } + + mysqli_query($link, "UPDATE `users` SET `email` = '$email',`role` = '$role', `expiry` = NULLIF('$expires', ''), `twofactor` = '$totp' WHERE `username` = '$un'"); + + wh_log($AdminLogs, "Admin `{$username}` has updated user `{$un}` email to `{$email}`, role to `{$role}`, and 2FA status to `{$totp}`", "RestoreCord Admin Logs"); + + success("Updated Account!"); + } + ?> </div> <footer class="footer text-center"> - Copyright © <script>document.write(new Date().getFullYear())</script> RestoreCord -</footer> + Copyright © <script> + document.write(new Date().getFullYear()) + </script> RestoreCord + </footer> </div> </div> <script src="https://cdn.keyauth.uk/dashboard/assets/libs/popper-js/dist/umd/popper.min.js"></script> @@ -561,7 +557,7 @@ <script src="https://cdn.keyauth.uk/dashboard/assets/extra-libs/c3/c3.min.js"></script> <script src="https://cdn.keyauth.uk/dashboard/assets/libs/chart-js/dist/chart.min.js"></script> <script src="https://cdn.keyauth.uk/dashboard/dist/js/pages/dashboards/dashboard1.js"></script> - <script src="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net/js/jquery.dataTables.min.js"></script> + <script src="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/buttons/1.5.1/js/dataTables.buttons.min.js"></script> <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.flash.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script> @@ -569,13 +565,13 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"></script> <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.html5.min.js"></script> <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.print.min.js"></script> - <script src="https://cdn.keyauth.uk/dashboard/dist/js/pages/datatable/datatable-advanced.init.js"></script> -<script> - - function banacc(un) { - var banacc = $('.banacc'); - banacc.attr('value', un); - } -</script> + <script src="https://cdn.keyauth.uk/dashboard/dist/js/pages/datatable/datatable-advanced.init.js"></script> + <script> + function banacc(un) { + var banacc = $('.banacc'); + banacc.attr('value', un); + } + </script> </body> + </html> \ No newline at end of file diff --git a/website source/api/upgrade/index.php b/website source/api/upgrade/index.php index 7f2623f..81699f6 100644 --- a/website source/api/upgrade/index.php +++ b/website source/api/upgrade/index.php @@ -3,7 +3,7 @@ $payload = file_get_contents('php://input'); -$secret = "shoppyWebhookSecretHere"; // replace with your webhook secret +$secret = $ShoppySecret; // replace with your webhook secret $header_signature = $_SERVER["HTTP_X_SHOPPY_SIGNATURE"]; // get our signature header $signature = hash_hmac('sha512', $payload, $secret); diff --git a/website source/auth/index.php b/website source/auth/index.php index 9fa6c53..167436b 100644 --- a/website source/auth/index.php +++ b/website source/auth/index.php @@ -17,9 +17,9 @@ // Exchange the auth code for a token $token = apiRequest("https://discord.com/api/oauth2/token", array( "grant_type" => "authorization_code", - 'client_id' => 'discordBotIdHere', - 'client_secret' => 'discordClientSecretHere', - 'redirect_uri' => 'https://restorecord.com/auth/', // change to https://example.com/auth/ - and you must set https://example.com/auth/ in Discord developer portal as OAuth2 redirect URL + 'client_id' => $client_id, + 'client_secret' => $client_secret, + 'redirect_uri' => $redirect_uri, 'code' => get('code') )); $logout_token = $token->access_token; @@ -27,7 +27,7 @@ $_SESSION['refresh_token'] = $token->refresh_token; $server = $_SESSION['owner'] . '/' . $_SESSION['name']; - header('Location: https://restorecord.com/verify/' . $server); // change this to https://example.com/verify/ + header('Location: ' . $verify_uri . $server); } die("invalid request, please retry verification process"); diff --git a/website source/dashboard/account/settings/index.php b/website source/dashboard/account/settings/index.php index 300aac1..fb67ec3 100644 --- a/website source/dashboard/account/settings/index.php +++ b/website source/dashboard/account/settings/index.php @@ -121,11 +121,11 @@ <!-- create new --> <!-- ============================================================== --> <li class="nav-item dropdown"> - <a class="nav-link dropdown-toggle waves-effect waves-dark" href="https://restorecord.com/discord/" target="discord"> <i class="mdi mdi-discord font-24"></i> + <a class="nav-link dropdown-toggle waves-effect waves-dark" href="../../../discord/" target="discord"> <i class="mdi mdi-discord font-24"></i> </a> </li> <li class="nav-item dropdown"> - <a class="nav-link dropdown-toggle waves-effect waves-dark" href="https://restorecord.com/telegram/" target="telegram"> <i class="mdi mdi-telegram font-24"></i> + <a class="nav-link dropdown-toggle waves-effect waves-dark" href="../../../telegram/" target="telegram"> <i class="mdi mdi-telegram font-24"></i> </a> </li> <!-- ============================================================== --> diff --git a/website source/dashboard/account/upgrade/index.php b/website source/dashboard/account/upgrade/index.php index 8cc850e..da3bea1 100644 --- a/website source/dashboard/account/upgrade/index.php +++ b/website source/dashboard/account/upgrade/index.php @@ -7,32 +7,32 @@ } if (!isset($_SESSION['username'])) { - header("Location: ../../../login/"); - exit(); + header("Location: ../../../login/"); + exit(); } - $username = $_SESSION['username']; - - premium_check($username); - - ($result = mysqli_query($link, "SELECT * FROM `users` WHERE `username` = '$username'")) or die(mysqli_error($link)); - $row = mysqli_fetch_array($result); - - $banned = $row['banned']; - if (!is_null($banned)) - { - echo "<meta http-equiv='Refresh' Content='0; url=../../../login/'>"; - session_destroy(); - exit(); - } - - $role = $row['role']; - $_SESSION['role'] = $role; - - $darkmode = $row['darkmode']; - $isadmin = $row['admin']; +$username = $_SESSION['username']; + +premium_check($username); + +($result = mysqli_query($link, "SELECT * FROM `users` WHERE `username` = '$username'")) or die(mysqli_error($link)); +$row = mysqli_fetch_array($result); + +$banned = $row['banned']; +if (!is_null($banned)) { + echo "<meta http-equiv='Refresh' Content='0; url=../../../login/'>"; + session_destroy(); + exit(); +} + +$role = $row['role']; +$_SESSION['role'] = $role; + +$darkmode = $row['darkmode']; +$isadmin = $row['admin']; ?> <!DOCTYPE html> <html dir="ltr" lang="en"> + <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> @@ -42,22 +42,23 @@ <meta name="description" content="Xtreme is powerful and clean admin dashboard template, inpired from Google's Material Design"> <meta name="robots" content="noindex,nofollow"> <title>RestoreCord - Upgrade</title> - <script src="https://shoppy.gg/api/embed.js"></script> + <script src="https://shoppy.gg/api/embed.js"></script> <!-- Favicon icon --> <link rel="icon" type="image/png" sizes="300x250" href="https://i.imgur.com/Nfy4OoG.png"> - <script src="https://cdn.keyauth.uk/dashboard/assets/libs/jquery/dist/jquery.min.js"></script> + <script src="https://cdn.keyauth.uk/dashboard/assets/libs/jquery/dist/jquery.min.js"></script> <!-- Custom CSS --> - <link href="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net-bs4/css/dataTables.bootstrap4.css" rel="stylesheet"> + <link href="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net-bs4/css/dataTables.bootstrap4.css" rel="stylesheet"> <link href="https://cdn.keyauth.uk/dashboard/assets/libs/chartist/dist/chartist.min.css" rel="stylesheet"> <link href="https://cdn.keyauth.uk/dashboard/assets/extra-libs/c3/c3.min.css" rel="stylesheet"> <!-- Custom CSS --> <link href="https://cdn.keyauth.uk/dashboard/dist/css/style.min.css" rel="stylesheet"> - <script src="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.js"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.css"> + <script src="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.js"></script> + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.css"> + - <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> @@ -65,7 +66,12 @@ <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> </head> -<body data-theme="<?php if($darkmode == 0){echo "dark";}else{echo"light";}?>"> + +<body data-theme="<?php if ($darkmode == 0) { + echo "dark"; + } else { + echo "light"; + } ?>"> <!-- ============================================================== --> <!-- Preloader - style you can find in spinners.css --> <!-- ============================================================== --> @@ -117,13 +123,13 @@ <!-- create new --> <!-- ============================================================== --> <li class="nav-item dropdown"> - <a class="nav-link dropdown-toggle waves-effect waves-dark" href="https://restorecord.com/discord/" target="discord"> <i class="mdi mdi-discord font-24"></i> - </a> - </li> - <li class="nav-item dropdown"> - <a class="nav-link dropdown-toggle waves-effect waves-dark" href="https://restorecord.com/telegram/" target="telegram"> <i class="mdi mdi-telegram font-24"></i> - </a> - </li> + <a class="nav-link dropdown-toggle waves-effect waves-dark" href="../../../discord/" target="discord"> <i class="mdi mdi-discord font-24"></i> + </a> + </li> + <li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle waves-effect waves-dark" href="../../../discord/" target="telegram"> <i class="mdi mdi-telegram font-24"></i> + </a> + </li> <!-- ============================================================== --> <!-- User profile and search --> <!-- ============================================================== --> @@ -161,7 +167,7 @@ <!-- Sidebar navigation--> <nav class="sidebar-nav"> <ul id="sidebarnav"> - <?php sidebar($isadmin); ?> + <?php sidebar($isadmin); ?> </ul> </nav> <!-- End Sidebar navigation --> @@ -190,11 +196,11 @@ <!-- ============================================================== --> <!-- ============================================================== --> <!-- Container fluid --> - - - - - + + + + + <!-- ============================================================== --> <div class="container-fluid" id="content"> <!-- ============================================================== --> @@ -202,51 +208,48 @@ <!-- ============================================================== --> <!-- File export --> <div class="row"> - <div class="col-md-4 col-sm-12"> - <div class="card" style="zoom: 1;"> - <div class="card-body"> - <div class="form-group"> - <h4 class="card-title">Free</h4> - <p>25 Members</p> - <p>1 Server</p> - <p>No IP Ban</p> - <p>No VPN Check</p> - <p>Limited Support</p> - <p>No Verificiation Logs</p> - <button class="btn btn-lg btn-block font-medium btn-outline-success block-card">Already Have</button> - </div> - </div> - </div> - </div> - <div class="col-md-4 col-sm-12"> - <div class="card"> - <div class="card-body"> - <div class="form-group"> - <h4 class="card-title">Premium</h4> - <p>Unlimited Members</p> - <p>Unlimited Servers</p> - <p>IP Ban</p> - <p>VPN Check</p> - <p>24.7.365 Support</p> - <p>Verificiation Logs</p> - <?php - $role = $_SESSION['role']; - if($role == "premium") - { - echo'<button class="btn btn-lg btn-block font-medium btn-outline-warning block-sidenav">Already Have</button>'; - } - else - { - echo'<a data-shoppy-product="8hCOmd6" data-shoppy-username="'.$_SESSION['username'].'" class="btn btn-lg btn-block font-medium btn-outline-warning block-sidenav">Purchase</a>'; - } - - ?> - </div> - </div> - </div> - </div> - </div> - </div> + <div class="col-md-4 col-sm-12"> + <div class="card" style="zoom: 1;"> + <div class="card-body"> + <div class="form-group"> + <h4 class="card-title">Free</h4> + <p>25 Members</p> + <p>1 Server</p> + <p>No IP Ban</p> + <p>No VPN Check</p> + <p>Limited Support</p> + <p>No Verificiation Logs</p> + <button class="btn btn-lg btn-block font-medium btn-outline-success block-card">Already Have</button> + </div> + </div> + </div> + </div> + <div class="col-md-4 col-sm-12"> + <div class="card"> + <div class="card-body"> + <div class="form-group"> + <h4 class="card-title">Premium</h4> + <p>Unlimited Members</p> + <p>Unlimited Servers</p> + <p>IP Ban</p> + <p>VPN Check</p> + <p>24.7.365 Support</p> + <p>Verificiation Logs</p> + <?php + $role = $_SESSION['role']; + if ($role == "premium") { + echo '<button class="btn btn-lg btn-block font-medium btn-outline-warning block-sidenav">Already Have</button>'; + } else { + echo '<a data-shoppy-product="8hCOmd6" data-shoppy-username="' . $_SESSION['username'] . '" class="btn btn-lg btn-block font-medium btn-outline-warning block-sidenav">Purchase</a>'; + } + + ?> + </div> + </div> + </div> + </div> + </div> + </div> <!-- ============================================================== --> <!-- End Container fluid --> <!-- ============================================================== --> @@ -254,8 +257,10 @@ <!-- footer --> <!-- ============================================================== --> <footer class="footer text-center"> - Copyright © <script>document.write(new Date().getFullYear())</script> RestoreCord -</footer> + Copyright © <script> + document.write(new Date().getFullYear()) + </script> RestoreCord + </footer> <!-- ============================================================== --> <!-- End footer --> <!-- ============================================================== --> @@ -268,12 +273,12 @@ <!-- End Wrapper --> <!-- ============================================================== --> <!-- ============================================================== --> - - + + <!-- ============================================================== --> <!-- All Jquery --> <!-- ============================================================== --> - + <!-- Bootstrap tether Core JavaScript --> <script src="https://cdn.keyauth.uk/dashboard/assets/libs/popper-js/dist/umd/popper.min.js"></script> <script src="https://cdn.keyauth.uk/dashboard/assets/libs/bootstrap/dist/js/bootstrap.min.js"></script> @@ -289,7 +294,7 @@ <!--Menu sidebar --> <script src="https://cdn.keyauth.uk/dashboard/dist/js/sidebarmenu.js"></script> <!--Custom JavaScript --> - <script src="https://cdn.keyauth.uk/dashboard/dist/js/feather.min.js"></script> + <script src="https://cdn.keyauth.uk/dashboard/dist/js/feather.min.js"></script> <script src="https://cdn.keyauth.uk/dashboard/dist/js/custom.min.js"></script> <!--This page JavaScript --> <!--chartis chart--> @@ -301,8 +306,8 @@ <!--chartjs --> <script src="https://cdn.keyauth.uk/dashboard/assets/libs/chart-js/dist/chart.min.js"></script> <script src="https://cdn.keyauth.uk/dashboard/dist/js/pages/dashboards/dashboard1.js"></script> - <script src="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net/js/jquery.dataTables.min.js"></script> - <!-- start - This is for export functionality only --> + <script src="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net/js/jquery.dataTables.min.js"></script> + <!-- start - This is for export functionality only --> <script src="https://cdn.datatables.net/buttons/1.5.1/js/dataTables.buttons.min.js"></script> <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.flash.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script> @@ -310,6 +315,7 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"></script> <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.html5.min.js"></script> <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.print.min.js"></script> -<script src="https://cdn.keyauth.uk/dashboard/dist/js/pages/datatable/datatable-advanced.init.js"></script> + <script src="https://cdn.keyauth.uk/dashboard/dist/js/pages/datatable/datatable-advanced.init.js"></script> </body> + </html> \ No newline at end of file diff --git a/website source/dashboard/server/blacklist/index.php b/website source/dashboard/server/blacklist/index.php index b4a575b..6799a76 100644 --- a/website source/dashboard/server/blacklist/index.php +++ b/website source/dashboard/server/blacklist/index.php @@ -10,8 +10,7 @@ session_start(); } -if (!isset($_SESSION['username'])) -{ +if (!isset($_SESSION['username'])) { header("Location: ../../../login/"); exit(); } @@ -24,11 +23,10 @@ $row = mysqli_fetch_array($result); $banned = $row['banned']; -if (!is_null($banned)) -{ - echo "<meta http-equiv='Refresh' Content='0; url=../../../login/'>"; - session_destroy(); - exit(); +if (!is_null($banned)) { + echo "<meta http-equiv='Refresh' Content='0; url=../../../login/'>"; + session_destroy(); + exit(); } $role = $row['role']; @@ -40,6 +38,7 @@ ?> <!DOCTYPE html> <html dir="ltr" lang="en"> + <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> @@ -48,103 +47,93 @@ <title>RestoreCord - Blacklist</title> <!-- Favicon icon --> <link rel="icon" type="image/png" sizes="16x16" href="https://i.imgur.com/w65Dpnw.png"> - <script src="https://cdn.keyauth.uk/dashboard/assets/libs/jquery/dist/jquery.min.js"></script> + <script src="https://cdn.keyauth.uk/dashboard/assets/libs/jquery/dist/jquery.min.js"></script> <!-- Custom CSS --> - <link href="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net-bs4/css/dataTables.bootstrap4.css" rel="stylesheet"> + <link href="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net-bs4/css/dataTables.bootstrap4.css" rel="stylesheet"> <link href="https://cdn.keyauth.uk/dashboard/assets/libs/chartist/dist/chartist.min.css" rel="stylesheet"> <link href="https://cdn.keyauth.uk/dashboard/assets/extra-libs/c3/c3.min.css" rel="stylesheet"> <!-- Custom CSS --> <link href="https://cdn.keyauth.uk/dashboard/dist/css/style.min.css" rel="stylesheet"> - - <script src="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.js"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.css"> - <script src="https://cdn.keyauth.uk/dashboard/unixtolocal.js"></script> + <script src="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.js"></script> + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.css"> + + <script src="https://cdn.keyauth.uk/dashboard/unixtolocal.js"></script> + - <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> -<?php - -if (!$_SESSION['server_to_manage']) // no app selected yet + <?php -{ + if (!$_SESSION['server_to_manage']) // no app selected yet - $result = mysqli_query($link, "SELECT * FROM `servers` WHERE `owner` = '$username' AND `banned` IS NULL"); // select all apps where owner is current user - if (mysqli_num_rows($result) > 0) // if the user already owns an app, proceed to change app or load only app - { - if (mysqli_num_rows($result) == 1) // if the user only owns one app, load that app (they can still change app after it's loaded) - + $result = mysqli_query($link, "SELECT * FROM `servers` WHERE `owner` = '$username' AND `banned` IS NULL"); // select all apps where owner is current user + if (mysqli_num_rows($result) > 0) // if the user already owns an app, proceed to change app or load only app + { - $row = mysqli_fetch_array($result); - $_SESSION['server_to_manage'] = $row["name"]; - $_SESSION['serverid'] = $row["guildid"]; -?> + + if (mysqli_num_rows($result) == 1) // if the user only owns one app, load that app (they can still change app after it's loaded) + + { + $row = mysqli_fetch_array($result); + $_SESSION['server_to_manage'] = $row["name"]; + $_SESSION['serverid'] = $row["guildid"]; + ?> <script type='text/javascript'> - - $(document).ready(function(){ - $("#content").fadeIn(1900); - $("#sticky-footer bg-white").fadeIn(1900); - }); - + $(document).ready(function() { + $("#content").fadeIn(1900); + $("#sticky-footer bg-white").fadeIn(1900); + }); </script> - <?php - } - else - // otherwise if the user has more than one app, choose which app to load - - { -?> + <?php + } else + // otherwise if the user has more than one app, choose which app to load + + { + ?> <script type='text/javascript'> - - $(document).ready(function(){ - $("#changeapp").fadeIn(1900); - }); - + $(document).ready(function() { + $("#changeapp").fadeIn(1900); + }); </script> - <?php + <?php + } + } else + // if user doesnt have any apps created, take them to the screen to create an app + + { + ?> + <script type='text/javascript'> + $(document).ready(function() { + $("#createapp").fadeIn(1900); + }); + </script> + <?php } - } - else - // if user doesnt have any apps created, take them to the screen to create an app - + } else + // app already selected, load page like normal + { -?> - <script type='text/javascript'> - - $(document).ready(function(){ - $("#createapp").fadeIn(1900); - }); - - </script> - <?php + ?> + <script type='text/javascript'> + $(document).ready(function() { + $("#content").fadeIn(1900); + $("#sticky-footer bg-white").fadeIn(1900); + }); + </script> + <?php } -} -else -// app already selected, load page like normal - -{ -?> - <script type='text/javascript'> - - $(document).ready(function(){ - $("#content").fadeIn(1900); - $("#sticky-footer bg-white").fadeIn(1900); - }); - - </script> - <?php -} - -?> + ?> </head> + <body data-theme="<?php echo (($darkmode ? 1 : 0) ? 'light' : 'dark'); ?>"> <!-- ============================================================== --> <!-- Preloader - style you can find in spinners.css --> @@ -197,13 +186,13 @@ <!-- create new --> <!-- ============================================================== --> <li class="nav-item dropdown"> - <a class="nav-link dropdown-toggle waves-effect waves-dark" href="https://restorecord.com/discord/" target="discord"> <i class="mdi mdi-discord font-24"></i> - </a> - </li> - <li class="nav-item dropdown"> - <a class="nav-link dropdown-toggle waves-effect waves-dark" href="https://restorecord.com/telegram/" target="telegram"> <i class="mdi mdi-telegram font-24"></i> - </a> - </li> + <a class="nav-link dropdown-toggle waves-effect waves-dark" href="../../../discord/" target="discord"> <i class="mdi mdi-discord font-24"></i> + </a> + </li> + <li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle waves-effect waves-dark" href="../../../telegram/" target="telegram"> <i class="mdi mdi-telegram font-24"></i> + </a> + </li> <!-- ============================================================== --> <!-- User profile and search --> <!-- ============================================================== --> @@ -241,7 +230,7 @@ <!-- Sidebar navigation--> <nav class="sidebar-nav"> <ul id="sidebarnav"> - <?php sidebar($isadmin); ?> + <?php sidebar($isadmin); ?> </ul> </nav> <!-- End Sidebar navigation --> @@ -270,99 +259,91 @@ <!-- ============================================================== --> <!-- ============================================================== --> <!-- Container fluid --> - - <div class="main-panel" id="createapp" style="padding-left:30px;display:none;"> - <!-- Page Heading --> - <br> - <h1 class="h3 mb-2 text-gray-800">Create A Server</h1> - <br> - <br> - <form method="POST" action=""> - <input type="text" id="appname" name="appname" class="form-control" placeholder="Server Name..."></input> - <br> - <br> - <button type="submit" name"ccreateapp" class="btn btn-primary" style="color:white;">Submit</button> - </form> - </div> - - - <div class="main-panel" id="changeapp" style="padding-left:30px;display:none;"> - <!-- Page Heading --> - <br> - <h1 class="h3 mb-2 text-gray-800">Choose A Server</h1> + + <div class="main-panel" id="createapp" style="padding-left:30px;display:none;"> + <!-- Page Heading --> + <br> + <h1 class="h3 mb-2 text-gray-800">Create A Server</h1> + <br> + <br> + <form method="POST" action=""> + <input type="text" id="appname" name="appname" class="form-control" placeholder="Server Name..."></input> <br> <br> - <form class="text-left" method="POST" action=""> -<select class="form-control" name="taskOption"> - <?php -$result = mysqli_query($link, "SELECT * FROM `servers` WHERE `owner` = '$username'"); - -$rows = array(); -while ($r = mysqli_fetch_assoc($result)) -{ - $rows[] = $r; -} - -foreach ($rows as $row) -{ - - $appname = $row['name']; -?> - <option><?php echo $appname; ?></option> - <?php -} -?> -</select> - <br> - <br> - <button type="submit" name="change" class="btn btn-primary" style="color:white;">Submit</button><a style="padding-left:5px;color:#4e73df;" id="createe">Create Server</a> - </form> - <script type="text/javascript"> + <button type="submit" name="ccreateapp" class="btn btn-primary" style="color:white;">Submit</button> + </form> + </div> -var myLink = document.getElementById('createe'); -myLink.onclick = function(){ + <div class="main-panel" id="changeapp" style="padding-left:30px;display:none;"> + <!-- Page Heading --> + <br> + <h1 class="h3 mb-2 text-gray-800">Choose A Server</h1> + <br> + <br> + <form class="text-left" method="POST" action=""> + <select class="form-control" name="taskOption"> + <?php + $result = mysqli_query($link, "SELECT * FROM `servers` WHERE `owner` = '$username'"); + + $rows = array(); + while ($r = mysqli_fetch_assoc($result)) { + $rows[] = $r; + } + + foreach ($rows as $row) { + + $appname = $row['name']; + ?> + <option><?php echo $appname; ?></option> + <?php + } + ?> + </select> + <br> + <br> + <button type="submit" name="change" class="btn btn-primary" style="color:white;">Submit</button><a style="padding-left:5px;color:#4e73df;" id="createe">Create Server</a> + </form> + <script type="text/javascript"> + var myLink = document.getElementById('createe'); + myLink.onclick = function() { -$(document).ready(function(){ - $("#changeapp").fadeOut(100); - $("#createapp").fadeIn(1900); - }); -} + $(document).ready(function() { + $("#changeapp").fadeOut(100); + $("#createapp").fadeIn(1900); + }); + } + </script> + <?php + if (isset($_POST['change'])) { + $selectOption = sanitize($_POST['taskOption']); + ($result = mysqli_query($link, "SELECT * FROM `servers` WHERE `name` = '$selectOption' AND `owner` = '$username'")) or die(mysqli_error($link)); + if (mysqli_num_rows($result) === 0) { + mysqli_close($link); + error("You don\'t own server!"); + echo "<meta http-equiv='Refresh' Content='2'>"; + return; + } + $row = mysqli_fetch_array($result); + $banned = $row["banned"]; + if (!is_null($banned)) { + error("This server has been banned for: " . sanitize($banned)); + echo "<meta http-equiv='Refresh' Content='2;'>"; + return; + } + + $_SESSION['server_to_manage'] = $selectOption; + $_SESSION['serverid'] = $row["guildid"]; + + success("You have changed Server!"); + echo "<meta http-equiv='Refresh' Content='2;'>"; + } + ?> + </div> -</script> - <?php -if (isset($_POST['change'])) -{ - $selectOption = sanitize($_POST['taskOption']); - ($result = mysqli_query($link, "SELECT * FROM `servers` WHERE `name` = '$selectOption' AND `owner` = '$username'")) or die(mysqli_error($link)); - if (mysqli_num_rows($result) === 0) - { - mysqli_close($link); - error("You don\'t own server!"); - echo "<meta http-equiv='Refresh' Content='2'>"; - return; - } - $row = mysqli_fetch_array($result); - $banned = $row["banned"]; - if(!is_null($banned)) - { - error("This server has been banned for: " . sanitize($banned)); - echo "<meta http-equiv='Refresh' Content='2;'>"; - return; - } - - $_SESSION['server_to_manage'] = $selectOption; - $_SESSION['serverid'] = $row["guildid"]; - - success("You have changed Server!"); - echo "<meta http-equiv='Refresh' Content='2;'>"; -} -?> - </div> - <!-- ============================================================== --> <div class="container-fluid" id="content" style="display:none;"> <!-- ============================================================== --> @@ -371,80 +352,77 @@ <!-- File export --> <div class="row"> <div class="col-12"> - <?php heador($role, $link); ?> - <br> - <a href="JavaScript:newPopup('https://discord.com/oauth2/authorize?client_id=791106018175614988&permissions=268435457&scope=applications.commands%20bot');" class="btn btn-info"> <i class="fab fa-discord"></i> Add Bot</a> - <br> - <br> -<script type="text/javascript"> - -var myLink = document.getElementById('mylink'); + <?php heador($role, $link); ?> + <br> + <a href="JavaScript:newPopup('https://discord.com/oauth2/authorize?client_id=791106018175614988&permissions=268435457&scope=applications.commands%20bot');" class="btn btn-info"> <i class="fab fa-discord"></i> Add Bot</a> + <br> + <br> + <script type="text/javascript"> + var myLink = document.getElementById('mylink'); -myLink.onclick = function(){ + myLink.onclick = function() { -$(document).ready(function(){ - $("#content").fadeOut(100); - $("#changeapp").fadeIn(1900); - }); - -} - + $(document).ready(function() { + $("#content").fadeOut(100); + $("#changeapp").fadeIn(1900); + }); -</script> + } + </script> <div class="card"> <div class="card-body"> <div class="table-responsive"> <table id="file_export" class="table table-striped table-bordered display"> <thead> <tr> -<th>User</th> -<th>IP Address</th> -<th>Action</th> + <th>User</th> + <th>IP Address</th> + <th>Action</th> </tr> </thead> <tbody> -<?php - if ($_SESSION['server_to_manage']) - { - ($result = mysqli_query($link, "SELECT * FROM `blacklist` WHERE `server` = '" . $_SESSION['serverid'] . "'")) or die(mysqli_error($link)); + <?php + if ($_SESSION['server_to_manage']) { + ($result = mysqli_query($link, "SELECT * FROM `blacklist` WHERE `server` = '" . $_SESSION['serverid'] . "'")) or die(mysqli_error($link)); - $rows = array(); - while ($r = mysqli_fetch_assoc($result)) - { - $rows[] = $r; - } + $rows = array(); + while ($r = mysqli_fetch_assoc($result)) { + $rows[] = $r; + } - foreach ($rows as $row) - { + foreach ($rows as $row) { - $user = $row['user']; -?> + $user = $row['user']; + ?> - <tr> + <tr> - <td><?php echo $user; ?></td> - <td><?php echo $row['ip']; ?></td> + <td><?php echo $user; ?></td> + <td><?php echo $row['ip']; ?></td> - <form method="POST"><td><button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - Manage - </button> - <div class="dropdown-menu"> - <button class="dropdown-item" name="deleteblack" value="<?php echo $user; ?>">Delete</button> - </td></tr></form> -<?php + <form method="POST"> + <td><button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> + Manage + </button> + <div class="dropdown-menu"> + <button class="dropdown-item" name="deleteblack" value="<?php echo $user; ?>">Delete</button> + </td> + </tr> + </form> + <?php - } - } + } + } -?> + ?> </tbody> <tfoot> <tr> -<th>User</th> -<th>IP Address</th> -<th>Action</th> + <th>User</th> + <th>IP Address</th> + <th>Action</th> </tr> </tfoot> </table> @@ -454,43 +432,40 @@ </div> </div> <!-- Show / hide columns dynamically --> - + <!-- Column rendering --> - + <!-- Row grouping --> - + <!-- Multiple table control element --> - + <!-- DOM / jQuery events --> - + <!-- Complex headers with column visibility --> - + <!-- language file --> - - <?php - - if (isset($_POST['deleteblack'])) - { - $user = sanitize($_POST['deleteblack']); - mysqli_query($link, "DELETE FROM `blacklist` WHERE `user` = '$user' AND `server` = '".$_SESSION['serverid']."'"); - if (mysqli_affected_rows($link) != 0) // check query impacted something, else show error - { - success("Blacklist Successfully Deleted!"); - echo "<meta http-equiv='Refresh' Content='2'>"; - } - else - { - mysqli_close($link); - error("Failed To Delete Blacklist!"); - } - } - - ?> - + + <?php + + if (isset($_POST['deleteblack'])) { + $user = sanitize($_POST['deleteblack']); + mysqli_query($link, "DELETE FROM `blacklist` WHERE `user` = '$user' AND `server` = '" . $_SESSION['serverid'] . "'"); + if (mysqli_affected_rows($link) != 0) // check query impacted something, else show error + { + success("Blacklist Successfully Deleted!"); + echo "<meta http-equiv='Refresh' Content='2'>"; + } else { + mysqli_close($link); + error("Failed To Delete Blacklist!"); + } + } + + ?> + <!-- Setting defaults --> - + <!-- Footer callback --> - + <!-- ============================================================== --> <!-- End PAge Content --> <!-- ============================================================== --> @@ -509,8 +484,10 @@ <!-- footer --> <!-- ============================================================== --> <footer class="footer text-center"> - Copyright © <script>document.write(new Date().getFullYear())</script> RestoreCord -</footer> + Copyright © <script> + document.write(new Date().getFullYear()) + </script> RestoreCord + </footer> <!-- ============================================================== --> <!-- End footer --> <!-- ============================================================== --> @@ -523,12 +500,12 @@ <!-- End Wrapper --> <!-- ============================================================== --> <!-- ============================================================== --> - - + + <!-- ============================================================== --> <!-- All Jquery --> <!-- ============================================================== --> - + <!-- Bootstrap tether Core JavaScript --> <script src="https://cdn.keyauth.uk/dashboard/assets/libs/popper-js/dist/umd/popper.min.js"></script> <script src="https://cdn.keyauth.uk/dashboard/assets/libs/bootstrap/dist/js/bootstrap.min.js"></script> @@ -544,7 +521,7 @@ <!--Menu sidebar --> <script src="https://cdn.keyauth.uk/dashboard/dist/js/sidebarmenu.js"></script> <!--Custom JavaScript --> - <script src="https://cdn.keyauth.uk/dashboard/dist/js/feather.min.js"></script> + <script src="https://cdn.keyauth.uk/dashboard/dist/js/feather.min.js"></script> <script src="https://cdn.keyauth.uk/dashboard/dist/js/custom.min.js"></script> <!--This page JavaScript --> <!--chartis chart--> @@ -556,24 +533,25 @@ <!--chartjs --> <script src="https://cdn.keyauth.uk/dashboard/assets/libs/chart-js/dist/chart.min.js"></script> <script src="https://cdn.keyauth.uk/dashboard/dist/js/pages/dashboards/dashboard1.js"></script> - <script src="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net/js/jquery.dataTables.min.js"></script> - <!-- start - This is for export functionality only --> + <script src="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net/js/jquery.dataTables.min.js"></script> + <!-- start - This is for export functionality only --> <script src="https://cdn.datatables.net/buttons/1.5.1/js/dataTables.buttons.min.js"></script> <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.flash.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"></script> <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.html5.min.js"></script> - <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.print.min.js"></script> - - <script src="https://cdn.keyauth.uk/dashboard/dist/js/pages/datatable/datatable-advanced.init.js"></script> - - <script type="text/javascript"> -// Popup window code -function newPopup(url) { - popupWindow = window.open( - url,'popUpWindow','menubar=no,width=500,height=777,location=no,resizable=no,scrollbars=yes,status=no') -} -</script> + <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.print.min.js"></script> + + <script src="https://cdn.keyauth.uk/dashboard/dist/js/pages/datatable/datatable-advanced.init.js"></script> + + <script type="text/javascript"> + // Popup window code + function newPopup(url) { + popupWindow = window.open( + url, 'popUpWindow', 'menubar=no,width=500,height=777,location=no,resizable=no,scrollbars=yes,status=no') + } + </script> </body> + </html> \ No newline at end of file diff --git a/website source/dashboard/server/members/index.php b/website source/dashboard/server/members/index.php index 0bd8fce..da29a4d 100644 --- a/website source/dashboard/server/members/index.php +++ b/website source/dashboard/server/members/index.php @@ -4,14 +4,14 @@ // ini_set('display_startup_errors', 1); // error_reporting(E_ALL); + include '../../../includes/connection.php'; include '../../../includes/functions.php'; if (session_status() === PHP_SESSION_NONE) { session_start(); } -if (!isset($_SESSION['username'])) -{ +if (!isset($_SESSION['username'])) { header("Location: ../../../login/"); exit(); } @@ -23,14 +23,6 @@ ($result = mysqli_query($link, "SELECT * FROM `users` WHERE `username` = '$username'")) or die(mysqli_error($link)); $row = mysqli_fetch_array($result); -$banned = $row['banned']; -if (!is_null($banned)) -{ - echo "<meta http-equiv='Refresh' Content='0; url=../../../login/'>"; - session_destroy(); - exit(); -} - $role = $row['role']; $_SESSION['role'] = $role; @@ -40,6 +32,7 @@ ?> <!DOCTYPE html> <html dir="ltr" lang="en"> + <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> @@ -48,103 +41,93 @@ <title>RestoreCord - Members</title> <!-- Favicon icon --> <link rel="icon" type="image/png" sizes="16x16" href="https://i.imgur.com/w65Dpnw.png"> - <script src="https://cdn.keyauth.uk/dashboard/assets/libs/jquery/dist/jquery.min.js"></script> + <script src="https://cdn.keyauth.uk/dashboard/assets/libs/jquery/dist/jquery.min.js"></script> <!-- Custom CSS --> - <link href="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net-bs4/css/dataTables.bootstrap4.css" rel="stylesheet"> + <link href="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net-bs4/css/dataTables.bootstrap4.css" rel="stylesheet"> <link href="https://cdn.keyauth.uk/dashboard/assets/libs/chartist/dist/chartist.min.css" rel="stylesheet"> <link href="https://cdn.keyauth.uk/dashboard/assets/extra-libs/c3/c3.min.css" rel="stylesheet"> <!-- Custom CSS --> <link href="https://cdn.keyauth.uk/dashboard/dist/css/style.min.css" rel="stylesheet"> - - <script src="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.js"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.css"> - <script src="https://cdn.keyauth.uk/dashboard/unixtolocal.js"></script> + <script src="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.js"></script> + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.css"> + + <script src="https://cdn.keyauth.uk/dashboard/unixtolocal.js"></script> + - <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> -<?php + <?php -if (!$_SESSION['server_to_manage']) // no app selected yet + if (!$_SESSION['server_to_manage']) // no app selected yet -{ - - $result = mysqli_query($link, "SELECT * FROM `servers` WHERE `owner` = '$username' AND `banned` IS NULL"); // select all apps where owner is current user - if (mysqli_num_rows($result) > 0) // if the user already owns an app, proceed to change app or load only app - { - if (mysqli_num_rows($result) == 1) // if the user only owns one app, load that app (they can still change app after it's loaded) - + $result = mysqli_query($link, "SELECT * FROM `servers` WHERE `owner` = '$username'"); // select all apps where owner is current user + if (mysqli_num_rows($result) > 0) // if the user already owns an app, proceed to change app or load only app + { - $row = mysqli_fetch_array($result); - $_SESSION['server_to_manage'] = $row["name"]; - $_SESSION['serverid'] = $row["guildid"]; -?> + + if (mysqli_num_rows($result) == 1) // if the user only owns one app, load that app (they can still change app after it's loaded) + + { + $row = mysqli_fetch_array($result); + $_SESSION['server_to_manage'] = $row["name"]; + $_SESSION['serverid'] = $row["guildid"]; + ?> <script type='text/javascript'> - - $(document).ready(function(){ - $("#content").fadeIn(1900); - $("#sticky-footer bg-white").fadeIn(1900); - }); - + $(document).ready(function() { + $("#content").fadeIn(1900); + $("#sticky-footer bg-white").fadeIn(1900); + }); </script> - <?php - } - else - // otherwise if the user has more than one app, choose which app to load - - { -?> + <?php + } else + // otherwise if the user has more than one app, choose which app to load + + { + ?> <script type='text/javascript'> - - $(document).ready(function(){ - $("#changeapp").fadeIn(1900); - }); - + $(document).ready(function() { + $("#changeapp").fadeIn(1900); + }); </script> - <?php + <?php + } + } else + // if user doesnt have any apps created, take them to the screen to create an app + + { + ?> + <script type='text/javascript'> + $(document).ready(function() { + $("#createapp").fadeIn(1900); + }); + </script> + <?php } - } - else - // if user doesnt have any apps created, take them to the screen to create an app - + } else + // app already selected, load page like normal + { -?> - <script type='text/javascript'> - - $(document).ready(function(){ - $("#createapp").fadeIn(1900); - }); - - </script> - <?php + ?> + <script type='text/javascript'> + $(document).ready(function() { + $("#content").fadeIn(1900); + $("#sticky-footer bg-white").fadeIn(1900); + }); + </script> + <?php } -} -else -// app already selected, load page like normal - -{ -?> - <script type='text/javascript'> - - $(document).ready(function(){ - $("#content").fadeIn(1900); - $("#sticky-footer bg-white").fadeIn(1900); - }); - - </script> - <?php -} - -?> + ?> </head> + <body data-theme="<?php echo (($darkmode ? 1 : 0) ? 'light' : 'dark'); ?>"> <!-- ============================================================== --> <!-- Preloader - style you can find in spinners.css --> @@ -197,13 +180,13 @@ <!-- create new --> <!-- ============================================================== --> <li class="nav-item dropdown"> - <a class="nav-link dropdown-toggle waves-effect waves-dark" href="https://restorecord.com/discord/" target="discord"> <i class="mdi mdi-discord font-24"></i> - </a> - </li> - <li class="nav-item dropdown"> - <a class="nav-link dropdown-toggle waves-effect waves-dark" href="https://restorecord.com/telegram/" target="telegram"> <i class="mdi mdi-telegram font-24"></i> - </a> - </li> + <a class="nav-link dropdown-toggle waves-effect waves-dark" href="../../../discord/" target="discord"> <i class="mdi mdi-discord font-24"></i> + </a> + </li> + <li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle waves-effect waves-dark" href="../../../telegram/" target="telegram"> <i class="mdi mdi-telegram font-24"></i> + </a> + </li> <!-- ============================================================== --> <!-- User profile and search --> <!-- ============================================================== --> @@ -241,7 +224,7 @@ <!-- Sidebar navigation--> <nav class="sidebar-nav"> <ul id="sidebarnav"> - <?php sidebar($isadmin); ?> + <?php sidebar($isadmin); ?> </ul> </nav> <!-- End Sidebar navigation --> @@ -270,99 +253,91 @@ <!-- ============================================================== --> <!-- ============================================================== --> <!-- Container fluid --> - - <div class="main-panel" id="createapp" style="padding-left:30px;display:none;"> - <!-- Page Heading --> - <br> - <h1 class="h3 mb-2 text-gray-800">Create A Server</h1> - <br> - <br> - <form method="POST" action=""> - <input type="text" id="appname" name="appname" class="form-control" placeholder="Server Name..."></input> - <br> - <br> - <button type="submit" name"ccreateapp" class="btn btn-primary" style="color:white;">Submit</button> - </form> - </div> - - - <div class="main-panel" id="changeapp" style="padding-left:30px;display:none;"> - <!-- Page Heading --> - <br> - <h1 class="h3 mb-2 text-gray-800">Choose A Server</h1> + + <div class="main-panel" id="createapp" style="padding-left:30px;display:none;"> + <!-- Page Heading --> + <br> + <h1 class="h3 mb-2 text-gray-800">Create A Server</h1> + <br> + <br> + <form method="POST" action=""> + <input type="text" id="appname" name="appname" class="form-control" placeholder="Server Name..."></input> <br> <br> - <form class="text-left" method="POST" action=""> -<select class="form-control" name="taskOption"> - <?php -$result = mysqli_query($link, "SELECT * FROM `servers` WHERE `owner` = '$username'"); - -$rows = array(); -while ($r = mysqli_fetch_assoc($result)) -{ - $rows[] = $r; -} - -foreach ($rows as $row) -{ - - $appname = $row['name']; -?> - <option><?php echo $appname; ?></option> - <?php -} -?> -</select> - <br> - <br> - <button type="submit" name="change" class="btn btn-primary" style="color:white;">Submit</button><a style="padding-left:5px;color:#4e73df;" id="createe">Create Server</a> - </form> - <script type="text/javascript"> + <button type="submit" name="ccreateapp" class="btn btn-primary" style="color:white;">Submit</button> + </form> + </div> -var myLink = document.getElementById('createe'); -myLink.onclick = function(){ + <div class="main-panel" id="changeapp" style="padding-left:30px;display:none;"> + <!-- Page Heading --> + <br> + <h1 class="h3 mb-2 text-gray-800">Choose A Server</h1> + <br> + <br> + <form class="text-left" method="POST" action=""> + <select class="form-control" name="taskOption"> + <?php + $result = mysqli_query($link, "SELECT * FROM `servers` WHERE `owner` = '$username'"); + + $rows = array(); + while ($r = mysqli_fetch_assoc($result)) { + $rows[] = $r; + } + + foreach ($rows as $row) { + + $appname = $row['name']; + ?> + <option><?php echo $appname; ?></option> + <?php + } + ?> + </select> + <br> + <br> + <button type="submit" name="change" class="btn btn-primary" style="color:white;">Submit</button><a style="padding-left:5px;color:#4e73df;" id="createe">Create Server</a> + </form> + <script type="text/javascript"> + var myLink = document.getElementById('createe'); + myLink.onclick = function() { -$(document).ready(function(){ - $("#changeapp").fadeOut(100); - $("#createapp").fadeIn(1900); - }); -} + $(document).ready(function() { + $("#changeapp").fadeOut(100); + $("#createapp").fadeIn(1900); + }); + } + </script> + <?php + if (isset($_POST['change'])) { + $selectOption = sanitize($_POST['taskOption']); + ($result = mysqli_query($link, "SELECT * FROM `servers` WHERE `name` = '$selectOption' AND `owner` = '$username'")) or die(mysqli_error($link)); + if (mysqli_num_rows($result) === 0) { + mysqli_close($link); + error("You don\'t own server!"); + echo "<meta http-equiv='Refresh' Content='2'>"; + return; + } + $row = mysqli_fetch_array($result); + $banned = $row["banned"]; + if (!is_null($banned)) { + error("This server has been banned for: " . sanitize($banned)); + echo "<meta http-equiv='Refresh' Content='2;'>"; + return; + } + + $_SESSION['server_to_manage'] = $selectOption; + $_SESSION['serverid'] = $row["guildid"]; + + success("You have changed Server!"); + echo "<meta http-equiv='Refresh' Content='2;'>"; + } + ?> + </div> -</script> - <?php -if (isset($_POST['change'])) -{ - $selectOption = sanitize($_POST['taskOption']); - ($result = mysqli_query($link, "SELECT * FROM `servers` WHERE `name` = '$selectOption' AND `owner` = '$username'")) or die(mysqli_error($link)); - if (mysqli_num_rows($result) === 0) - { - mysqli_close($link); - error("You don\'t own server!"); - echo "<meta http-equiv='Refresh' Content='2'>"; - return; - } - $row = mysqli_fetch_array($result); - $banned = $row["banned"]; - if(!is_null($banned)) - { - error("This server has been banned for: " . sanitize($banned)); - echo "<meta http-equiv='Refresh' Content='2;'>"; - return; - } - - $_SESSION['server_to_manage'] = $selectOption; - $_SESSION['serverid'] = $row["guildid"]; - - success("You have changed Server!"); - echo "<meta http-equiv='Refresh' Content='2;'>"; -} -?> - </div> - <!-- ============================================================== --> <div class="container-fluid" id="content" style="display:none;"> <!-- ============================================================== --> @@ -371,77 +346,74 @@ <!-- File export --> <div class="row"> <div class="col-12"> - <?php heador($role, $link); ?> - <br> -<a href="JavaScript:newPopup('https://discord.com/api/oauth2/authorize?client_id=791106018175614988&redirect_uri=https%3A%2F%2Frestorecord.com%2Fapi%2Fdiscord&response_type=code&scope=identify');" class="btn btn-info"> <i class="fab fa-discord"></i> Recover Members from Old RestoreCord</a> <a href="JavaScript:newPopup('https://discord.com/oauth2/authorize?client_id=791106018175614988&permissions=268435457&scope=applications.commands%20bot');" class="btn btn-info"> <i class="fab fa-discord"></i> Add Bot</a> -<br><br> -<script type="text/javascript"> - -var myLink = document.getElementById('mylink'); + <?php heador($role, $link); ?> + <br> + <a href="JavaScript:newPopup('https://discord.com/api/oauth2/authorize?client_id=791106018175614988&redirect_uri=https%3A%2F%2Frestorecord.com%2Fapi%2Fdiscord&response_type=code&scope=identify');" class="btn btn-info"> <i class="fab fa-discord"></i> Recover Members from Old RestoreCord</a> <a href="JavaScript:newPopup('https://discord.com/oauth2/authorize?client_id=791106018175614988&permissions=268435457&scope=applications.commands%20bot');" class="btn btn-info"> <i class="fab fa-discord"></i> Add Bot</a> + <br><br> + <script type="text/javascript"> + var myLink = document.getElementById('mylink'); -myLink.onclick = function(){ + myLink.onclick = function() { -$(document).ready(function(){ - $("#content").fadeOut(100); - $("#changeapp").fadeIn(1900); - }); - -} - + $(document).ready(function() { + $("#content").fadeOut(100); + $("#changeapp").fadeIn(1900); + }); -</script> + } + </script> <div class="card"> <div class="card-body"> <div class="table-responsive"> <table id="file_export" class="table table-striped table-bordered display"> <thead> <tr> -<th>ID</th> -<th>Action</th> + <th>ID</th> + <th>Action</th> </tr> </thead> <tbody> -<?php - if ($_SESSION['server_to_manage']) - { - ($result = mysqli_query($link, "SELECT * FROM `members` WHERE `server` = '" . $_SESSION['serverid'] . "'")) or die(mysqli_error($link)); + <?php + if ($_SESSION['server_to_manage']) { + ($result = mysqli_query($link, "SELECT * FROM `members` WHERE `server` = '" . $_SESSION['serverid'] . "'")) or die(mysqli_error($link)); - $rows = array(); - while ($r = mysqli_fetch_assoc($result)) - { - $rows[] = $r; - } + $rows = array(); + while ($r = mysqli_fetch_assoc($result)) { + $rows[] = $r; + } - foreach ($rows as $row) - { + foreach ($rows as $row) { - $user = $row['userid']; -?> + $user = $row['userid']; + ?> - <tr> + <tr> - <td><?php echo $user; ?></td> + <td><?php echo $user; ?></td> - <form method="POST"><td><button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - Manage - </button> - <div class="dropdown-menu"> - <button class="dropdown-item" name="deleteuser" value="<?php echo $user; ?>">Delete</button> - <button class="dropdown-item" name="banuser" value="<?php echo $user; ?>">Ban</button> - </td></tr></form> -<?php + <form method="POST"> + <td><button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> + Manage + </button> + <div class="dropdown-menu"> + <button class="dropdown-item" name="deleteuser" value="<?php echo $user; ?>">Delete</button> + <button class="dropdown-item" name="banuser" value="<?php echo $user; ?>">Ban</button> + </td> + </tr> + </form> + <?php - } - } + } + } -?> + ?> </tbody> <tfoot> <tr> -<th>ID</th> -<th>Action</th> + <th>ID</th> + <th>Action</th> </tr> </tfoot> </table> @@ -451,90 +423,80 @@ </div> </div> <!-- Show / hide columns dynamically --> - + <!-- Column rendering --> - + <!-- Row grouping --> - + <!-- Multiple table control element --> - + <!-- DOM / jQuery events --> - + <!-- Complex headers with column visibility --> - + <!-- language file --> - - <?php - - if (isset($_POST['deleteuser'])) - { - $user = sanitize($_POST['deleteuser']); - mysqli_query($link, "DELETE FROM `members` WHERE `userid` = '$user' AND `server` = '".$_SESSION['serverid']."'"); - if (mysqli_affected_rows($link) != 0) // check query impacted something, else show error - { - success("User Successfully Deleted!"); - echo "<meta http-equiv='Refresh' Content='2'>"; - } - else - { - mysqli_close($link); - error("Failed To Delete User!"); - } - } - - if (isset($_POST['banuser'])) - { - if($role != "premium") - { - mysqli_close($link); - error("Premium only feature!"); - echo "<meta http-equiv='Refresh' Content='2'>"; - return; - } - - $user = sanitize($_POST['banuser']); - - $result = mysqli_query($link, "SELECT `ip` FROM `members` WHERE `userid` = '$user' AND `server` = '" . $_SESSION['serverid'] . "'"); - if (mysqli_num_rows($result) == 0) - { - mysqli_close($link); - error("User not Found!"); - echo "<meta http-equiv='Refresh' Content='2'>"; - return; - } - - $row = mysqli_fetch_array($result); - $ip = $row["ip"]; - - if(is_null($ip)) - { - mysqli_close($link); - error("No recorded IP address for this user"); - echo "<meta http-equiv='Refresh' Content='2'>"; - return; - } - - mysqli_query($link, "INSERT INTO `blacklist`(`user`,`ip`, `server`) VALUES ('$user','$ip','" . $_SESSION['serverid'] . "')"); - if (mysqli_affected_rows($link) != 0) - { - mysqli_query($link, "DELETE FROM `members` WHERE `userid` = '$user' AND `server` = '".$_SESSION['serverid']."'"); - success("User Successfully Banned!"); - echo "<meta http-equiv='Refresh' Content='2'>"; - } - else - { - mysqli_close($link); - error("Failed To Ban User!"); - } - } - - - ?> - + + <?php + + if (isset($_POST['deleteuser'])) { + $user = sanitize($_POST['deleteuser']); + mysqli_query($link, "DELETE FROM `members` WHERE `userid` = '$user' AND `server` = '" . $_SESSION['serverid'] . "'"); + if (mysqli_affected_rows($link) != 0) // check query impacted something, else show error + { + success("User Successfully Deleted!"); + echo "<meta http-equiv='Refresh' Content='2'>"; + } else { + mysqli_close($link); + error("Failed To Delete User!"); + } + } + + if (isset($_POST['banuser'])) { + if ($role != "premium") { + mysqli_close($link); + error("Premium only feature!"); + echo "<meta http-equiv='Refresh' Content='2'>"; + return; + } + + $user = sanitize($_POST['banuser']); + + $result = mysqli_query($link, "SELECT `ip` FROM `members` WHERE `userid` = '$user' AND `server` = '" . $_SESSION['serverid'] . "'"); + if (mysqli_num_rows($result) == 0) { + mysqli_close($link); + error("User not Found!"); + echo "<meta http-equiv='Refresh' Content='2'>"; + return; + } + + $row = mysqli_fetch_array($result); + $ip = $row["ip"]; + + if (is_null($ip)) { + mysqli_close($link); + error("No recorded IP address for this user"); + echo "<meta http-equiv='Refresh' Content='2'>"; + return; + } + + mysqli_query($link, "INSERT INTO `blacklist`(`user`,`ip`, `server`) VALUES ('$user','$ip','" . $_SESSION['serverid'] . "')"); + if (mysqli_affected_rows($link) != 0) { + mysqli_query($link, "DELETE FROM `members` WHERE `userid` = '$user' AND `server` = '" . $_SESSION['serverid'] . "'"); + success("User Successfully Banned!"); + echo "<meta http-equiv='Refresh' Content='2'>"; + } else { + mysqli_close($link); + error("Failed To Ban User!"); + } + } + + + ?> + <!-- Setting defaults --> - + <!-- Footer callback --> - + <!-- ============================================================== --> <!-- End PAge Content --> <!-- ============================================================== --> @@ -553,8 +515,10 @@ <!-- footer --> <!-- ============================================================== --> <footer class="footer text-center"> - Copyright © <script>document.write(new Date().getFullYear())</script> RestoreCord -</footer> + Copyright © <script> + document.write(new Date().getFullYear()) + </script> RestoreCord + </footer> <!-- ============================================================== --> <!-- End footer --> <!-- ============================================================== --> @@ -567,12 +531,12 @@ <!-- End Wrapper --> <!-- ============================================================== --> <!-- ============================================================== --> - - + + <!-- ============================================================== --> <!-- All Jquery --> <!-- ============================================================== --> - + <!-- Bootstrap tether Core JavaScript --> <script src="https://cdn.keyauth.uk/dashboard/assets/libs/popper-js/dist/umd/popper.min.js"></script> <script src="https://cdn.keyauth.uk/dashboard/assets/libs/bootstrap/dist/js/bootstrap.min.js"></script> @@ -588,7 +552,7 @@ <!--Menu sidebar --> <script src="https://cdn.keyauth.uk/dashboard/dist/js/sidebarmenu.js"></script> <!--Custom JavaScript --> - <script src="https://cdn.keyauth.uk/dashboard/dist/js/feather.min.js"></script> + <script src="https://cdn.keyauth.uk/dashboard/dist/js/feather.min.js"></script> <script src="https://cdn.keyauth.uk/dashboard/dist/js/custom.min.js"></script> <!--This page JavaScript --> <!--chartis chart--> @@ -600,24 +564,25 @@ <!--chartjs --> <script src="https://cdn.keyauth.uk/dashboard/assets/libs/chart-js/dist/chart.min.js"></script> <script src="https://cdn.keyauth.uk/dashboard/dist/js/pages/dashboards/dashboard1.js"></script> - <script src="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net/js/jquery.dataTables.min.js"></script> - <!-- start - This is for export functionality only --> + <script src="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net/js/jquery.dataTables.min.js"></script> + <!-- start - This is for export functionality only --> <script src="https://cdn.datatables.net/buttons/1.5.1/js/dataTables.buttons.min.js"></script> <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.flash.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"></script> <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.html5.min.js"></script> - <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.print.min.js"></script> - - <script src="https://cdn.keyauth.uk/dashboard/dist/js/pages/datatable/datatable-advanced.init.js"></script> - - <script type="text/javascript"> -// Popup window code -function newPopup(url) { - popupWindow = window.open( - url,'popUpWindow','menubar=no,width=500,height=777,location=no,resizable=no,scrollbars=yes,status=no') -} -</script> + <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.print.min.js"></script> + + <script src="https://cdn.keyauth.uk/dashboard/dist/js/pages/datatable/datatable-advanced.init.js"></script> + + <script type="text/javascript"> + // Popup window code + function newPopup(url) { + popupWindow = window.open( + url, 'popUpWindow', 'menubar=no,width=500,height=777,location=no,resizable=no,scrollbars=yes,status=no') + } + </script> </body> + </html> \ No newline at end of file diff --git a/website source/dashboard/server/settings/index.php b/website source/dashboard/server/settings/index.php index fbf0da8..db3746a 100644 --- a/website source/dashboard/server/settings/index.php +++ b/website source/dashboard/server/settings/index.php @@ -6,8 +6,7 @@ include '../../../includes/connection.php'; include '../../../includes/functions.php'; -if (!isset($_SESSION['username'])) -{ +if (!isset($_SESSION['username'])) { header("Location: ../../../login/"); exit(); } @@ -20,11 +19,10 @@ $row = mysqli_fetch_array($result); $banned = $row['banned']; -if (!is_null($banned)) -{ - echo "<meta http-equiv='Refresh' Content='0; url=../../../login/'>"; - session_destroy(); - exit(); +if (!is_null($banned)) { + echo "<meta http-equiv='Refresh' Content='0; url=../../../login/'>"; + session_destroy(); + exit(); } $role = $row['role']; @@ -40,6 +38,7 @@ ?> <!DOCTYPE html> <html dir="ltr" lang="en"> + <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> @@ -48,114 +47,104 @@ <title>RestoreCord - Settings</title> <!-- Favicon icon --> <link rel="icon" type="image/png" sizes="300x250" href="https://i.imgur.com/Nfy4OoG.png"> - <script src="https://cdn.keyauth.uk/dashboard/assets/libs/jquery/dist/jquery.min.js"></script> + <script src="https://cdn.keyauth.uk/dashboard/assets/libs/jquery/dist/jquery.min.js"></script> <!-- Custom CSS --> - <link href="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net-bs4/css/dataTables.bootstrap4.css" rel="stylesheet"> + <link href="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net-bs4/css/dataTables.bootstrap4.css" rel="stylesheet"> <link href="https://cdn.keyauth.uk/dashboard/assets/libs/chartist/dist/chartist.min.css" rel="stylesheet"> <link href="https://cdn.keyauth.uk/dashboard/assets/extra-libs/c3/c3.min.css" rel="stylesheet"> <!-- Custom CSS --> <link href="https://cdn.keyauth.uk/dashboard/dist/css/style.min.css" rel="stylesheet"> - - <style> - /* Chrome, Safari, Edge, Opera */ -input::-webkit-outer-spin-button, -input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} -/* Firefox */ -input[type=number] { - -moz-appearance: textfield; -} -</style> + <style> + /* Chrome, Safari, Edge, Opera */ + input::-webkit-outer-spin-button, + input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; + } + + /* Firefox */ + input[type=number] { + -moz-appearance: textfield; + } + </style> + + <script src="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.js"></script> + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.css"> - <script src="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.js"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.css"> + <script src="https://cdn.keyauth.uk/dashboard/unixtolocal.js"></script> - <script src="https://cdn.keyauth.uk/dashboard/unixtolocal.js"></script> - <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> -<?php - -if (!$_SESSION['server_to_manage']) // no app selected yet + <?php -{ + if (!isset($_SESSION['server_to_manage'])) // no app selected yet - $result = mysqli_query($link, "SELECT * FROM `servers` WHERE `owner` = '$username' AND `banned` IS NULL"); // select all apps where owner is current user - if (mysqli_num_rows($result) > 0) // if the user already owns an app, proceed to change app or load only app - { - if (mysqli_num_rows($result) == 1) // if the user only owns one app, load that app (they can still change app after it's loaded) - + $result = mysqli_query($link, "SELECT * FROM `servers` WHERE `owner` = '$username' AND `banned` IS NULL"); // select all apps where owner is current user + if (mysqli_num_rows($result) > 0) // if the user already owns an app, proceed to change app or load only app + { - $row = mysqli_fetch_array($result); - $_SESSION['server_to_manage'] = $row["name"]; - $_SESSION['serverid'] = $row["guildid"]; -?> + + if (mysqli_num_rows($result) == 1) // if the user only owns one app, load that app (they can still change app after it's loaded) + + { + $row = mysqli_fetch_array($result); + $_SESSION['server_to_manage'] = $row["name"]; + $_SESSION['serverid'] = $row["guildid"]; + ?> <script type='text/javascript'> - - $(document).ready(function(){ - $("#content").fadeIn(1900); - $("#sticky-footer bg-white").fadeIn(1900); - }); - + $(document).ready(function() { + $("#content").fadeIn(1900); + $("#sticky-footer bg-white").fadeIn(1900); + }); </script> - <?php - } - else - // otherwise if the user has more than one app, choose which app to load - - { -?> + <?php + } else + // otherwise if the user has more than one app, choose which app to load + + { + ?> <script type='text/javascript'> - - $(document).ready(function(){ - $("#changeapp").fadeIn(1900); - }); - + $(document).ready(function() { + $("#changeapp").fadeIn(1900); + }); </script> - <?php + <?php + } + } else + // if user doesnt have any apps created, take them to the screen to create an app + + { + ?> + <script type='text/javascript'> + $(document).ready(function() { + $("#createapp").fadeIn(1900); + }); + </script> + <?php } - } - else - // if user doesnt have any apps created, take them to the screen to create an app - + } else + // app already selected, load page like normal { -?> - <script type='text/javascript'> - - $(document).ready(function(){ - $("#createapp").fadeIn(1900); - }); - - </script> - <?php + ?> + <script type='text/javascript'> + $(document).ready(function() { + $("#content").fadeIn(1900); + $("#sticky-footer bg-white").fadeIn(1900); + }); + </script> + <?php } - -} -else -// app already selected, load page like normal -{ -?> - <script type='text/javascript'> - - $(document).ready(function(){ - $("#content").fadeIn(1900); - $("#sticky-footer bg-white").fadeIn(1900); - }); - - </script> - <?php -} -?> + ?> </head> + <body data-theme="<?php echo (($darkmode ? 1 : 0) ? 'light' : 'dark'); ?>"> <!-- ============================================================== --> <!-- Preloader - style you can find in spinners.css --> @@ -208,13 +197,13 @@ <!-- create new --> <!-- ============================================================== --> <li class="nav-item dropdown"> - <a class="nav-link dropdown-toggle waves-effect waves-dark" href="https://restorecord.com/discord/" target="discord"> <i class="mdi mdi-discord font-24"></i> - </a> - </li> - <li class="nav-item dropdown"> - <a class="nav-link dropdown-toggle waves-effect waves-dark" href="https://restorecord.com/telegram/" target="telegram"> <i class="mdi mdi-telegram font-24"></i> - </a> - </li> + <a class="nav-link dropdown-toggle waves-effect waves-dark" href="../../../discord/" target="discord"> <i class="mdi mdi-discord font-24"></i> + </a> + </li> + <li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle waves-effect waves-dark" href="../../../telegram/" target="telegram"> <i class="mdi mdi-telegram font-24"></i> + </a> + </li> <!-- ============================================================== --> <!-- User profile and search --> <!-- ============================================================== --> @@ -252,7 +241,7 @@ <!-- Sidebar navigation--> <nav class="sidebar-nav"> <ul id="sidebarnav"> - <?php sidebar($isadmin); ?> + <?php sidebar($isadmin); ?> </ul> </nav> <!-- End Sidebar navigation --> @@ -281,99 +270,91 @@ <!-- ============================================================== --> <!-- ============================================================== --> <!-- Container fluid --> - - <div class="main-panel" id="createapp" style="padding-left:30px;display:none;"> - <!-- Page Heading --> - <br> - <h1 class="h3 mb-2 text-gray-800">Create A Server</h1> - <br> - <br> - <form method="POST" action=""> - <input type="text" id="appname" name="appname" class="form-control" placeholder="Server Name..."></input> - <br> - <br> - <button type="submit" name"ccreateapp" class="btn btn-primary" style="color:white;">Submit</button> - </form> - </div> - - - <div class="main-panel" id="changeapp" style="padding-left:30px;display:none;"> - <!-- Page Heading --> - <br> - <h1 class="h3 mb-2 text-gray-800">Choose A Server</h1> + + <div class="main-panel" id="createapp" style="padding-left:30px;display:none;"> + <!-- Page Heading --> + <br> + <h1 class="h3 mb-2 text-gray-800">Create A Server</h1> + <br> + <br> + <form method="POST" action=""> + <input type="text" id="appname" name="appname" class="form-control" placeholder="Server Name..."></input> <br> <br> - <form class="text-left" method="POST" action=""> -<select class="form-control" name="taskOption"> - <?php -$result = mysqli_query($link, "SELECT * FROM `servers` WHERE `owner` = '$username'"); + <button type="submit" name="ccreateapp" class="btn btn-primary" style="color:white;">Submit</button> + </form> + </div> -$rows = array(); -while ($r = mysqli_fetch_assoc($result)) -{ - $rows[] = $r; -} -foreach ($rows as $row) -{ + <div class="main-panel" id="changeapp" style="padding-left:30px;display:none;"> + <!-- Page Heading --> + <br> + <h1 class="h3 mb-2 text-gray-800">Choose A Server</h1> + <br> + <br> + <form class="text-left" method="POST" action=""> + <select class="form-control" name="taskOption"> + <?php + $result = mysqli_query($link, "SELECT * FROM `servers` WHERE `owner` = '$username'"); - $appname = $row['name']; -?> - <option><?php echo $appname; ?></option> - <?php -} -?> -</select> - <br> - <br> - <button type="submit" name="change" class="btn btn-primary" style="color:white;">Submit</button><a style="padding-left:5px;color:#4e73df;" id="createe">Create Server</a> - </form> - <script type="text/javascript"> + $rows = array(); + while ($r = mysqli_fetch_assoc($result)) { + $rows[] = $r; + } -var myLink = document.getElementById('createe'); + foreach ($rows as $row) { -myLink.onclick = function(){ + $appname = $row['name']; + ?> + <option><?php echo $appname; ?></option> + <?php + } + ?> + </select> + <br> + <br> + <button type="submit" name="change" class="btn btn-primary" style="color:white;">Submit</button><a style="padding-left:5px;color:#4e73df;" id="createe">Create Server</a> + </form> + <script type="text/javascript"> + var myLink = document.getElementById('createe'); + myLink.onclick = function() { -$(document).ready(function(){ - $("#changeapp").fadeOut(100); - $("#createapp").fadeIn(1900); - }); -} + $(document).ready(function() { + $("#changeapp").fadeOut(100); + $("#createapp").fadeIn(1900); + }); + } + </script> + <?php + if (isset($_POST['change'])) { + $selectOption = sanitize($_POST['taskOption']); + ($result = mysqli_query($link, "SELECT * FROM `servers` WHERE `name` = '$selectOption' AND `owner` = '$username'")) or die(mysqli_error($link)); + if (mysqli_num_rows($result) === 0) { + mysqli_close($link); + error("You don\'t own server!"); + echo "<meta http-equiv='Refresh' Content='2'>"; + return; + } + $row = mysqli_fetch_array($result); + $banned = $row["banned"]; + if (!is_null($banned)) { + error("This server has been banned for: " . sanitize($banned)); + echo "<meta http-equiv='Refresh' Content='2;'>"; + return; + } + + $_SESSION['server_to_manage'] = $selectOption; + $_SESSION['serverid'] = $row["guildid"]; + + success("You have changed Server!"); + echo "<meta http-equiv='Refresh' Content='2;'>"; + } + ?> + </div> -</script> - <?php -if (isset($_POST['change'])) -{ - $selectOption = sanitize($_POST['taskOption']); - ($result = mysqli_query($link, "SELECT * FROM `servers` WHERE `name` = '$selectOption' AND `owner` = '$username'")) or die(mysqli_error($link)); - if (mysqli_num_rows($result) === 0) - { - mysqli_close($link); - error("You don\'t own server!"); - echo "<meta http-equiv='Refresh' Content='2'>"; - return; - } - $row = mysqli_fetch_array($result); - $banned = $row["banned"]; - if(!is_null($banned)) - { - error("This server has been banned for: " . sanitize($banned)); - echo "<meta http-equiv='Refresh' Content='2;'>"; - return; - } - - $_SESSION['server_to_manage'] = $selectOption; - $_SESSION['serverid'] = $row["guildid"]; - - success("You have changed Server!"); - echo "<meta http-equiv='Refresh' Content='2;'>"; -} -?> - </div> - <!-- ============================================================== --> <div class="container-fluid" id="content" style="display:none;"> <!-- ============================================================== --> @@ -382,116 +363,104 @@ <!-- File export --> <div class="row"> <div class="col-12"> - <?php heador($role, $link); ?> - <br> - <a href="JavaScript:newPopup('https://discord.com/oauth2/authorize?client_id=791106018175614988&permissions=268435457&scope=applications.commands%20bot');" class="btn btn-info"> <i class="fab fa-discord"></i> Add Bot</a> - <br><br> - -<script type="text/javascript"> - -var myLink = document.getElementById('mylink'); + <?php heador($role, $link); ?> + <br> + <a href="JavaScript:newPopup('https://discord.com/oauth2/authorize?client_id=791106018175614988&permissions=268435457&scope=applications.commands%20bot');" class="btn btn-info"> <i class="fab fa-discord"></i> Add Bot</a> + <br><br> -myLink.onclick = function(){ + <script type="text/javascript"> + var myLink = document.getElementById('mylink'); + myLink.onclick = function() { -$(document).ready(function(){ - $("#content").fadeOut(100); - $("#changeapp").fadeIn(1900); - }); - -} + $(document).ready(function() { + $("#content").fadeOut(100); + $("#changeapp").fadeIn(1900); + }); -</script> + } + </script> <?php - if($_SESSION['server_to_manage']) - { - $servname = sanitize($_SESSION['server_to_manage']); - ($result = mysqli_query($link, "SELECT * FROM `servers` WHERE `name` = '$servname' AND `owner` = '$username'")) or die(mysqli_error($link)); - if (mysqli_num_rows($result) > 0) - { - while ($row = mysqli_fetch_array($result)) - { - $serv = $row['guildid']; - $rol = $row['roleid']; - $ico = $row['pic']; - $redirect = $row['redirecturl']; - $vpncheck = $row['vpncheck']; - $wh = $row['webhook']; - } - } - } - -?> + if ($_SESSION['server_to_manage']) { + $servname = sanitize($_SESSION['server_to_manage']); + ($result = mysqli_query($link, "SELECT * FROM `servers` WHERE `name` = '$servname' AND `owner` = '$username'")) or die(mysqli_error($link)); + if (mysqli_num_rows($result) > 0) { + while ($row = mysqli_fetch_array($result)) { + $serv = $row['guildid']; + $rol = $row['roleid']; + $ico = $row['pic']; + $redirect = $row['redirecturl']; + $vpncheck = $row['vpncheck']; + $wh = $row['webhook']; + } + } + } + + ?> <div class="card"> <div class="card-body"> <form class="form" method="post"> - <div class="form-group row"> + <div class="form-group row"> <label for="example-tel-input" class="col-2 col-form-label">Server ID</label> <div class="col-10"> <input class="form-control" maxlength="18" name="serv" type="number" value="<?php echo $serv; ?>" placeholder="Guild/Server ID" required> </div> </div> - <div class="form-group row"> + <div class="form-group row"> <label for="example-tel-input" class="col-2 col-form-label">Role ID</label> <div class="col-10"> <input class="form-control" maxlength="18" name="rol" value="<?php echo $rol; ?>" type="number" placeholder="Role of verified role" required> </div> </div> - <div class="form-group row"> + <div class="form-group row"> <label for="example-tel-input" class="col-2 col-form-label">Icon</label> <div class="col-10"> <input class="form-control" name="ico" value="<?php echo $ico; ?>" type="text" placeholder="URL to image for icon"> </div> </div> - <div class="form-group row"> + <div class="form-group row"> <label for="example-tel-input" class="col-2 col-form-label">Redirect Link</label> <div class="col-10"> <input class="form-control" name="redirect" value="<?php echo $redirect; ?>" type="url" placeholder="Link to redirect to after your members verify"> </div> </div> - <div class="form-group row"> + <div class="form-group row"> <label for="example-tel-input" class="col-2 col-form-label">Webhook Link</label> <div class="col-10"> - <?php - if($role != "premium") - { - ?> - <input class="form-control" placeholder="Premium only feature" disabled> - <input type="hidden" name="wh"> - <?php - } - else - { - ?> - <input class="form-control" name="wh" value="<?php echo $wh; ?>" type="url" placeholder="Discord webhook link for verification logs"> - <?php - } - ?> + <?php + if ($role != "premium") { + ?> + <input class="form-control" placeholder="Premium only feature" disabled> + <input type="hidden" name="wh"> + <?php + } else { + ?> + <input class="form-control" name="wh" value="<?php echo $wh; ?>" type="url" placeholder="Discord webhook link for verification logs"> + <?php + } + ?> </div> </div> - <div class="form-group row"> + <div class="form-group row"> <label for="example-tel-input" class="col-2 col-form-label">VPN Check</label> <div class="col-10"> - <?php - if($role != "premium") - { - ?> - <input class="form-control" placeholder="Premium only feature" disabled> - <input type="hidden" value="0" name="vpncheck"> - <?php - } - else - { - ?> - <select name="vpncheck" class="form-control"> - <option value="1" <?=$vpncheck == 1 ? ' selected="selected"' : '';?>>true</option> - <option value="0" <?=$vpncheck == 0 ? ' selected="selected"' : '';?>>false</option> - </select> - <?php - } - ?> + <?php + if ($role != "premium") { + ?> + <input class="form-control" placeholder="Premium only feature" disabled> + <input type="hidden" value="0" name="vpncheck"> + <?php + } else { + ?> + <select name="vpncheck" class="form-control"> + <option value="1" <?= $vpncheck == 1 ? ' selected="selected"' : ''; ?>>true</option> + <option value="0" <?= $vpncheck == 0 ? ' selected="selected"' : ''; ?>>false</option> + </select> + <?php + } + ?> </div> </div> <button name="updatesettings" class="btn btn-success"> <i class="fa fa-check"></i> Save</button> @@ -501,23 +470,23 @@ </div> </div> <!-- Show / hide columns dynamically --> - + <!-- Column rendering --> - + <!-- Row grouping --> - + <!-- Multiple table control element --> - + <!-- DOM / jQuery events --> - + <!-- Complex headers with column visibility --> - + <!-- language file --> - + <!-- Setting defaults --> - + <!-- Footer callback --> - + <!-- ============================================================== --> <!-- End PAge Content --> <!-- ============================================================== --> @@ -536,8 +505,10 @@ <!-- footer --> <!-- ============================================================== --> <footer class="footer text-center"> - Copyright © <script>document.write(new Date().getFullYear())</script> RestoreCord -</footer> + Copyright © <script> + document.write(new Date().getFullYear()) + </script> RestoreCord + </footer> <!-- ============================================================== --> <!-- End footer --> <!-- ============================================================== --> @@ -551,78 +522,77 @@ <!-- ============================================================== --> <!-- ============================================================== --> <?php - - if(isset($_POST['updatesettings'])) - { - - $guildid = sanitize($_POST['serv']); - $servname = sanitize($_SESSION['server_to_manage']); - - // this is for checking if server banned for fake nitro scams/selling members/etc. No reason you would need it, so I commented it out. - // $result = mysqli_query($link, "SELECT * FROM `banned` WHERE `server` = '$guildid'"); - // if(mysqli_num_rows($result) > 0) - // { - // error("That Server ID is banned!"); - // echo "<meta http-equiv='Refresh' Content='2;'>"; - // return; - // } - - $roleid = sanitize($_POST['rol']); - $serverico = sanitize($_POST['ico']); - - $redirect = sanitize($_POST['redirect']); - $wh = sanitize($_POST['wh']); - $vpncheck = sanitize($_POST['vpncheck']); - - $result = mysqli_query($link, "SELECT * FROM `servers` WHERE `guildid` = '$guildid' AND `name` != '$servname'"); // select all apps where owner is current user - if (mysqli_num_rows($result) > 0) // if the user already owns an app, proceed to change app or load only app - { - error("Another Server Already Has This Server ID!"); - echo "<meta http-equiv='Refresh' Content='2;'>"; - return; - } - - mysqli_query($link, "UPDATE `servers` SET `guildid` = '$guildid', `roleid` = '$roleid',`pic` = '$serverico',`redirecturl` = NULLIF('$redirect', ''),`webhook` = NULLIF('$wh', ''),`vpncheck` = NULLIF('$vpncheck', '0') WHERE `name` = '$servname' AND `owner` = '".$_SESSION['username']."'"); - mysqli_query($link, "UPDATE `members` SET `server` = '$guildid' WHERE `server` = '".$_SESSION['serverid']."'"); - mysqli_query($link, "UPDATE `blacklist` SET `server` = '$guildid' WHERE `server` = '".$_SESSION['serverid']."'"); - - $_SESSION['serverid'] = $guildid; - - // webhook start - $timestamp = date("c", strtotime("now")); - - $json_data = json_encode([ - // Message - "content" => "" . $_SESSION['username'] . " has changed Server ID to `{$guildid}`", - - // Username - "username" => "RestoreCord Logs", - - ], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); - - $ch = curl_init("discordWebhookHere"); - curl_setopt($ch, CURLOPT_HTTPHEADER, array( - 'Content-type: application/json' - )); - curl_setopt($ch, CURLOPT_POST, 1); - curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data); - curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); - curl_setopt($ch, CURLOPT_HEADER, 0); - - curl_exec($ch); - curl_close($ch); - // webhook end - - success("Updated Settings!"); - - echo "<meta http-equiv='Refresh' Content='2;'>"; - } - ?> - + + if (isset($_POST['updatesettings'])) { + + $guildid = sanitize($_POST['serv']); + $servname = sanitize($_SESSION['server_to_manage']); + + // this is for checking if server banned for fake nitro scams/selling members/etc. No reason you would need it, so I commented it out. + // $result = mysqli_query($link, "SELECT * FROM `banned` WHERE `server` = '$guildid'"); + // if(mysqli_num_rows($result) > 0) + // { + // error("That Server ID is banned!"); + // echo "<meta http-equiv='Refresh' Content='2;'>"; + // return; + // } + + $roleid = sanitize($_POST['rol']); + $serverico = sanitize($_POST['ico']); + + $redirect = sanitize($_POST['redirect']); + $wh = sanitize($_POST['wh']); + $vpncheck = sanitize($_POST['vpncheck']); + + $result = mysqli_query($link, "SELECT * FROM `servers` WHERE `guildid` = '$guildid' AND `name` != '$servname'"); // select all apps where owner is current user + if (mysqli_num_rows($result) > 0) // if the user already owns an app, proceed to change app or load only app + { + error("Another Server Already Has This Server ID!"); + echo "<meta http-equiv='Refresh' Content='2;'>"; + return; + } + + mysqli_query($link, "UPDATE `servers` SET `guildid` = '$guildid', `roleid` = '$roleid',`pic` = '$serverico',`redirecturl` = NULLIF('$redirect', ''),`webhook` = NULLIF('$wh', ''),`vpncheck` = NULLIF('$vpncheck', '0') WHERE `name` = '$servname' AND `owner` = '" . $_SESSION['username'] . "'"); + mysqli_query($link, "UPDATE `members` SET `server` = '$guildid' WHERE `server` = '" . $_SESSION['serverid'] . "'"); + mysqli_query($link, "UPDATE `blacklist` SET `server` = '$guildid' WHERE `server` = '" . $_SESSION['serverid'] . "'"); + + $_SESSION['serverid'] = $guildid; + + // webhook start + $timestamp = date("c", strtotime("now")); + + $json_data = json_encode([ + // Message + "content" => "" . $_SESSION['username'] . " has changed Server ID to `{$guildid}`", + + // Username + "username" => "RestoreCord Logs", + + ], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); + + $ch = curl_init("discordWebhookHere"); + curl_setopt($ch, CURLOPT_HTTPHEADER, array( + 'Content-type: application/json' + )); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); + curl_setopt($ch, CURLOPT_HEADER, 0); + + curl_exec($ch); + curl_close($ch); + // webhook end + + success("Updated Settings!"); + + echo "<meta http-equiv='Refresh' Content='2;'>"; + } + ?> + <!-- ============================================================== --> <!-- All Jquery --> <!-- ============================================================== --> - + <!-- Bootstrap tether Core JavaScript --> <script src="https://cdn.keyauth.uk/dashboard/assets/libs/popper-js/dist/umd/popper.min.js"></script> <script src="https://cdn.keyauth.uk/dashboard/assets/libs/bootstrap/dist/js/bootstrap.min.js"></script> @@ -638,7 +608,7 @@ <!--Menu sidebar --> <script src="https://cdn.keyauth.uk/dashboard/dist/js/sidebarmenu.js"></script> <!--Custom JavaScript --> - <script src="https://cdn.keyauth.uk/dashboard/dist/js/feather.min.js"></script> + <script src="https://cdn.keyauth.uk/dashboard/dist/js/feather.min.js"></script> <script src="https://cdn.keyauth.uk/dashboard/dist/js/custom.min.js"></script> <!--This page JavaScript --> <!--chartis chart--> @@ -650,24 +620,25 @@ <!--chartjs --> <script src="https://cdn.keyauth.uk/dashboard/assets/libs/chart-js/dist/chart.min.js"></script> <script src="https://cdn.keyauth.uk/dashboard/dist/js/pages/dashboards/dashboard1.js"></script> - <script src="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net/js/jquery.dataTables.min.js"></script> - <!-- start - This is for export functionality only --> + <script src="https://cdn.keyauth.uk/dashboard/assets/extra-libs/datatables.net/js/jquery.dataTables.min.js"></script> + <!-- start - This is for export functionality only --> <script src="https://cdn.datatables.net/buttons/1.5.1/js/dataTables.buttons.min.js"></script> <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.flash.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"></script> <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.html5.min.js"></script> - <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.print.min.js"></script> - - <script src="https://cdn.keyauth.uk/dashboard/dist/js/pages/datatable/datatable-advanced.init.js"></script> - - <script type="text/javascript"> -// Popup window code -function newPopup(url) { - popupWindow = window.open( - url,'popUpWindow','menubar=no,width=500,height=777,location=no,resizable=no,scrollbars=yes,status=no') -} -</script> + <script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.print.min.js"></script> + + <script src="https://cdn.keyauth.uk/dashboard/dist/js/pages/datatable/datatable-advanced.init.js"></script> + + <script type="text/javascript"> + // Popup window code + function newPopup(url) { + popupWindow = window.open( + url, 'popUpWindow', 'menubar=no,width=500,height=777,location=no,resizable=no,scrollbars=yes,status=no') + } + </script> </body> + </html> \ No newline at end of file diff --git a/website source/includes/connection.php b/website source/includes/connection.php index 1e14127..ec3c7fa 100644 --- a/website source/includes/connection.php +++ b/website source/includes/connection.php @@ -1,3 +1,25 @@ <?php -$link = mysqli_connect("localhost", "databaseUsernameHere", "databasePasswordHere", "databaseNameHere"); \ No newline at end of file +error_reporting(0); + +$link = mysqli_connect("localhost", "databaseUsernameHere", "databasePasswordHere", "databaseNameHere"); + +if ($link === false) { + die("Error with db..."); +} + +// Discord Bot +$client_id = "DiscordBotClientID"; +$client_secret = "DiscordBotClientSecret"; +$BotToken = "DiscordBotToken"; + +$redirect_uri = "https://restorecord.com/auth/"; // AUTH +$verify_uri = "https://restorecord.com/verify/"; +$ShoppySecret = ""; // replace with your webhook secret +$shoppyApiKey = ""; + +// Webhooks +$AdminLogs = ""; +$Logs = ""; + +?> \ No newline at end of file diff --git a/website source/includes/functions.php b/website source/includes/functions.php index 4aa5f66..ab01ce1 100644 --- a/website source/includes/functions.php +++ b/website source/includes/functions.php @@ -24,7 +24,7 @@ function heador() <p class="mb-4">Name: <br><?php echo $_SESSION['server_to_manage']; ?><br /> <div class="mb-4">Verify Link: - <br><a href="<?php echo "https://restorecord.com/verify/" . $_SESSION['username'] . "/" . $_SESSION['server_to_manage']; ?>" style="color:#00FFFF;" target="verifylink"><?php echo "https://restorecord.com/verify/" . $_SESSION['username'] . "/" . $_SESSION['server_to_manage']; ?></a><br /> + <br><a href="<?php echo "https://". ($_SERVER['HTTP_HOST'] ?? $_SERVER['SERVER_NAME']) . "/verify/" . $_SESSION['username'] . "/" . $_SESSION['server_to_manage']; ?>" style="color:#00FFFF;" target="verifylink"><?php echo "https://". ($_SERVER['HTTP_HOST'] ?? $_SERVER['SERVER_NAME']) . "/verify/" . $_SESSION['username'] . "/" . $_SESSION['server_to_manage']; ?></a><br /> </div><a style="color:#4e73df;cursor: pointer;" id="mylink">Change</a> <button style="border: none;padding:0;background:0;color:#FF0000;padding-left:5px;" name="deleteserver" onclick="return confirm('Are you sure you want to delete server and all associated members?')">Delete</button> </p> @@ -141,18 +141,18 @@ function sidebar($admin) { ?> <li class="nav-small-cap"><i class="mdi mdi-dots-horizontal"></i> <span class="hide-menu">Server</span></li> - <li class="sidebar-item"> <a class="sidebar-link waves-effect waves-dark sidebar-link" href="https://restorecord.com/dashboard/server/settings/" aria-expanded="false"><i data-feather="settings"></i><span class="hide-menu">Settings</span></a></li> - <li class="sidebar-item"> <a class="sidebar-link waves-effect waves-dark sidebar-link" href="https://restorecord.com/dashboard/server/members/" aria-expanded="false"><i data-feather="users"></i><span class="hide-menu">Members</span></a></li> - <li class="sidebar-item"> <a class="sidebar-link waves-effect waves-dark sidebar-link" href="https://restorecord.com/dashboard/server/blacklist/" aria-expanded="false"><i data-feather="user-x"></i><span class="hide-menu">Blacklist</span></a></li> + <li class="sidebar-item"> <a class="sidebar-link waves-effect waves-dark sidebar-link" href="../../server/settings/" aria-expanded="false"><i data-feather="settings"></i><span class="hide-menu">Settings</span></a></li> + <li class="sidebar-item"> <a class="sidebar-link waves-effect waves-dark sidebar-link" href="../../server/members/" aria-expanded="false"><i data-feather="users"></i><span class="hide-menu">Members</span></a></li> + <li class="sidebar-item"> <a class="sidebar-link waves-effect waves-dark sidebar-link" href="../../server/blacklist/" aria-expanded="false"><i data-feather="user-x"></i><span class="hide-menu">Blacklist</span></a></li> <li class="nav-small-cap"><i class="mdi mdi-dots-horizontal"></i> <span class="hide-menu">Account</span></li> - <li class="sidebar-item"> <a class="sidebar-link waves-effect waves-dark sidebar-link" href="https://restorecord.com/dashboard/account/settings/" aria-expanded="false"><i data-feather="settings"></i><span class="hide-menu">Settings</span></a></li> - <li class="sidebar-item"> <a class="sidebar-link waves-effect waves-dark sidebar-link" href="https://restorecord.com/dashboard/account/upgrade/" aria-expanded="false"><i data-feather="activity"></i><span class="hide-menu">Upgrade</span></a></li> + <li class="sidebar-item"> <a class="sidebar-link waves-effect waves-dark sidebar-link" href="../../account/settings/" aria-expanded="false"><i data-feather="settings"></i><span class="hide-menu">Settings</span></a></li> + <li class="sidebar-item"> <a class="sidebar-link waves-effect waves-dark sidebar-link" href="../../account/upgrade/" aria-expanded="false"><i data-feather="activity"></i><span class="hide-menu">Upgrade</span></a></li> <?php if($admin) { ?> <li class="nav-small-cap"><i class="mdi mdi-dots-horizontal"></i> <span class="hide-menu">Admin</span></li> - <li class="sidebar-item"> <a class="sidebar-link waves-effect waves-dark sidebar-link" href="https://restorecord.com/admin/" aria-expanded="false"><i data-feather="move"></i><span class="hide-menu">Panel</span></a></li> + <li class="sidebar-item"> <a class="sidebar-link waves-effect waves-dark sidebar-link" href="../admin/" aria-expanded="false"><i data-feather="move"></i><span class="hide-menu">Panel</span></a></li> <?php } } @@ -164,7 +164,7 @@ function error($msg) const notyf = new Notyf(); notyf .error({ - message: \'' . $msg . '\', + message: \'' . addslashes($msg) . '\', duration: 3500, dismissible: true }); @@ -179,7 +179,7 @@ function success($msg) const notyf = new Notyf(); notyf .success({ - message: \'' . $msg . '\', + message: \'' . addslashes($msg) . '\', duration: 3500, dismissible: true }); @@ -201,7 +201,7 @@ function premium_check($username) } } -function apiRequest($url, $post=FALSE, $headers=array()) { +function apiRequest($url, $post = FALSE, $headers=array()) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); diff --git a/website source/index.php b/website source/index.php index 6c3051b..1e2baae 100644 --- a/website source/index.php +++ b/website source/index.php @@ -1,17 +1,18 @@ <?php include 'includes/connection.php'; -$result = mysqli_query($link,"SELECT max(id) FROM servers"); +$result = mysqli_query($link, "SELECT max(id) FROM servers"); $row = mysqli_fetch_array($result); + $servers = number_format($row[0]); -$result = mysqli_query($link,"SELECT max(id) FROM users"); +$result = mysqli_query($link, "SELECT max(id) FROM users"); $row = mysqli_fetch_array($result); $users = number_format($row[0]); -$result = mysqli_query($link,"SELECT max(id) FROM members"); +$result = mysqli_query($link, "SELECT max(id) FROM members"); $row = mysqli_fetch_array($result); $members = number_format($row[0]); @@ -20,31 +21,33 @@ ?> <!doctype html> <html lang="en"> + <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="icon" type="image/png" sizes="300x250" href="https://i.imgur.com/Nfy4OoG.png"> <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@900&display=swap" rel="stylesheet"> <title>RestoreCord</title> - <meta name="theme-color" content="#52ef52"/> - <meta name="description" content="Backup Discord members and add them to new server in the event of a server raid or deletion."/> - <meta name="og:image" content="https://i.imgur.com/zhLwuR4.png"/> - + <meta name="theme-color" content="#52ef52" /> + <meta name="description" content="Backup Discord members and add them to new server in the event of a server raid or deletion." /> + <meta name="og:image" content="https://i.imgur.com/zhLwuR4.png" /> + <link rel="stylesheet" href="styles/theTrendingStyle.css"> <link rel="stylesheet" href="styles/index.css"> <link rel="stylesheet" href="styles/css/all.css" /> </head> + <body class="bg-shinyGray overflow-x-hidden"> <nav id="navigationBar" class="flex flex-row items-center justify-between p-6 bg-sweetBlack"> <div class="left flex flex-row items-center ml-10 md:ml-20 text-white"> <img src="https://i.imgur.com/Nfy4OoG.png" width="48px" height="48px" class="mr-2 hidden md:inline pointer-events-none noselect" /> <a href="https://www.youtube.com/watch?v=tCCP2oUxxEY" target="_blank" class="mx-4 text-xl hover:text-blurple hidden md:inline">Tutorial</a> <a href="https://docs.restorecord.com" target="_blank" class="mx-4 text-xl hover:text-blurple hidden md:inline">Documentation</a> - <a href="https://discord.com/invite/s6gk5Y5fTC" target="_blank" class="mx-4 text-xl hover:text-blurple hidden md:inline">Support Server</a> - <a href="https://restorecord.com/terms" target="_blank" class="mx-4 text-xl hover:text-blurple hidden md:inline">Terms of Service & Privacy</a> + <a href="https://discord.com/invite/s6gk5Y5fTC" target="_blank" class="mx-4 text-xl hover:text-blurple hidden md:inline">Support Server</a> + <a href="./terms" target="_blank" class="mx-4 text-xl hover:text-blurple hidden md:inline">Terms of Service & Privacy</a> </div> <div class="right mr-10 md:mr-20"> - <a href="https://restorecord.com/login/" class="px-8 py-3 whitespace-no-wrap bg-blurple text-white rounded-lg text-xl font-semibold hover:bg-beautyPurple">Login</a> + <a href="./login/" class="px-8 py-3 whitespace-no-wrap bg-blurple text-white rounded-lg text-xl font-semibold hover:bg-beautyPurple">Login</a> </div> </nav> @@ -55,14 +58,15 @@ <span class="text-gray-400 text-lg md:text-xl max-w-xl font-light">Add your server members to new server or back to the existing one in the event of a server raid or deletion.</span> <div class="flex flex-col md:flex-row mt-8"> <a href="https://discord.com/api/oauth2/authorize?client_id=791106018175614988&permissions=268435457&scope=applications.commands%20bot" target="_blank" class="text-2xl hvr-grow bg-blurple p-4 md:px-8 mx-4 my-4 rounded-lg">Add to Discord</e> - <a href="https://discord.com/invite/s6gk5Y5fTC" target="_blank" class="text-2xl hvr-grow text-white bg-sweetBlack p-4 md:px-8 mx-4 my-4 rounded-lg border-blurple border-2">Join the Support Server</a> + <a href="https://discord.com/invite/s6gk5Y5fTC" target="_blank" class="text-2xl hvr-grow text-white bg-sweetBlack p-4 md:px-8 mx-4 my-4 rounded-lg border-blurple border-2">Join the Support Server</a> </div> </div> - </head> - <body> - <pre> + </head> + + <body> + <pre> + - diff --git a/website source/login/index.php b/website source/login/index.php index 475f3a7..d25d23d 100644 --- a/website source/login/index.php +++ b/website source/login/index.php @@ -152,7 +152,7 @@ ], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); - $ch = curl_init("discordWebhookHere"); + $ch = curl_init($Logs); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-type: application/json' )); diff --git a/website source/terms/index.php b/website source/terms/index.php index 4a1a47c..a4d04ff 100644 --- a/website source/terms/index.php +++ b/website source/terms/index.php @@ -19,10 +19,10 @@ <a href="https://www.youtube.com/watch?v=tCCP2oUxxEY" target="_blank" class="mx-4 text-xl hover:text-blurple hidden md:inline">Tutorial</a> <a href="https://docs.restorecord.com" target="_blank" class="mx-4 text-xl hover:text-blurple hidden md:inline">Documentation</a> <a href="https://discord.com/invite/s6gk5Y5fTC" target="_blank" class="mx-4 text-xl hover:text-blurple hidden md:inline">Support Server</a> -<a href="https://restorecord.com/terms" target="_blank" class="mx-4 text-xl hover:text-blurple hidden md:inline">Terms of Service & Privacy</a> +<a href="../terms/" target="_blank" class="mx-4 text-xl hover:text-blurple hidden md:inline">Terms of Service & Privacy</a> </div> <div class="right mr-10 md:mr-20"> -<a href="https://restorecord.com/login/" class="px-8 py-3 whitespace-no-wrap bg-blurple text-white rounded-lg text-xl font-semibold hover:bg-beautyPurple">Login</a> +<a href="../login/" class="px-8 py-3 whitespace-no-wrap bg-blurple text-white rounded-lg text-xl font-semibold hover:bg-beautyPurple">Login</a> </div> </nav> <div id="container" class="flex flex-col items-center justify-center"> diff --git a/website source/verify/index.php b/website source/verify/index.php index 418836f..f7d12a9 100644 --- a/website source/verify/index.php +++ b/website source/verify/index.php @@ -1,8 +1,7 @@ <?php -if (session_status() === PHP_SESSION_NONE) -{ - session_start(); +if (session_status() === PHP_SESSION_NONE) { + session_start(); } include '../includes/connection.php'; @@ -17,8 +16,7 @@ $owner = urldecode(sanitize($pieces[1])); $server = urldecode(sanitize($pieces[2])); -if(is_null($owner) || is_null($server)) -{ +if (is_null($owner) || is_null($server)) { die("Invalid link. Link should look like https://restorecord.com/verify/{owner}/{server}"); } @@ -26,131 +24,113 @@ $result = mysqli_query($link, "SELECT * FROM `servers` WHERE `owner` = '$owner' AND `name` = '$server'"); -if (mysqli_num_rows($result) === 0) -{ - $server = "Not Available"; - $serverpic = "https://i.imgur.com/7kiO9No.png"; +if (mysqli_num_rows($result) === 0) { + $server = "Not Available"; + $serverpic = "https://i.imgur.com/7kiO9No.png"; $status = "noserver"; // server not found -} -else -{ +} else { $status = NULL; - while ($row = mysqli_fetch_array($result)) - { - $guildid = $row['guildid']; - $roleid = $row['roleid']; + while ($row = mysqli_fetch_array($result)) { + $guildid = $row['guildid']; + $roleid = $row['roleid']; $serverpic = $row['pic']; - + $redirecturl = $row['redirecturl']; $webhook = $row['webhook']; $vpncheck = $row['vpncheck']; $banned = $row['banned']; - } + } - if(!is_null($banned)) - { + if (!is_null($banned)) { $_SESSION['access_token'] = NULL; $status = "banned"; - } - else - { + } else { $_SESSION['server'] = $guildid; $_SESSION['owner'] = $owner; $_SESSION['name'] = $server; } - } -if (session('access_token')) -{ - +if (session('access_token')) { + $user_check = mysqli_query($link, "SELECT * FROM `users` WHERE `username` = '$owner'"); $role = mysqli_fetch_array($user_check)["role"]; - + $result = mysqli_query($link, "SELECT * FROM `members` WHERE `server` = '$guildid'"); - if (mysqli_num_rows($result) > 25 && $role == "free") - { + if (mysqli_num_rows($result) > 25 && $role == "free") { $status = "needpremium"; - } - else - { - + } else { + $user = apiRequest("https://discord.com/api/users/@me"); - + // echo var_dump($user); - + $headers = array( 'Content-Type: application/json', - 'Authorization: Bot botTokenHere' + 'Authorization: Bot ' . $BotToken ); $data = array( "access_token" => session('access_token') ); $data_string = json_encode($data); - - $result = mysqli_query($link, "SELECT * FROM `blacklist` WHERE (`user` = '".$user->id."' OR `ip` = '".$_SERVER['HTTP_CF_CONNECTING_IP']."') AND `server` = '$guildid'"); - if (mysqli_num_rows($result) > 0) - { + + $result = mysqli_query($link, "SELECT * FROM `blacklist` WHERE (`user` = '" . $user->id . "' OR `ip` = '" . $_SERVER['HTTP_CF_CONNECTING_IP'] . "') AND `server` = '$guildid'"); + if (mysqli_num_rows($result) > 0) { $status = "blacklisted"; - } - else - { - + } else { + $ip = $_SERVER['HTTP_CF_CONNECTING_IP']; - if($vpncheck) - { + if ($vpncheck) { $url = "https://proxycheck.io/v2/{$ip}?key=proxyCheckKeyHere?vpn=1"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch); $json = json_decode($result); - if($json->$ip->proxy == "yes") - { + if ($json->$ip->proxy == "yes") { $status = "vpndetect"; - if(!is_null($webhook)) - { + if (!is_null($webhook)) { /* WEBHOOK START */ - + $timestamp = date("c", strtotime("now")); - + $json_data = json_encode([ - - // Embeds Array - "embeds" => [ - [ - // Embed Title - "title" => "Failed VPN Check", - // Embed Type - "type" => "rich", - // Timestamp of embed must be formatted as ISO8601 - "timestamp" => $timestamp, - // Embed left border color in HEX - "color" => hexdec("ff0000") , - // Footer - // "footer" => [ - // - // "text" => $name - // - // ], - - // Additional Fields array - "fields" => [["name" => ":bust_in_silhouette: User:", "value" => "```" . $user->id . "```", "inline" => true], ["name" => ":earth_americas: Client IP:", "value" => "```" . $_SERVER["HTTP_CF_CONNECTING_IP"] . "```", "inline" => true]] - - ] - - ] - + + // Embeds Array + "embeds" => [ + [ + // Embed Title + "title" => "Failed VPN Check", + // Embed Type + "type" => "rich", + // Timestamp of embed must be formatted as ISO8601 + "timestamp" => $timestamp, + // Embed left border color in HEX + "color" => hexdec("ff0000"), + // Footer + // "footer" => [ + // + // "text" => $name + // + // ], + + // Additional Fields array + "fields" => [["name" => ":bust_in_silhouette: User:", "value" => "```" . $user->id . "```", "inline" => true], ["name" => ":earth_americas: Client IP:", "value" => "```" . $_SERVER["HTTP_CF_CONNECTING_IP"] . "```", "inline" => true]] + + ] + + ] + ], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); - + $ch = curl_init($webhook); - + curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-type: application/json' )); - + curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); @@ -164,11 +144,10 @@ } } } - - if($status !== "vpndetect") - { + + if ($status !== "vpndetect") { $_SESSION['userid'] = $user->id; - + $url = "https://discord.com/api/guilds/{$guildid}/members/" . $user->id; $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); @@ -178,10 +157,10 @@ $result = curl_exec($ch); // $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); - + // echo var_dump($result); // echo 'HTTP code: ' . $httpcode; - + $url = "https://discord.com/api/guilds/{$guildid}/members/" . $user->id . "/roles/{$roleid}"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); @@ -190,60 +169,59 @@ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); // $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); - + curl_close($ch); - + // echo var_dump($result); // echo 'HTTP code: ' . $httpcode; - + // mysqli_query($link, "INSERT INTO `members` (`userid`, `access_token`, `refresh_token`, `server`) VALUES ('" . $user->id . "', '" . $_SESSION['access_token'] . "', '" . $_SESSION['refresh_token'] . "', '$guildid') ON DUPLICATE KEY UPDATE `access_token` = '" . $_SESSION['access_token'] . "', `refresh_token` = '" . $_SESSION['refresh_token'] . "'"); mysqli_query($link, "REPLACE INTO `members` (`userid`, `access_token`, `refresh_token`, `server`,`ip`) VALUES ('" . $user->id . "', '" . $_SESSION['access_token'] . "', '" . $_SESSION['refresh_token'] . "', '$guildid', '$ip')"); $_SESSION['access_token'] = NULL; $_SESSION['refresh_token'] = NULL; - - if(!is_null($webhook)) - { + + if (!is_null($webhook)) { /* WEBHOOK START */ - + $timestamp = date("c", strtotime("now")); - + $json_data = json_encode([ - - // Embeds Array - "embeds" => [ - [ - // Embed Title - "title" => "Successfully Verified", - // Embed Type - "type" => "rich", - // Timestamp of embed must be formatted as ISO8601 - "timestamp" => $timestamp, - // Embed left border color in HEX - "color" => hexdec("52ef52") , - // Footer - // "footer" => [ - // - // "text" => $name - // - // ], - - // Additional Fields array - "fields" => [["name" => ":bust_in_silhouette: User:", "value" => "```" . $user->id . "```", "inline" => true], ["name" => ":earth_americas: Client IP:", "value" => "```" . $_SERVER["HTTP_CF_CONNECTING_IP"] . "```", "inline" => true]] - - ] - - ] - + + // Embeds Array + "embeds" => [ + [ + // Embed Title + "title" => "Successfully Verified", + // Embed Type + "type" => "rich", + // Timestamp of embed must be formatted as ISO8601 + "timestamp" => $timestamp, + // Embed left border color in HEX + "color" => hexdec("52ef52"), + // Footer + // "footer" => [ + // + // "text" => $name + // + // ], + + // Additional Fields array + "fields" => [["name" => ":bust_in_silhouette: User:", "value" => "```" . $user->id . "```", "inline" => true], ["name" => ":earth_americas: Client IP:", "value" => "```" . $_SERVER["HTTP_CF_CONNECTING_IP"] . "```", "inline" => true]] + + ] + + ] + ], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); - + $ch = curl_init($webhook); - + curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-type: application/json' )); - + curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); @@ -255,25 +233,22 @@ WEBHOOK END */ } - + $status = "added"; // successfully verified user } } } } -if (isset($_POST['optout'])) -{ - if(session('userid')) - { +if (isset($_POST['optout'])) { + if (session('userid')) { mysqli_query($link, "DELETE FROM `members` WHERE `userid` = '" . session('userid') . "' AND `server` = '$guildid'"); - if (mysqli_affected_rows($link) != 0) - { + if (mysqli_affected_rows($link) != 0) { $headers = array( - 'Content-Type: application/json', - 'Authorization: Bot botTokenHere' + 'Content-Type: application/json', + 'Authorization: Bot ' . $BotToken ); - + $url = "https://discord.com/api/guilds/{$guildid}/members/" . session('userid') . "/roles/{$roleid}"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE"); @@ -282,51 +257,50 @@ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); echo $result; - + $status = "optedout"; - if(!is_null($webhook)) - { + if (!is_null($webhook)) { /* WEBHOOK START */ - + $timestamp = date("c", strtotime("now")); - + $json_data = json_encode([ - - // Embeds Array - "embeds" => [ - [ - // Embed Title - "title" => "User Opted Out", - // Embed Type - "type" => "rich", - // Timestamp of embed must be formatted as ISO8601 - "timestamp" => $timestamp, - // Embed left border color in HEX - "color" => hexdec("ff0000") , - // Footer - // "footer" => [ - // - // "text" => $name - // - // ], - - // Additional Fields array - "fields" => [["name" => ":bust_in_silhouette: User:", "value" => "```" . session('userid') . "```", "inline" => true], ["name" => ":earth_americas: Client IP:", "value" => "```" . $_SERVER["HTTP_CF_CONNECTING_IP"] . "```", "inline" => true]] - - ] - - ] - + + // Embeds Array + "embeds" => [ + [ + // Embed Title + "title" => "User Opted Out", + // Embed Type + "type" => "rich", + // Timestamp of embed must be formatted as ISO8601 + "timestamp" => $timestamp, + // Embed left border color in HEX + "color" => hexdec("ff0000"), + // Footer + // "footer" => [ + // + // "text" => $name + // + // ], + + // Additional Fields array + "fields" => [["name" => ":bust_in_silhouette: User:", "value" => "```" . session('userid') . "```", "inline" => true], ["name" => ":earth_americas: Client IP:", "value" => "```" . $_SERVER["HTTP_CF_CONNECTING_IP"] . "```", "inline" => true]] + + ] + + ] + ], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); - + $ch = curl_init($webhook); - + curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-type: application/json' )); - + curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); @@ -338,14 +312,10 @@ WEBHOOK END */ } - } - else - { + } else { $status = "neveroptedin"; } - } - else - { + } else { $status = "notauthed"; } } @@ -353,91 +323,92 @@ ?> <!DOCTYPE html> <html> + <head> - <title>Verify in <?php echo $server;?></title> + <title>Verify in <?php echo $server; ?></title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous"> <link rel="icon" type="image/png" sizes="16x16" href="https://i.imgur.com/w65Dpnw.png"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> <link id="mystylesheet" rel="stylesheet" type="text/css" href="../style.css"> - + <meta name="og:image" content="<?php echo $serverpic; ?>"> <meta name="description" content="Verify in <?php echo $server; ?> so you're added back to server if it gets raided or deleted."> </head> + <body> <div id="box"> - <?php switch($status) { - case 'added': - ?> - <div class="alert alert-success"> - <strong>Success!</strong> Successfully verified. - </div> - <?php - if(!is_null($redirecturl)) - { - echo "<meta http-equiv='Refresh' Content='3;url={$redirecturl}'>"; - } - break; - case 'optedout': - ?> - <div class="alert alert-success"> - <strong>Success!</strong> Successfully opted out from this server. - </div> - <?php - break; - case 'noserver': - ?> - <div class="alert alert-danger"> - <strong>Oh snap!</strong> No server found. - </div> - <?php - break; - case 'blacklisted': + <?php switch ($status) { + case 'added': ?> - <div class="alert alert-danger"> - <strong>Oh snap!</strong> This user is blacklisted. - </div> - <?php - break; - case 'banned': - ?> - <div class="alert alert-danger"> - <strong>Oh snap!</strong> This server has been banned for: <?php echo sanitize($banned); ?> - </div> - <?php - break; - case 'vpndetect': - ?> - <div class="alert alert-danger"> - <strong>Oh snap!</strong> Server owner has disabled VPN access, try again without VPN. - </div> - <?php - break; - case 'needpremium': - ?> - <div class="alert alert-danger"> - <strong>Oh snap!</strong> Server owner needs to purchase premium, he has reached 25 member limit for free users. Please tell him, thank you. - </div> - <?php - break; - case 'notauthed': - ?> - <div class="alert alert-danger"> - <strong>Oh snap!</strong> You need to login with discord first. - </div> - <?php - break; - case 'neveroptedin': - ?> - <div class="alert alert-danger"> - <strong>Oh snap!</strong> You were never opted-in. - </div> + <div class="alert alert-success"> + <strong>Success!</strong> Successfully verified. + </div> + <?php + if (!is_null($redirecturl)) { + echo "<meta http-equiv='Refresh' Content='3;url={$redirecturl}'>"; + } + break; + case 'optedout': + ?> + <div class="alert alert-success"> + <strong>Success!</strong> Successfully opted out from this server. + </div> + <?php + break; + case 'noserver': + ?> + <div class="alert alert-danger"> + <strong>Oh snap!</strong> No server found. + </div> + <?php + break; + case 'blacklisted': + ?> + <div class="alert alert-danger"> + <strong>Oh snap!</strong> This user is blacklisted. + </div> + <?php + break; + case 'banned': + ?> + <div class="alert alert-danger"> + <strong>Oh snap!</strong> This server has been banned for: <?php echo sanitize($banned); ?> + </div> + <?php + break; + case 'vpndetect': + ?> + <div class="alert alert-danger"> + <strong>Oh snap!</strong> Server owner has disabled VPN access, try again without VPN. + </div> + <?php + break; + case 'needpremium': + ?> + <div class="alert alert-danger"> + <strong>Oh snap!</strong> Server owner needs to purchase premium, he has reached 25 member limit for free users. Please tell him, thank you. + </div> + <?php + break; + case 'notauthed': + ?> + <div class="alert alert-danger"> + <strong>Oh snap!</strong> You need to login with discord first. + </div> + <?php + break; + case 'neveroptedin': + ?> + <div class="alert alert-danger"> + <strong>Oh snap!</strong> You were never opted-in. + </div> <?php - break; - default: - break; + break; + default: + break; } ?> <img id="server_pic" src="<?php echo $serverpic; ?>"> @@ -445,8 +416,10 @@ <p>Click login with Discord to be joined to server if it is ever raided or deleted. Click opt out to stop getting joined to server.</p> <hr> <form method="post"> - <a class="btn btn-light" href="https://discord.com/api/oauth2/authorize?client_id=791106018175614988&redirect_uri=https%3A%2F%2Frestorecord.com%2Fauth%2F&response_type=code&scope=identify+guilds.join">Login With Discord</a> - <button name="optout" class="btn btn-danger">Opt Out</button></form> + <a class="btn btn-light" href="https://discord.com/api/oauth2/authorize?client_id=791106018175614988&redirect_uri=https%3A%2F%2Frestorecord.com%2Fauth%2F&response_type=code&scope=identify+guilds.join">Login With Discord</a> + <button name="optout" class="btn btn-danger">Opt Out</button> + </form> </div> </body> + </html> \ No newline at end of file