summaryrefslogtreecommitdiff
path: root/app/Http/Controllers/SiteController.php
blob: 568048c6ab1547f8c324713bb320b629ee5c300e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use Storage;

class SiteController extends Controller
{
    /** 
	* provide select environment variables to javascript
	*/
	public static function env(){
		$vars = [
            'API_URL' => $_ENV['API_URL'],
            'WS_URL' => $_ENV['WS_URL'],
			'FILEUPLOAD_URL' => $_ENV['FILEUPLOAD_URL'] ?? '', //these 3 file vars are from old 'thesite'. fileup_url might end up being same as api_url
			'FILEUPLOAD_MAX_MB' => $_ENV['FILEUPLOAD_MAX_MB'] ?? '',
			'FILEUPLOAD_CHUNK_MB' => $_ENV['FILEUPLOAD_CHUNK_MB'] ?? ''
		];
		return $vars;
	}

    public static function duneQuote(){
        return '<b>todo</b>';
    }

	public function uploadFiles(Request $req){
        $files = $req->file('f');
        $res = [
            'num_files' => sizeof($files),
            'num_failed'=> 0,
            'num_uploaded' => 0,
            'success' => false,
            'files' => []
        ];
        
		foreach ($files as $f){
			//validate file
			/*$validated = $req->validate([
				'f' => 'required|file|max:10240', //10MB
			]);*/
            $filename = $f->getClientOriginalName();
            if (Storage::disk('public')->fileExists($filename)){
                $filename = Carbon::now()->timestamp.'_'.$filename;
            }
			$path = $f->storeAs(
                'uploads',
                $filename,
                'public'
            );
            if ($path){
                $res['num_uploaded'] += 1;
                array_push($res['files'], $path);
            } else {
                $res['num_failed'] += 1;
            }
			if ($res['num_uploaded'] == sizeof($files)){
                $res['success'] = true;
            }
		}
		return $res;
	}
}