<?php 
 
include_once '../session.php'; 
 
header("Content-type: application/json; charset=UTF-8"); 
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 
 
use Uploady\Handler\UploadHandler; 
 
$utilty = new Farisc0de\PhpFileUploading\Utility(); 
 
$upload = new Farisc0de\PhpFileUploading\Upload($utilty); 
 
$dataCollection = new Uploady\DataCollection(); 
 
$browser = new Wolfcast\BrowserDetection(); 
 
$role = new Uploady\Role($db, $user); 
 
$handler = new UploadHandler($db); 
 
$upload->setSiteUrl(SITE_URL); 
 
if ($_SERVER['REQUEST_METHOD'] == "POST") { 
    $upload->generateUserID(); 
 
    $upload->createUserCloud("../" . UPLOAD_FOLDER); 
 
    $upload->setUploadFolder([ 
        "folder_name" => $upload->getUserCloud(UPLOAD_FOLDER), 
        "folder_path" => realpath($upload->getUserCloud("../" . UPLOAD_FOLDER)), 
    ]); 
 
    $upload->enableProtection(); 
 
    $upload->setSizeLimit($role->get($_SESSION['user_role'])->size_limit); 
 
    $upload->generateFileID(); 
 
    $upload->setUpload(new Farisc0de\PhpFileUploading\File($_FILES['file'], $utilty)); 
 
    if (!$upload->checkIfNotEmpty()) { 
        http_response_code(400); 
        echo json_encode([ 
            "error" => $lang["general"]['file_is_empty'], 
        ]); 
        exit(); 
    } 
 
    $upload->hashName(); 
 
    if (!$upload->checkSize()) { 
        http_response_code(400); 
        echo json_encode([ 
            "error" => $lang["general"]['file_is_too_large'], 
        ]); 
        exit(); 
    } 
 
    if ( 
        !$upload->checkForbidden() 
    ) { 
        http_response_code(400); 
        echo json_encode([ 
            "error" => $lang["general"]['file_name_is_forbidden'], 
        ]); 
        exit(); 
    } 
 
    if ( 
        !$upload->checkExtension() 
    ) { 
        http_response_code(400); 
        echo json_encode([ 
            "error" => $lang["general"]['file_type_is_not_allowed'], 
        ]); 
        exit(); 
    } 
 
    if ( 
        !$upload->checkMime() 
    ) { 
        http_response_code(400); 
        echo json_encode([ 
            "error" => $lang["general"]['file_mime_type_is_not_allowed'], 
        ]); 
        exit(); 
    } 
 
    if ($upload->upload()) { 
        $handler->addFile( 
            $upload->getFileID(), 
            $upload->getUserID(), 
            $upload->getJSON(), 
            json_encode( 
                [ 
                    "ip_address" => $dataCollection->collectIP(), 
                    "country" => $dataCollection->idendifyCountry(), 
                    "browser" => $dataCollection->getBrowser($browser), 
                    "os" => $dataCollection->getOS() 
                ] 
            ), 
            json_encode( 
                [ 
                    "delete_at" => [ 
                        "downloads" => 0, 
                        "days" => 0, 
                    ], 
                ] 
            ) 
        ); 
    } 
 
    $files = $upload->getFiles(); 
 
    http_response_code(200); 
    echo json_encode($files[0]); 
} 
 
 |