Skip to content

Commit 4ee6d3a

Browse files
committed
feat: add missing events for file and folder operations
1 parent e91c183 commit 4ee6d3a

16 files changed

+296
-26
lines changed

docs/events.md

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,34 @@
11
## List of events
2-
* UniSharp\LaravelFilemanager\Events\ImageIsUploading
3-
* UniSharp\LaravelFilemanager\Events\ImageWasUploaded
4-
* UniSharp\LaravelFilemanager\Events\ImageIsRenaming
5-
* UniSharp\LaravelFilemanager\Events\ImageWasRenamed
6-
* UniSharp\LaravelFilemanager\Events\ImageIsDeleting
7-
* UniSharp\LaravelFilemanager\Events\ImageWasDeleted
8-
* UniSharp\LaravelFilemanager\Events\FolderIsRenaming
9-
* UniSharp\LaravelFilemanager\Events\FolderWasRenamed
10-
* UniSharp\LaravelFilemanager\Events\ImageIsResizing
11-
* UniSharp\LaravelFilemanager\Events\ImageWasResized
12-
* UniSharp\LaravelFilemanager\Events\ImageIsCropping
13-
* UniSharp\LaravelFilemanager\Events\ImageWasCropped
142

3+
* File
4+
* UniSharp\LaravelFilemanager\Events\FileIsUploading
5+
* UniSharp\LaravelFilemanager\Events\FileWasUploaded
6+
* UniSharp\LaravelFilemanager\Events\FileIsRenaming
7+
* UniSharp\LaravelFilemanager\Events\FileWasRenamed
8+
* UniSharp\LaravelFilemanager\Events\FileIsMoving
9+
* UniSharp\LaravelFilemanager\Events\FileWasMoving
10+
* UniSharp\LaravelFilemanager\Events\FileIsDeleting
11+
* UniSharp\LaravelFilemanager\Events\FileWasDeleted
12+
* Image
13+
* UniSharp\LaravelFilemanager\Events\ImageIsUploading
14+
* UniSharp\LaravelFilemanager\Events\ImageWasUploaded
15+
* UniSharp\LaravelFilemanager\Events\ImageIsRenaming
16+
* UniSharp\LaravelFilemanager\Events\ImageWasRenamed
17+
* UniSharp\LaravelFilemanager\Events\ImageIsResizing
18+
* UniSharp\LaravelFilemanager\Events\ImageWasResized
19+
* UniSharp\LaravelFilemanager\Events\ImageIsCropping
20+
* UniSharp\LaravelFilemanager\Events\ImageWasCropped
21+
* UniSharp\LaravelFilemanager\Events\ImageIsDeleting
22+
* UniSharp\LaravelFilemanager\Events\ImageWasDeleted
23+
* Folder
24+
* UniSharp\LaravelFilemanager\Events\FolderIsCreating
25+
* UniSharp\LaravelFilemanager\Events\FolderWasCreated
26+
* UniSharp\LaravelFilemanager\Events\FolderIsRenaming
27+
* UniSharp\LaravelFilemanager\Events\FolderWasRenamed
28+
* UniSharp\LaravelFilemanager\Events\FolderIsMoving
29+
* UniSharp\LaravelFilemanager\Events\FolderWasMoving
30+
* UniSharp\LaravelFilemanager\Events\FolderIsDeleting
31+
* UniSharp\LaravelFilemanager\Events\FolderWasDeleted
1532

1633
## How to use
1734
* Sample code : [laravel-filemanager-demo-events](https://github.com/UniSharp/laravel-filemanager-demo-events)

src/Controllers/DeleteController.php

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
namespace UniSharp\LaravelFilemanager\Controllers;
44

55
use Illuminate\Support\Facades\Storage;
6+
use UniSharp\LaravelFilemanager\Events\FileIsDeleting;
7+
use UniSharp\LaravelFilemanager\Events\FileWasDeleted;
8+
use UniSharp\LaravelFilemanager\Events\FolderIsDeleting;
9+
use UniSharp\LaravelFilemanager\Events\FolderWasDeleted;
610
use UniSharp\LaravelFilemanager\Events\ImageIsDeleting;
711
use UniSharp\LaravelFilemanager\Events\ImageWasDeleted;
812

@@ -21,14 +25,19 @@ public function getDelete()
2125
foreach ($item_names as $name_to_delete) {
2226
$file = $this->lfm->setName($name_to_delete);
2327

28+
if ($file->isDirectory()) {
29+
event(new FolderIsDeleting($file->path('absolute')));
30+
} else {
31+
event(new FileIsDeleting($file->path('absolute')));
32+
event(new ImageIsDeleting($file->path('absolute')));
33+
}
34+
2435
if (!Storage::disk($this->helper->config('disk'))->exists($file->path('storage'))) {
2536
abort(404);
2637
}
2738

2839
$file_to_delete = $this->lfm->pretty($name_to_delete);
29-
$file_path = $file_to_delete->path();
30-
31-
event(new ImageIsDeleting($file_path));
40+
$file_path = $file_to_delete->path('absolute');
3241

3342
if (is_null($name_to_delete)) {
3443
array_push($errors, parent::error('folder-name'));
@@ -45,15 +54,20 @@ public function getDelete()
4554
array_push($errors, parent::error('delete-folder'));
4655
continue;
4756
}
57+
58+
$this->lfm->setName($name_to_delete)->delete();
59+
60+
event(new FolderWasDeleted($file_path));
4861
} else {
4962
if ($file_to_delete->isImage()) {
5063
$this->lfm->setName($name_to_delete)->thumb()->delete();
5164
}
52-
}
5365

54-
$this->lfm->setName($name_to_delete)->delete();
66+
$this->lfm->setName($name_to_delete)->delete();
5567

56-
event(new ImageWasDeleted($file_path));
68+
event(new FileWasDeleted($file_path));
69+
event(new ImageWasDeleted($file_path));
70+
}
5771
}
5872

5973
if (count($errors) > 0) {

src/Controllers/FolderController.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
namespace UniSharp\LaravelFilemanager\Controllers;
44

5+
use UniSharp\LaravelFilemanager\Events\FolderIsCreating;
6+
use UniSharp\LaravelFilemanager\Events\FolderWasCreated;
7+
58
class FolderController extends LfmController
69
{
710
/**
@@ -39,6 +42,10 @@ public function getAddfolder()
3942
{
4043
$folder_name = $this->helper->input('name');
4144

45+
$new_path = $this->lfm->setName($folder_name)->path('absolute');
46+
47+
event(new FolderIsCreating($new_path));
48+
4249
try {
4350
if ($folder_name === null || $folder_name == '') {
4451
return $this->helper->error('folder-name');
@@ -53,6 +60,8 @@ public function getAddfolder()
5360
return $e->getMessage();
5461
}
5562

63+
event(new FolderWasCreated($new_path));
64+
5665
return parent::$success_response;
5766
}
5867
}

src/Controllers/RenameController.php

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
use Illuminate\Support\Facades\Storage;
66
use UniSharp\LaravelFilemanager\Events\FolderIsRenaming;
77
use UniSharp\LaravelFilemanager\Events\FolderWasRenamed;
8+
use UniSharp\LaravelFilemanager\Events\FileIsRenaming;
9+
use UniSharp\LaravelFilemanager\Events\FileWasRenamed;
810
use UniSharp\LaravelFilemanager\Events\ImageIsRenaming;
911
use UniSharp\LaravelFilemanager\Events\ImageWasRenamed;
1012

@@ -23,7 +25,7 @@ public function getRename()
2325

2426
$old_file = $this->lfm->pretty($old_name);
2527

26-
$is_directory = $old_file->isDirectory();
28+
$is_directory = $file->isDirectory();
2729

2830
if (empty($new_name)) {
2931
if ($is_directory) {
@@ -47,12 +49,13 @@ public function getRename()
4749
}
4850
}
4951

50-
$new_file = $this->lfm->setName($new_name)->path('absolute');
52+
$new_path = $this->lfm->setName($new_name)->path('absolute');
5153

5254
if ($is_directory) {
53-
event(new FolderIsRenaming($old_file->path(), $new_file));
55+
event(new FolderIsRenaming($old_file->path(), $new_path));
5456
} else {
55-
event(new ImageIsRenaming($old_file->path(), $new_file));
57+
event(new FileIsRenaming($old_file->path(), $new_path));
58+
event(new ImageIsRenaming($old_file->path(), $new_path));
5659
}
5760

5861
$old_path = $old_file->path();
@@ -66,9 +69,10 @@ public function getRename()
6669
->move($this->lfm->setName($new_name));
6770

6871
if ($is_directory) {
69-
event(new FolderWasRenamed($old_path, $new_file));
72+
event(new FolderWasRenamed($old_path, $new_path));
7073
} else {
71-
event(new ImageWasRenamed($old_path, $new_file));
74+
event(new FileWasRenamed($old_path, $new_path));
75+
event(new ImageWasRenamed($old_path, $new_path));
7276
}
7377

7478
return parent::$success_response;

src/Controllers/UploadController.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44

55
use Illuminate\Http\JsonResponse;
66
use Illuminate\Support\Facades\Log;
7-
use UniSharp\LaravelFilemanager\Events\ImageIsUploading;
8-
use UniSharp\LaravelFilemanager\Events\ImageWasUploaded;
97
use UniSharp\LaravelFilemanager\Lfm;
108

119
class UploadController extends LfmController

src/Events/FileIsDeleting.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
namespace UniSharp\LaravelFilemanager\Events;
4+
5+
class FileIsDeleting
6+
{
7+
private $path;
8+
9+
public function __construct($path)
10+
{
11+
$this->path = $path;
12+
}
13+
14+
/**
15+
* @return string
16+
*/
17+
public function path()
18+
{
19+
return $this->path;
20+
}
21+
}

src/Events/FileIsRenaming.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
namespace UniSharp\LaravelFilemanager\Events;
4+
5+
class FileIsRenaming
6+
{
7+
private $old_path;
8+
private $new_path;
9+
10+
public function __construct($old_path, $new_path)
11+
{
12+
$this->old_path = $old_path;
13+
$this->new_path = $new_path;
14+
}
15+
16+
/**
17+
* @return string
18+
*/
19+
public function oldPath()
20+
{
21+
return $this->old_path;
22+
}
23+
24+
public function newPath()
25+
{
26+
return $this->new_path;
27+
}
28+
}

src/Events/FileIsUploading.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
namespace UniSharp\LaravelFilemanager\Events;
4+
5+
class FileIsUploading
6+
{
7+
private $path;
8+
9+
public function __construct($path)
10+
{
11+
$this->path = $path;
12+
}
13+
14+
/**
15+
* @return string
16+
*/
17+
public function path()
18+
{
19+
return $this->path;
20+
}
21+
}

src/Events/FileWasDeleted.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
namespace UniSharp\LaravelFilemanager\Events;
4+
5+
class FileWasDeleted
6+
{
7+
private $path;
8+
9+
public function __construct($path)
10+
{
11+
$this->path = $path;
12+
}
13+
14+
/**
15+
* @return string
16+
*/
17+
public function path()
18+
{
19+
return $this->path;
20+
}
21+
}

src/Events/FileWasRenamed.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
namespace UniSharp\LaravelFilemanager\Events;
4+
5+
class FileWasRenamed
6+
{
7+
private $old_path;
8+
private $new_path;
9+
10+
public function __construct($old_path, $new_path)
11+
{
12+
$this->old_path = $old_path;
13+
$this->new_path = $new_path;
14+
}
15+
16+
/**
17+
* @return string
18+
*/
19+
public function oldPath()
20+
{
21+
return $this->old_path;
22+
}
23+
24+
public function newPath()
25+
{
26+
return $this->new_path;
27+
}
28+
}

0 commit comments

Comments
 (0)