UI improvements part 2

This commit is contained in:
Čarodej
2022-01-27 13:14:57 +01:00
parent a2726ae2c5
commit d855739bf2
30 changed files with 268 additions and 93 deletions
@@ -1,5 +1,4 @@
<?php
namespace Domain\Files\Actions;
use Domain\Folders\Models\Folder;
@@ -25,9 +25,9 @@ class SendContactMessageRequest extends FormRequest
public function rules()
{
return [
'email' => 'required|email',
'message' => 'required|string',
'reCaptcha' => [new RequiredIf(get_settings('allowed_recaptcha') == 1), 'string', app(ReCaptchaRules::class)]
'email' => 'required|email',
'message' => 'required|string',
'reCaptcha' => [new RequiredIf(get_settings('allowed_recaptcha') == 1), 'string', app(ReCaptchaRules::class)],
];
}
}
@@ -27,7 +27,7 @@ class StoreSocialServiceCredentialsController
if (! app()->runningUnitTests()) {
$credentials = [
'facebook' => [
'FACEBOOK_CLIENT_ID' => $request->input('client_id'),
'FACEBOOK_CLIENT_ID' => $request->input('client_id'),
'FACEBOOK_CLIENT_SECRET' => $request->input('client_secret'),
],
'google' => [
@@ -42,7 +42,6 @@ class StoreSocialServiceCredentialsController
'RECAPTCHA_CLIENT_ID' => $request->input('client_id'),
'RECAPTCHA_CLIENT_SECRET' => $request->input('client_secret'),
],
];
// Store credentials into the .env file
@@ -1,8 +1,8 @@
<?php
namespace Domain\Transactions\Controllers;
use App\Http\Controllers\Controller;
use App\Users\Models\User;
use App\Http\Controllers\Controller;
use Domain\Transactions\Resources\TransactionCollection;
class GetUserTransactionsController extends Controller
@@ -6,9 +6,8 @@ use Domain\Folders\Models\Folder;
class GetItemsListFromUrlParamAction
{
public function __invoke(
string $user_id
): array {
public function __invoke(): array
{
$list = explode(',', request()->get('items'));
$itemList = collect($list)
@@ -29,12 +28,10 @@ class GetItemsListFromUrlParamAction
->where('type', 'file')
->pluck('id');
$folders = Folder::whereUserId($user_id)
->whereIn('id', $folderIds)
$folders = Folder::whereIn('id', $folderIds)
->get();
$files = File::whereUserId($user_id)
->whereIn('id', $fileIds)
$files = File::whereIn('id', $fileIds)
->get();
return [$folders, $files];
+14 -8
View File
@@ -1,12 +1,12 @@
<?php
namespace Domain\Zip\Actions;
use Gate;
use ZipStream\ZipStream;
use Illuminate\Support\Str;
use Domain\Sharing\Models\Share;
use Domain\Folders\Models\Folder;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
use STS\ZipStream\ZipStreamFacade as Zip;
@@ -17,9 +17,6 @@ class ZipAction
Collection $files,
?Share $shared = null
): ZipStream {
// Get user id
$user_id = Auth::id() ?? $shared->user_id;
// Get zip name from single requested folder
if ($files->isEmpty() && $folders->count() === 1) {
$zipName = Str::slug($folders->first()->name) . '.zip';
@@ -29,7 +26,12 @@ class ZipAction
$zip = Zip::create($zipName ?? 'files.zip');
// Zip Files
$files->map(function ($file) use ($zip) {
$files->map(function ($file) use ($zip, $shared) {
// Check user privileges to the file
if (! Gate::any(['can-edit', 'can-view'], [$file, $shared])) {
abort(403, 'Access Denied');
}
// get file path
$filePath = "files/$file->user_id/$file->basename";
@@ -50,11 +52,15 @@ class ZipAction
});
// Zip Folders
$folders->map(function ($folder) use ($zip, $user_id) {
$folders->map(function ($folder) use ($zip, $shared) {
// Check user privileges to the folder
if (! Gate::any(['can-edit', 'can-view'], [$folder, $shared])) {
abort(403, 'Access Denied');
}
// Get folder
$requested_folder = Folder::with(['folders.files', 'files'])
->where('id', $folder->id)
->where('user_id', $user_id)
->with('folders')
->first();
@@ -62,7 +68,7 @@ class ZipAction
foreach ($folderFiles as $file) {
// get file path
$filePath = "files/$user_id/{$file['basename']}";
$filePath = "files/{$file['user_id']}/{$file['basename']}";
// Add file into zip
if (Storage::exists($filePath)) {
@@ -27,10 +27,7 @@ class VisitorZipController extends Controller
Request $request,
Share $shared,
): ZipStream {
// Check ability to access protected share record
($this->protectShareRecord)($shared);
list($folders, $files) = ($this->getItemsListFromUrlParam)($shared->user_id);
list($folders, $files) = ($this->getItemsListFromUrlParam)();
// Check access to requested folders
if ($folders->isNotEmpty()) {
+1 -1
View File
@@ -21,7 +21,7 @@ class ZipController extends Controller
Request $request,
): ZipStream {
// Get list of folders and files from requested url parameter
list($folders, $files) = ($this->getItemsListFromUrlParam)(auth()->id());
list($folders, $files) = ($this->getItemsListFromUrlParam)();
// Zip items
$zip = ($this->zip)($folders, $files);