Compare commits

..

8 Commits

Author SHA1 Message Date
jona345e 23a98a23cf Merge remote-tracking branch 'origin/main' into main 2021-04-21 10:27:06 +02:00
jona345e 48b9f532a4 registration controllers update 2021-04-21 10:26:04 +02:00
Jacob Søfeldt ebeb93e5fa Backdrop and logind fix 2021-04-21 09:03:40 +02:00
Jacob Søfeldt 995cec56b1 Update 2021-04-20 14:48:16 +02:00
Ida Tiegel 9dda1a4336 Update 2021-04-20 14:01:33 +02:00
jona345e 15262c9cc6 test 2021-04-20 08:54:31 +02:00
jona345e 47094283cb test 2021-04-20 08:51:48 +02:00
RundelhausCode ae719b9d68 Merge pull request #1 from RundelhausCode/new_database
new database
2021-04-19 12:28:17 +02:00
16 changed files with 2142 additions and 1600 deletions
+1
View File
@@ -116,3 +116,4 @@ composer.phar
*.sqlite
Backend/test.php
config/database.json
+1
View File
@@ -19,4 +19,5 @@ function makeAdminLogin(string $userName)
'path' => '/'
]);
}
//test
+17 -1
View File
@@ -1,13 +1,29 @@
<?php
use Backend\Models\GameData;
use Backend\Models\Vote;
use \Backend\Models\Registration;
require_once "../../../bootstrap.php";
require_once "../Group/Group.php";
if (isLogin()) {
$gameDate = GameData::find($_GET[]);
if(!$gameDate){
http_response_code(400);
echo json_encode(["message" => "game data not found"]);
exit();
}
$reg = Registration::where("game_data_id", $gameDate->id)->first();
$group = groupViaToken($_SESSION['token']);
if($reg->group_id !== $group->id){
http_response_code(401);
echo json_encode(["message" => "group not own game data"]);
}
header('Content-Type: application/json;charset=UTF-8');
echo json_encode(array('data' => Vote::where('group_id', groupViaToken($_SESSION['token'])->id)->get()->jsonSerialize()));
echo json_encode(array('data' => Vote::where('game_data_id',$gameDate->id)->get()->jsonSerialize()));
} else {
http_response_code(401);
@@ -1 +1,32 @@
<?php
require_once "../../../bootstrap.php";
require_once "../Group/Group.php";
use Backend\Models\Registration;
if(isLogin()){
if(isset($_POST['newReg'])){
$group = groupViaToken($_SESSION['token']);
$gameJam = \Backend\Models\GameJam::find($_POST["gameJamId"]);
if(Registration::where("group_id", $group->id)->where("game_jam_id", $gameJam->id)->count() === 0){
$reg = new Registration();
$reg->group_amount = $_POST["groupAmount"];
$reg->group()->associate($group);
$reg->gameJam()->associate($gameJam);
if($reg->save()){
http_response_code(201);
}else{
http_response_code(500);
}
}else {
http_response_code(400);
echo json_encode(["message" => "already registered"]);
}
}else {
http_response_code(400);
}
}else{
http_response_code(401);
echo json_encode(["message" => "is not login"]);
}
@@ -1 +1,27 @@
<?php
require_once "../../../bootstrap.php";
require_once "../Group/Group.php";
use Backend\Models\Registration;
if(isLogin()){
if(isset($_POST['updateReg'])){
if($reg = Registration::where("group_id", $_POST["groupId"])->where("game_jam_id", $_POST["gameJamId"])->first()){
$reg->group_amount = $_POST["groupAmount"];
if($reg->save()){
http_response_code(200);
}else{
http_response_code(500);
}
}else{
http_response_code(400);
echo json_encode(["message" => "registration does not exits"]);
}
}else{
http_response_code(400);
}
}else{
http_response_code(401);
echo json_encode(["message" => "is not login"]);
}
+11 -10
View File
@@ -28,7 +28,9 @@
<div>
<div class="row">
<div class="col-sm" id="description">
Beskrivelse
<b>Beskrivelse</b><br />
Yoooooooo my name is gert,
I love flowers.... HA what?
<br />
<button id="isWebBased">Play game online</button>
<button id="gameFil">Download game</button>
@@ -38,19 +40,18 @@
</div>
</div>
</div>
<div id="suggestions">
<p>Hej dkjhhnsd hid hgndnf ghnd df</p>
</div>
<hr class="GradientDivider" />
<p>Måske vil du prøve...</p>
<div class="jcarousel-wrapper">
<div class="jcarousel" data-jcarousel="true">
<ul style="left: 0px; top: 0px;">
<li style="width: 200px;"><img src="../Images/spil.jpg" alt="Image 1"></li>
<li style="width: 200px;"><img src="../Images/spil.jpg" alt="Image 2"></li>
<li style="width: 200px;"><img src="../Images/spil.jpg" alt="Image 3"></li>
<li style="width: 200px;"><img src="../Images/spil.jpg" alt="Image 4"></li>
<li style="width: 200px;"><img src="../Images/spil.jpg" alt="Image 5"></li>
<li style="width: 200px;"><img src="../Images/spil.jpg" alt="Image 6"></li>
<li style="width: 200px;"><a href="#link"><img src="../Images/spil.jpg" alt="Image 1"></a></li>
<li style="width: 200px;"><a href="#link"><img src="../Images/spil.jpg" alt="Image 2"></a></li>
<li style="width: 200px;"><a href="#link"><img src="../Images/spil.jpg" alt="Image 3"></a></li>
<li style="width: 200px;"><a href="#link"><img src="../Images/spil.jpg" alt="Image 4"></a></li>
<li style="width: 200px;"><a href="#link"><img src="../Images/spil.jpg" alt="Image 5"></a></li>
<li style="width: 200px;"><a href="#link"><img src="../Images/spil.jpg" alt="Image 6"></a></li>
</ul>
</div>
+85
View File
@@ -0,0 +1,85 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" href="../Images/UFO.png" />
<title>GameJam</title>
<link
rel="stylesheet"
href="../../vendor/twbs/bootstrap/dist/css/bootstrap.min.css"
/>
<script src="../../vendor/twbs/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script
src="https://code.jquery.com/jquery-3.6.0.min.js"
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
crossorigin="anonymous"
></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="#"
><img src="../Images/UFO.png" alt="" width="32" height="32" />
</a>
<button
class="navbar-toggler"
type="button"
data-bs-toggle="collapse"
data-bs-target="#navbarNav"
aria-controls="navbarNav"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Hjem</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Information</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Events</a>
</li>
<li class="nav-item dropdown">
<a
class="nav-link dropdown-toggle"
href="#"
id="navbarDropdownMenuLink"
role="button"
data-bs-toggle="dropdown"
aria-expanded="false"
>
Toggle Dropdown
</a>
<ul
class="dropdown-menu-dark"
aria-labelledby="navbarDropdownMenuLink"
>
<li>
<a class="dropdown-item" href="#">Spil</a>
</li>
<li>
<a class="dropdown-item" href="#">Upload fil</a>
</li>
<li>
<a class="dropdown-item" href="#">Stem</a>
</li>
<li>
<a class="dropdown-item" href="#">Lodtrækning</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
</body>
</html>
+1065 -631
View File
File diff suppressed because it is too large Load Diff
+2 -5
View File
@@ -42,7 +42,7 @@ const renderCalendar = () => {
"December",
];
document.querySelector(".date h1").innerHTML = months[date.getMonth()];
document.querySelector(".date h1").innerHTML = months[date.getMonth()] + " " + date.getFullYear();
document.querySelector(".date p").innerHTML = new Date().toLocaleDateString('da-DK', {
weekday: 'long',
@@ -58,10 +58,7 @@ const renderCalendar = () => {
}
for (let i = 1; i <= lastDay; i++) {
if (
i === new Date().getDate() &&
date.getMonth() === new Date().getMonth()
) {
if (i === new Date().getDate() && date.getMonth() === new Date().getMonth() && date.getFullYear() === new Date().getFullYear()) {
days += `<div class="today" onClick="clickdate()">${i}</div>`;
+319 -349
View File
@@ -1,363 +1,333 @@
$(document).ready(function () {
// Register Start
let selectedGameJam;
let isAdminLoggedIn = false;
let displayValue = 0;
let arr = [
{"id": "-1", "Gamejam": "Vælg aktivt GameJam"}
];
// Register Start
axios.defaults.baseURL = "http://localhost/Game-Jaming";
if (getCookie('userName') != null)
{
isAdminLoggedIn = true;
SwitchNavInfo(true, true);
}
else if (getCookie('groupName') != null)
{
isAdminLoggedIn = false;
SwitchNavInfo(true);
}
let selectedGameJam;
let isAdminLoggedIn = false;
let displayValue = 0;
let arr = [{ id: "-1", Gamejam: "Vælg aktivt GameJam" }];
// Populate select with options from the database
axios.get('/Backend/Controllers/GameJam/GetGameJam.php')
.then(function(res) {
let resArr = res.data.data;
if (getCookie("userName") != null) {
isAdminLoggedIn = true;
SwitchNavInfo(true, true);
} else if (getCookie("groupName") != null) {
isAdminLoggedIn = false;
SwitchNavInfo(true);
}
for(let i = 0; i < res.data.data.length; i++)
{
arr.push({
id: resArr[i].id,
Gamejam: resArr[i].name
});
}
// Populate select with options from the database
axios
.get("/Backend/Controllers/GameJam/GetGameJam.php")
.then(function (res) {
let resArr = res.data.data;
$.each(arr, function(i, data) {
if (i === 0)
{
$('#GameJamSelect').append('<option disabled selected value="' + data.id + '">' + data.Gamejam + '</option>');
}
else
{
$('#GameJamSelect').append('<option value="' + data.id + '">' + data.Gamejam + '</option>');
}
for (let i = 0; i < res.data.data.length; i++) {
arr.push({
id: resArr[i].id,
Gamejam: resArr[i].name,
});
}
$.each(arr, function (i, data) {
if (i === 0) {
$("#GameJamSelect").append(
'<option disabled selected value="' +
data.id +
'">' +
data.Gamejam +
"</option>"
);
} else {
$("#GameJamSelect").append(
'<option value="' + data.id + '">' + data.Gamejam + "</option>"
);
}
});
})
.catch(function(error) {
.catch(function (error) {
console.log(error.response);
});
// Remove invalidInput if selected option has been changed
$("#GameJamSelect").change(function () {
selectedGameJam = $("#GameJamSelect").children("option:selected").val();
if (selectedGameJam >= 1) {
$("#GameJamSelect").removeClass("invalidInput");
}
});
// Remove invalidInput if change in group name has been detected
$("#username").on("input", function () {
if ($(this).hasClass("invalidInput")) {
$(this).removeClass("invalidInput");
}
});
GetGroupNames().then(function (res) {
let resArr = res.data;
let groupNameTaken = false;
$("#RegisterBtn").click(function () {
let groupName = $("#username").val();
for (let i = 0; i < resArr.length; i++) {
if (resArr[i].group_name.toUpperCase() === groupName.toUpperCase()) {
groupNameTaken = true;
break;
} else {
groupNameTaken = false;
}
}
});
// Check data before submitting
$("#RegisterForm").submit(function (e) {
if (!selectedGameJam >= 1) {
$("#GameJamSelect").addClass("invalidInput");
e.preventDefault();
return false;
} else {
$("#gameJamId").val($("#GameJamSelect option:selected").val());
}
if ($("#pass1").val().length === 0) {
$("#pass1").addClass("invalidInput");
e.preventDefault();
return;
}
if ($("#pass2").val().length === 0) {
$("#pass2").addClass("invalidInput");
e.preventDefault();
return;
}
if ($("#username").val().length === 0) {
$("#username").addClass("invalidInput");
e.preventDefault();
return;
}
if ($("#pass1").hasClass("invalidInput")) {
e.preventDefault();
return;
}
if ($("#pass2").hasClass("invalidInput")) {
e.preventDefault();
return;
}
if (!$.isNumeric($("#NUDDisplay").text())) {
$("#NUDDisplay").text("Ugyldigt antal!");
$("#NUDDisplay").css({ color: "red" });
e.preventDefault();
} else {
$("#groupAmount").val($("#NUDDisplay").text());
}
if (groupNameTaken) {
$("#username").addClass("invalidInput");
e.preventDefault();
return;
}
let URL = "/Backend/Controllers/Group/SigningUp.php";
let form = $("#RegisterForm")[0];
let formData = new FormData(form);
let id = $("#RegisterBtn").attr("name");
let value = $("#RegisterBtn").val();
formData.append(id, value);
axios
.post(URL, formData, {
header: "multipart/form-data",
})
.then((res) => {
if (res.status === 201) {
SwitchNavInfo(true);
}
})
.catch((error) => {
console.log(error.response);
});
e.preventDefault();
});
});
$("#NUDPlus").click(function () {
if ($("#NUDDisplay").css("color") === "rgb(255, 0, 0)") {
$("#NUDDisplay").css({ color: "rgba(255, 255, 255, .55)" });
}
displayValue++;
$("#NUDDisplay").text(displayValue);
});
$("#NUDMinus").click(function () {
if (displayValue <= 0) {
return;
} else if (displayValue <= 1) {
$("#NUDDisplay").text(1);
} else {
displayValue--;
$("#NUDDisplay").text(displayValue);
}
});
async function GetGroupNames() {
const res = await axios.get("/Backend/Controllers/Group/GetGroup.php");
return res.data;
}
// Register end
// Login start
$("#LoginForm").submit(function (e) {
let URL = "/Backend/Controllers/Group/Login.php";
let form = $("#LoginForm")[0];
let formData = new FormData(form);
let id = $("#LoginBtn").attr("name");
let value = $("#LoginBtn").val();
formData.append(id, value);
axios
.post(URL, formData, {
header: "multipart/form-data",
})
.then((res) => {
if (res.status === 200) {
isAdminLoggedIn = false;
SwitchNavInfo(true);
}
})
.catch((error) => {
if (error.response.status === 401) {
$("#loginUsername").css({ "border-color": "red" });
$("#loginPassword").css({ "border-color": "red" });
$("#ErrorText").css({ display: "block" });
} else {
console.log(error.response);
}
});
e.preventDefault();
});
$("#AdminLoginForm").submit(function (e) {
let URL = "/Backend/Controllers/Admin/AdminLogin.php";
let form = $("#AdminLoginForm")[0];
let formData = new FormData(form);
let id = $("#AdminLoginBtn").attr("name");
let value = $("#AdminLoginBtn").val();
formData.append(id, value);
axios
.post(URL, formData, {
header: "multipart/form-data",
})
.then((res) => {
if (res.status === 200) {
isAdminLoggedIn = true;
SwitchNavInfo(true, true);
}
})
.catch((error) => {
if (error.response.status === 401) {
$("#adminUsername").css({ "border-color": "red" });
$("#adminPassword").css({ "border-color": "red" });
$("#AdminErrorText").css({ display: "block" });
} else {
console.log(error.response);
}
});
e.preventDefault();
});
function SwitchNavInfo(isLoggedIn, isAdmin) {
if (isLoggedIn) {
$("#NavUser").css({ display: "block" });
$("#NavUser").text(
`Welcome, ${isAdmin ? getCookie("userName") : getCookie("groupName")}!`
);
$("#NavLogin").css({ display: "none" });
$("#NavLogout").css({ display: "block" });
$("#LoginModal").modal("hide");
} else {
$("#NavUser").css({ display: "none" });
$("#NavUser").text(``);
$("#NavLogin").css({ display: "block" });
$("#NavLogout").css({ display: "none" });
}
if (isAdmin === undefined) {
return;
} else {
if (isAdmin) {
if (isLoggedIn) {
$("#AdminPanel").css({ display: "block" });
console.log("Logged In As Admin!");
} else {
$("#AdminPanel").css({ display: "none" });
console.log("Logged Out As Admin!");
}
}
}
}
// Login end
// Logout start
$("#NavLogout").click(function () {
axios
.get("/Backend/Controllers/Group/Logout.php")
.then((res) => {
if (res.status == 200) {
SwitchNavInfo(false, isAdminLoggedIn);
isAdminLoggedIn = false;
}
})
.catch((error) => {
console.log(error.response);
});
});
});
// Logout end
// Remove invalidInput if selected option has been changed
$('#GameJamSelect').change(function() {
selectedGameJam = $('#GameJamSelect').children("option:selected").val();
function getCookie(name) {
// Split cookie string and get all individual name=value pairs in an array
var cookieArr = document.cookie.split(";");
if (selectedGameJam >= 1)
{
$('#GameJamSelect').removeClass('invalidInput');
}
});
// Loop through the array elements
for (var i = 0; i < cookieArr.length; i++) {
var cookiePair = cookieArr[i].split("=");
// Remove invalidInput if change in group name has been detected
$('#username').on('input', function() {
if ($(this).hasClass('invalidInput'))
{
$(this).removeClass('invalidInput');
}
})
GetGroupNames().then(function(res) {
let resArr = res.data;
let groupNameTaken = false;
$('#RegisterBtn').click(function() {
let groupName = $('#username').val();
for(let i = 0; i < resArr.length; i++)
{
if (resArr[i].group_name.toUpperCase() === groupName.toUpperCase())
{
groupNameTaken = true;
break;
}
else
{
groupNameTaken = false;
}
}
});
// Check data before submitting
$('#RegisterForm').submit(function(e) {
if(!selectedGameJam >= 1)
{
$('#GameJamSelect').addClass('invalidInput');
e.preventDefault();
return false;
}
else
{
$('#gameJamId').val($('#GameJamSelect option:selected').val());
}
if($('#pass1').val().length === 0)
{
$('#pass1').addClass('invalidInput');
e.preventDefault();
return;
}
if($('#pass2').val().length === 0)
{
$('#pass2').addClass('invalidInput');
e.preventDefault();
return;
}
if($('#username').val().length === 0)
{
$('#username').addClass('invalidInput');
e.preventDefault();
return;
}
if($('#pass1').hasClass('invalidInput'))
{
e.preventDefault();
return;
}
if($('#pass2').hasClass('invalidInput'))
{
e.preventDefault();
return;
}
if(!$.isNumeric($('#NUDDisplay').text()))
{
$('#NUDDisplay').text('Ugyldigt antal!');
$('#NUDDisplay').css({"color": "red"});
e.preventDefault();
}
else
{
$('#groupAmount').val($('#NUDDisplay').text());
}
if (groupNameTaken)
{
$('#username').addClass('invalidInput');
e.preventDefault();
return;
}
let URL = "/Backend/Controllers/Group/SigningUp.php";
let form = $('#RegisterForm')[0];
let formData = new FormData(form);
let id = $('#RegisterBtn').attr('name');
let value = $('#RegisterBtn').val();
formData.append(id, value);
axios.post(URL, formData, {
header: 'multipart/form-data'
}).then(res => {
if (res.status === 201)
{
SwitchNavInfo(true);
}
}).catch(error => {
console.log(error.response);
});
e.preventDefault();
});
});
$('#NUDPlus').click(function() {
if($('#NUDDisplay').css('color') === 'rgb(255, 0, 0)')
{
$('#NUDDisplay').css({'color': 'rgba(255, 255, 255, .55)'});
}
displayValue++;
$('#NUDDisplay').text(displayValue);
});
$('#NUDMinus').click(function() {
if (displayValue <= 0)
{
return;
}
else if(displayValue <= 1)
{
$('#NUDDisplay').text(1);
}
else
{
displayValue--;
$('#NUDDisplay').text(displayValue);
}
});
async function GetGroupNames() {
const res = await axios.get('/Backend/Controllers/Group/GetGroup.php');
return res.data;
}
// Register end
// Login start
$('#LoginForm').submit(function(e) {
let URL = "/Backend/Controllers/Group/Login.php";
let form = $('#LoginForm')[0];
let formData = new FormData(form);
let id = $('#LoginBtn').attr('name');
let value = $('#LoginBtn').val();
formData.append(id, value);
axios.post(URL, formData, {
header: 'multipart/form-data'
}).then(res => {
if (res.status === 200)
{
isAdminLoggedIn = false;
SwitchNavInfo(true);
}
}).catch(error => {
if (error.response.status === 401)
{
$('#loginUsername').css({'border-color':'red'});
$('#loginPassword').css({'border-color':'red'});
$('#ErrorText').css({'display':'block'});
}
else
{
console.log(error.response);
}
});
e.preventDefault();
});
$('#AdminLoginForm').submit(function(e) {
let URL = "/Backend/Controllers/Admin/AdminLogin.php";
let form = $('#AdminLoginForm')[0];
let formData = new FormData(form);
let id = $('#AdminLoginBtn').attr('name');
let value = $('#AdminLoginBtn').val();
formData.append(id, value);
axios.post(URL, formData, {
header: 'multipart/form-data'
}).then(res => {
if (res.status === 200)
{
isAdminLoggedIn = true;
SwitchNavInfo(true, true);
}
}).catch(error => {
if (error.response.status === 401)
{
$('#adminUsername').css({'border-color':'red'});
$('#adminPassword').css({'border-color':'red'});
$('#AdminErrorText').css({'display':'block'});
}
else
{
console.log(error.response);
}
});
e.preventDefault();
});
function SwitchNavInfo(isLoggedIn, isAdmin) {
if (isLoggedIn)
{
$('#NavUser').css({'display':'block'});
$('#NavUser').text(`Welcome, ${isAdmin ? getCookie('userName') : getCookie('groupName')}!`);
$('#NavLogin').css({'display':'none'});
$('#NavLogout').css({'display':'block'});
$('#LoginModal').modal('hide');
}
else
{
$('#NavUser').css({'display':'none'});
$('#NavUser').text(``);
$('#NavLogin').css({'display':'block'});
$('#NavLogout').css({'display':'none'});
}
if (isAdmin === undefined)
{
return
}
else
{
if (isAdmin)
{
if (isLoggedIn)
{
$('#AdminPanel').css({'display':'block'});
console.log('Logged In As Admin!');
}
else
{
$('#AdminPanel').css({'display':'none'});
console.log('Logged Out As Admin!');
}
}
}
}
// Login end
// Logout start
$('#NavLogout').click(function() {
axios.get('/Backend/Controllers/Group/Logout.php').then(res => {
if (res.status == 200)
{
SwitchNavInfo(false, isAdminLoggedIn);
isAdminLoggedIn = false;
}
}).catch(error => {
console.log(error.response);
});
});
// Logout end
function getCookie(name) {
// Split cookie string and get all individual name=value pairs in an array
var cookieArr = document.cookie.split(";");
// Loop through the array elements
for(var i = 0; i < cookieArr.length; i++) {
var cookiePair = cookieArr[i].split("=");
/* Removing whitespace at the beginning of the cookie name
/* Removing whitespace at the beginning of the cookie name
and compare it with the given string */
if(name == cookiePair[0].trim()) {
// Decode the cookie value and return
return decodeURIComponent(cookiePair[1]);
}
}
// Return null if not found
return null;
if (name == cookiePair[0].trim()) {
// Decode the cookie value and return
return decodeURIComponent(cookiePair[1]);
}
}
// Return null if not found
return null;
}
});
+426 -421
View File
File diff suppressed because it is too large Load Diff
+41 -127
View File
@@ -16,35 +16,51 @@ html {
margin-bottom: 10px;
}
#suggestions {
justify-content: center;
background-color: blue;
margin-top: 20px;
}
#isWebBased {
border-radius: 15px;
border: 0;
background: none;
display: block;
margin: 20px auto;
text-align: center;
border: 2px solid rgb(52, 152, 219);
padding: 10px 10px;
outline: none;
color: rgba(255, 255, 255, .55);
background-color: rgb(18, 18, 18);
border: double;
height: 30px;
font-weight: bold;
margin: 8px;
border-radius: 24px;
transition: 0.25s;
position: static;
bottom: 45vh;
display: inline;
left: 27vw;
}
#gameFil {
border-radius: 15px;
border: 0;
background: none;
display: block;
margin: 20px auto;
text-align: center;
border: 2px solid rgb(52, 152, 219);
padding: 10px 10px;
outline: none;
color: rgba(255, 255, 255, .55);
background-color: rgb(18, 18, 18);
border: double;
height: 30px;
font-weight: bold;
margin: 8px;
border-radius: 24px;
transition: 0.25s;
position: static;
bottom: 45vh;
display: inline;
}
#thumbnailFile {
max-width: 100%;
max-height: 100%;
max-width: 100%;
max-height: 100%;
}
#thumbnailFile img{
width: 100%;
height:100%;
}
#description {
@@ -60,114 +76,12 @@ html {
margin: 20px !important;
}
.jcarousel-wrapper {
margin: 20px auto;
position: relative;
/*border: 10px solid #fff;*/
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0 0 2px #999;
-moz-box-shadow: 0 0 2px #999;
box-shadow: 0 0 2px #999;
}
/** Carousel **/
.jcarousel {
position: relative;
overflow: hidden;
width: 100%;
}
.jcarousel ul {
width: 10000em;
position: relative;
list-style: none;
margin: 0;
padding: 0;
}
.jcarousel li {
width: 100%;
float: left;
border: 1px solid #fff;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.jcarousel img {
.GradientDivider {
margin: 16px 0 16px 0;
display: block;
max-width: 100%;
height: auto !important;
}
/** Carousel Controls **/
.jcarousel-control-prev,
.jcarousel-control-next {
position: absolute;
top: 50%;
margin-top: -15px;
width: 30px;
height: 30px;
text-align: center;
background: #4E443C;
color: #fff;
text-decoration: none;
text-shadow: 0 0 1px #000;
font: 24px/27px Arial, sans-serif;
-webkit-border-radius: 30px;
-moz-border-radius: 30px;
border-radius: 30px;
-webkit-box-shadow: 0 0 4px #F0EFE7;
-moz-box-shadow: 0 0 4px #F0EFE7;
box-shadow: 0 0 4px #F0EFE7;
}
.jcarousel-control-prev {
left: 15px;
}
.jcarousel-control-next {
right: 15px;
}
/** Carousel Pagination **/
.jcarousel-pagination {
position: absolute;
bottom: -40px;
left: 50%;
-webkit-transform: translate(-50%, 0);
-ms-transform: translate(-50%, 0);
transform: translate(-50%, 0);
margin: 0;
}
.jcarousel-pagination a {
text-decoration: none;
display: inline-block;
font-size: 11px;
height: 10px;
width: 10px;
line-height: 10px;
background: #fff;
color: #4E443C;
border-radius: 10px;
text-indent: -9999px;
margin-right: 7px;
-webkit-box-shadow: 0 0 2px #4E443C;
-moz-box-shadow: 0 0 2px #4E443C;
box-shadow: 0 0 2px #4E443C;
}
.jcarousel-pagination a.active {
background: #4E443C;
color: #fff;
border: none;
height: 3px !important;
background: rgb(0, 113, 185) !important;
background: linear-gradient(to right, rgb(18, 18, 18), rgb(0, 113, 185), rgb(38, 171, 255), rgb(0, 113, 185), rgb(18, 18, 18)) !important;
opacity: 1;
-webkit-box-shadow: 0 0 2px #F0EFE7;
-moz-box-shadow: 0 0 2px #F0EFE7;
box-shadow: 0 0 2px #F0EFE7;
}
+2 -2
View File
@@ -7,7 +7,7 @@
border-radius: 5px;
-webkit-box-shadow: 0 0 2px #999;
-moz-box-shadow: 0 0 2px #999;
box-shadow: 0 0 2px #999;
box-shadow: none !important;
}
/** Carousel **/
@@ -29,7 +29,7 @@
.jcarousel li {
width: 200px;
float: left;
border: 1px solid #fff;
/* border: 1px solid #fff;*/
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
+3 -1
View File
@@ -3,7 +3,9 @@
"illuminate/database": "^8.30",
"ext-mysqli": "*",
"ext-sqlite3": "*",
"ext-fileinfo": "*"
"ext-fileinfo": "*",
"ext-json": "*",
"twbs/bootstrap": "5.0.0-beta3"
},
"autoload": {
"classmap": [
Generated
+95 -36
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "f7278c3dc731961ed65f3f31bf2b49f0",
"content-hash": "e0289598393b91834d5fbd72b92a029a",
"packages": [
{
"name": "doctrine/inflector",
@@ -103,16 +103,16 @@
},
{
"name": "illuminate/collections",
"version": "v8.36.0",
"version": "v8.38.0",
"source": {
"type": "git",
"url": "https://github.com/illuminate/collections.git",
"reference": "591e31015a8b0731708c54411cb52d50a00b2bc3"
"reference": "21690cd5591f2d42d792e5e4a687f9beba829f1d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/illuminate/collections/zipball/591e31015a8b0731708c54411cb52d50a00b2bc3",
"reference": "591e31015a8b0731708c54411cb52d50a00b2bc3",
"url": "https://api.github.com/repos/illuminate/collections/zipball/21690cd5591f2d42d792e5e4a687f9beba829f1d",
"reference": "21690cd5591f2d42d792e5e4a687f9beba829f1d",
"shasum": ""
},
"require": {
@@ -153,11 +153,11 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2021-04-01T13:26:52+00:00"
"time": "2021-04-14T11:48:08+00:00"
},
{
"name": "illuminate/container",
"version": "v8.36.0",
"version": "v8.38.0",
"source": {
"type": "git",
"url": "https://github.com/illuminate/container.git",
@@ -208,7 +208,7 @@
},
{
"name": "illuminate/contracts",
"version": "v8.36.0",
"version": "v8.38.0",
"source": {
"type": "git",
"url": "https://github.com/illuminate/contracts.git",
@@ -256,16 +256,16 @@
},
{
"name": "illuminate/database",
"version": "v8.36.0",
"version": "v8.38.0",
"source": {
"type": "git",
"url": "https://github.com/illuminate/database.git",
"reference": "09a2d38e27f930a5d9b7ef3514b650a3dc4cdd55"
"reference": "03c0525b693587f877f4d80dcc55597528c98fc0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/illuminate/database/zipball/09a2d38e27f930a5d9b7ef3514b650a3dc4cdd55",
"reference": "09a2d38e27f930a5d9b7ef3514b650a3dc4cdd55",
"url": "https://api.github.com/repos/illuminate/database/zipball/03c0525b693587f877f4d80dcc55597528c98fc0",
"reference": "03c0525b693587f877f4d80dcc55597528c98fc0",
"shasum": ""
},
"require": {
@@ -320,11 +320,11 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2021-04-06T13:40:22+00:00"
"time": "2021-04-17T17:53:05+00:00"
},
{
"name": "illuminate/macroable",
"version": "v8.36.0",
"version": "v8.38.0",
"source": {
"type": "git",
"url": "https://github.com/illuminate/macroable.git",
@@ -370,16 +370,16 @@
},
{
"name": "illuminate/support",
"version": "v8.36.0",
"version": "v8.38.0",
"source": {
"type": "git",
"url": "https://github.com/illuminate/support.git",
"reference": "26aa01648f348df7b7988ee911cdf98bcaae8ea1"
"reference": "735391f31e145aad4f7aff3d9736ef70452dd1fe"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/illuminate/support/zipball/26aa01648f348df7b7988ee911cdf98bcaae8ea1",
"reference": "26aa01648f348df7b7988ee911cdf98bcaae8ea1",
"url": "https://api.github.com/repos/illuminate/support/zipball/735391f31e145aad4f7aff3d9736ef70452dd1fe",
"reference": "735391f31e145aad4f7aff3d9736ef70452dd1fe",
"shasum": ""
},
"require": {
@@ -434,7 +434,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2021-04-06T13:05:53+00:00"
"time": "2021-04-15T11:51:39+00:00"
},
{
"name": "nesbot/carbon",
@@ -1213,21 +1213,21 @@
},
{
"name": "symfony/service-contracts",
"version": "v2.2.0",
"version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1"
"reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1",
"reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
"reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"psr/container": "^1.0"
"psr/container": "^1.1"
},
"suggest": {
"symfony/service-implementation": ""
@@ -1235,7 +1235,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.2-dev"
"dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -1272,7 +1272,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/service-contracts/tree/master"
"source": "https://github.com/symfony/service-contracts/tree/v2.4.0"
},
"funding": [
{
@@ -1288,7 +1288,7 @@
"type": "tidelift"
}
],
"time": "2020-09-07T11:33:47+00:00"
"time": "2021-04-01T10:43:52+00:00"
},
{
"name": "symfony/string",
@@ -1468,16 +1468,16 @@
},
{
"name": "symfony/translation-contracts",
"version": "v2.3.0",
"version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
"reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105"
"reference": "95c812666f3e91db75385749fe219c5e494c7f95"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105",
"reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95",
"reference": "95c812666f3e91db75385749fe219c5e494c7f95",
"shasum": ""
},
"require": {
@@ -1489,7 +1489,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.3-dev"
"dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -1526,7 +1526,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/translation-contracts/tree/v2.3.0"
"source": "https://github.com/symfony/translation-contracts/tree/v2.4.0"
},
"funding": [
{
@@ -1542,7 +1542,63 @@
"type": "tidelift"
}
],
"time": "2020-09-28T13:05:58+00:00"
"time": "2021-03-23T23:28:01+00:00"
},
{
"name": "twbs/bootstrap",
"version": "v5.0.0-beta3",
"source": {
"type": "git",
"url": "https://github.com/twbs/bootstrap.git",
"reference": "220139a89ffc3864bbb6e1b35471667318eadc1f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twbs/bootstrap/zipball/220139a89ffc3864bbb6e1b35471667318eadc1f",
"reference": "220139a89ffc3864bbb6e1b35471667318eadc1f",
"shasum": ""
},
"replace": {
"twitter/bootstrap": "self.version"
},
"type": "library",
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Mark Otto",
"email": "markdotto@gmail.com"
},
{
"name": "Jacob Thornton",
"email": "jacobthornton@gmail.com"
}
],
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
"homepage": "https://getbootstrap.com/",
"keywords": [
"JS",
"css",
"framework",
"front-end",
"mobile-first",
"responsive",
"sass",
"web"
],
"support": {
"issues": "https://github.com/twbs/bootstrap/issues",
"source": "https://github.com/twbs/bootstrap/tree/v5.0.0-beta3"
},
"funding": [
{
"url": "https://opencollective.com/bootstrap",
"type": "open_collective"
}
],
"time": "2021-03-23T16:26:54+00:00"
},
{
"name": "voku/portable-ascii",
@@ -1622,13 +1678,16 @@
"packages-dev": [],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"stability-flags": {
"twbs/bootstrap": 10
},
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
"ext-mysqli": "*",
"ext-sqlite3": "*",
"ext-fileinfo": "*"
"ext-fileinfo": "*",
"ext-json": "*"
},
"platform-dev": [],
"plugin-api-version": "2.0.0"
+5 -5
View File
@@ -1,7 +1,7 @@
{
"driver":"mysql",
"host":"localhost",
"database":"testdb",
"username":"root",
"password":"V#_xWL6_"
"driver": "mysql",
"host": "localhost",
"database": "testdb",
"username": "root",
"password": ""
}