Game-Jaming/Backend/Controllers/FileHandler/upload.php

86 lines
3.2 KiB
PHP
Raw Normal View History

2021-03-08 13:20:56 +00:00
<?php
2021-03-08 13:52:34 +00:00
require_once "../../../bootstrap.php";
2021-03-09 13:43:39 +00:00
require_once('../Group/Group.php');
2021-03-08 13:20:56 +00:00
use Backend\Models\GameData;
2021-03-09 13:43:39 +00:00
2021-03-09 12:54:20 +00:00
use Backend\Models\Group;
2021-03-08 13:20:56 +00:00
2021-03-09 12:17:18 +00:00
$isImages = false;
2021-03-09 12:30:21 +00:00
session_start();
if(isset($_SESSION['token'])){
2021-03-09 12:54:20 +00:00
$group = groupViaToken($_SESSION['token']);
2021-03-08 13:20:56 +00:00
2021-03-09 12:54:20 +00:00
if(!isset($group->game_data_id)){
if(isset($_POST['submitUpload'])){
//Get the data from the user form
$gameFile = $_FILES['gameFile'];
$desc = $_POST['description'];
$title = $_POST['gameTitle'];
$thumbnail = $_FILES['thumbnailFile'];
$isWebBased = isset( $_POST['isWebBased']);
2021-03-08 13:20:56 +00:00
2021-03-09 12:54:20 +00:00
//Handle data for game files
$gameFileName = $_FILES['gameFile']['name'];//Game name
$gameFileTmp = $_FILES['gameFile']['tmp_name'];//Tmp location of the file
$gameFileError =$_FILES['gameFile']['error'];//File error
2021-03-09 12:54:20 +00:00
$fileExtGame = explode('.', $gameFileName);
$fileActualExtGame = strtolower(end($fileExtGame));
2021-03-08 13:20:56 +00:00
2021-03-09 12:54:20 +00:00
//Handle data for thumbnail files
$thumbnailFileName = $_FILES['thumbnailFile']['name'];//Game name
$thumbnailFileTmp = $_FILES['thumbnailFile']['tmp_name'];//Tmp location of the file
$thumbnailFileError =$_FILES['thumbnailFile']['error'];//File error
2021-03-08 13:20:56 +00:00
2021-03-09 12:54:20 +00:00
$fileExtThumb = explode('.', $thumbnailFileName);
$fileActualExtThumb = strtolower(end($fileExtThumb));
2021-03-08 13:20:56 +00:00
2021-03-09 12:54:20 +00:00
$allowedFileTypeGame = array('zip');
$allowedFileTypeThumbnail = array('gif', 'jpeg', 'png', 'svg');
2021-03-09 12:17:18 +00:00
2021-03-09 12:54:20 +00:00
if(in_array($fileActualExtGame,$allowedFileTypeGame) || in_array($thumbnailFileName,$allowedFileTypeThumbnail)){
if($gameFileError === 0 || $thumbnailFileError === 0){
$gameFileNewName = uniqid("", true). "." . $fileActualExtGame;
2021-03-09 12:17:18 +00:00
2021-03-09 12:54:20 +00:00
if(!empty($thumbnailFileName)){
$thumbnailFileNewName = uniqid("", true). "." . $fileActualExtThumb;
$isImages = true;
}
if(empty($gameFileName)){
header("location: ../../../Frontend/index.php?error=emptyFile");
exit();
}else{
$gameData = new GameData();
$gameData->game_name = $title;
$gameData->game_link = $gameFileNewName;
$gameData->description = $desc;
if($isImages) $gameData->img = $thumbnailFileNewName;
$gameData->is_web_Based = $isWebBased;
$gameData->save();
$group->gameData()->associate($gameData);
$group->save();
2021-03-09 12:17:18 +00:00
2021-03-09 12:54:20 +00:00
rename($gameFileTmp,"../../Games/".$gameFileNewName);
if($isImages){
rename($thumbnailFileTmp,"../../../Frontend/images/".$thumbnailFileNewName);
}
}
}else{
echo "Der var en fejl med at uploade din file";
}
}else{
echo "Wrong file type";
2021-03-08 13:20:56 +00:00
}
2021-03-09 12:54:20 +00:00
2021-03-08 13:20:56 +00:00
}
}
}