added it_get_public_file_record_and_download_them, it_try_to_get_protected_file_record, it_get_shared_record, it_get_deleted_shared_record, it_get_shared_page, it_get_deleted_shared_page test

This commit is contained in:
Peter Papp
2021-03-10 08:41:21 +01:00
parent e164d1021c
commit aecdf56304
14 changed files with 195 additions and 41 deletions
+3 -3
View File
@@ -3,9 +3,9 @@
namespace App\Http\Controllers\Auth;
use App\Http\Requests\Auth\CheckAccountRequest;
use App\Setting;
use App\User;
use App\UserSettings;
use App\Models\Setting;
use App\Models\User;
use App\Models\UserSettings;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
@@ -6,7 +6,7 @@ use App\Http\Controllers\Controller;
use App\Mail\TestMail;
use App\Notifications\ResetPassword;
use App\Notifications\ResetUserPasswordNotification;
use App\User;
use App\Models\User;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Lang;
@@ -4,7 +4,7 @@ namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use App\User;
use App\Models\User;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
+9 -16
View File
@@ -2,24 +2,14 @@
namespace App\Http\Controllers;
use App\Models\Folder;
use App\Http\Tools\Editor;
use App\Http\Tools\Guardian;
use App\Models\Share;
use App\Models\User;
use App\Models\Zip;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use Illuminate\Http\Request;
use App\Models\File as UserFile;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
use Illuminate\Http\Exceptions\HttpResponseException;
use Madnest\Madzipper\Facades\Madzipper;
use Response;
use League\Flysystem\FileNotFoundException;
use Symfony\Component\HttpKernel\Exception\HttpException;
class FileAccessController extends Controller
{
@@ -157,12 +147,12 @@ class FileAccessController extends Controller
$shared = get_shared($token);
// Abort if shared is protected
if ((int)$shared->protected) {
if ((int) $shared->is_protected) {
abort(403, "Sorry, you don't have permission");
}
// Get file record
$file = File::where('user_id', $shared->user_id)
$file = UserFile::where('user_id', $shared->user_id)
->where('basename', $filename)
->firstOrFail();
@@ -170,9 +160,12 @@ class FileAccessController extends Controller
$this->check_file_access($shared, $file);
// Store user download size
User::find($shared->user_id)->record_download((int)$file->getRawOriginal('filesize'));
User::find($shared->user_id)
->record_download(
(int) $file->getRawOriginal('filesize')
);
return $this->download_file($file);
return $this->download_file($file, $shared->user_id);
}
/**
@@ -243,7 +236,7 @@ class FileAccessController extends Controller
// Check by single file permission
if ($shared->type === 'file') {
if ($shared->item_id !== $file->unique_id) abort(403);
if ($shared->item_id !== $file->id) abort(403);
}
}
@@ -28,7 +28,7 @@ class ShareController extends Controller
public function show($token)
{
// Get record
$shared = Share::where(DB::raw('BINARY `token`'), $token)
$shared = Share::whereToken($token)
->firstOrFail();
return new ShareResource($shared);
@@ -26,16 +26,21 @@ class FileSharingController extends Controller
/**
* Show page index and delete access_token & shared_token cookie
*
* @return Factory|\Illuminate\View\View
* @return \Illuminate\Http\Response
*/
public function index($token)
{
// Get shared token
$shared = Share::where(\DB::raw('BINARY `token`'), $token)
$shared = Share::whereToken($token)
->first();
if (! $shared) {
return view("index");
return response()
->view('index', [
'settings' => null,
'legal' => null,
'installation' => null,
], 404);
}
// Delete old access_token if exist
@@ -196,16 +201,17 @@ class FileSharingController extends Controller
public function file_public($token)
{
// Get sharing record
$shared = Share::where(DB::raw('BINARY `token`'), $token)->firstOrFail();
$shared = Share::whereToken($token)
->firstOrFail();
// Abort if file is protected
if ((int) $shared->protected) {
if ((int) $shared->is_protected) {
abort(403, "Sorry, you don't have permission");
}
// Get file
$file = File::where('user_id', $shared->user_id)
->where('unique_id', $shared->item_id)
->where('id', $shared->item_id)
->firstOrFail(['name', 'basename', 'thumbnail', 'type', 'filesize', 'mimetype']);
// Set urls
@@ -2,8 +2,8 @@
namespace App\Http\Controllers\User;
use App\File;
use App\Folder;
use App\Models\File;
use App\Models\Folder;
use App\Http\Resources\InvoiceCollection;
use App\Http\Resources\StorageDetailResource;
use App\Http\Resources\UserResource;
@@ -16,7 +16,7 @@ use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
use ByteUnits\Metric;
use App\User;
use App\Models\User;
class AccountController extends Controller
{