Skip to content

Commit fd9facd

Browse files
committed
change namespaces in file names
1 parent c7b75d8 commit fd9facd

15 files changed

+1537
-0
lines changed

src/Controllers/Controller.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
namespace UniSharp\LaravelFilemanager\Controllers;
4+
5+
use Illuminate\Foundation\Bus\DispatchesJobs;
6+
use Illuminate\Routing\Controller as BaseController;
7+
use Illuminate\Foundation\Validation\ValidatesRequests;
8+
9+
abstract class Controller extends BaseController
10+
{
11+
use DispatchesJobs, ValidatesRequests;
12+
}

src/Controllers/CropController.php

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
<?php
2+
3+
namespace UniSharp\LaravelFilemanager\Controllers;
4+
5+
use Intervention\Image\Facades\Image;
6+
use UniSharp\LaravelFilemanager\Events\ImageIsCropping;
7+
use UniSharp\LaravelFilemanager\Events\ImageWasCropped;
8+
9+
/**
10+
* Class CropController.
11+
*/
12+
class CropController extends LfmController
13+
{
14+
/**
15+
* Show crop page.
16+
*
17+
* @return mixed
18+
*/
19+
public function getCrop()
20+
{
21+
$working_dir = request('working_dir');
22+
$img = parent::objectPresenter(parent::getCurrentPath(request('img')));
23+
24+
return view('laravel-filemanager::crop')
25+
->with(compact('working_dir', 'img'));
26+
}
27+
28+
/**
29+
* Crop the image (called via ajax).
30+
*/
31+
public function getCropimage($overWrite = true)
32+
{
33+
$dataX = request('dataX');
34+
$dataY = request('dataY');
35+
$dataHeight = request('dataHeight');
36+
$dataWidth = request('dataWidth');
37+
$image_path = parent::getCurrentPath(request('img'));
38+
$crop_path = $image_path;
39+
40+
if (! $overWrite) {
41+
$fileParts = explode('.', request('img'));
42+
$fileParts[count($fileParts) - 2] = $fileParts[count($fileParts) - 2] . '_cropped_' . time();
43+
$crop_path = parent::getCurrentPath(implode('.', $fileParts));
44+
}
45+
46+
event(new ImageIsCropping($image_path));
47+
// crop image
48+
Image::make($image_path)
49+
->crop($dataWidth, $dataHeight, $dataX, $dataY)
50+
->save($crop_path);
51+
52+
if (config('lfm.should_create_thumbnails', true)) {
53+
// create thumb folder
54+
parent::createFolderByPath(parent::getThumbPath());
55+
56+
// make new thumbnail
57+
Image::make($crop_path)
58+
->fit(config('lfm.thumb_img_width', 200), config('lfm.thumb_img_height', 200))
59+
->save(parent::getThumbPath(parent::getName($crop_path)));
60+
}
61+
62+
event(new ImageWasCropped($image_path));
63+
}
64+
65+
public function getNewCropimage()
66+
{
67+
$this->getCropimage(false);
68+
}
69+
}

src/Controllers/DeleteController.php

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<?php
2+
3+
namespace UniSharp\LaravelFilemanager\Controllers;
4+
5+
use Illuminate\Support\Facades\File;
6+
use UniSharp\LaravelFilemanager\Events\ImageIsDeleting;
7+
use UniSharp\LaravelFilemanager\Events\ImageWasDeleted;
8+
9+
/**
10+
* Class CropController.
11+
*/
12+
class DeleteController extends LfmController
13+
{
14+
/**
15+
* Delete image and associated thumbnail.
16+
*
17+
* @return mixed
18+
*/
19+
public function getDelete()
20+
{
21+
$name_to_delete = request('items');
22+
23+
$file_to_delete = parent::getCurrentPath($name_to_delete);
24+
$thumb_to_delete = parent::getThumbPath($name_to_delete);
25+
26+
event(new ImageIsDeleting($file_to_delete));
27+
28+
if (is_null($name_to_delete)) {
29+
return parent::error('folder-name');
30+
}
31+
32+
if (! File::exists($file_to_delete)) {
33+
return parent::error('folder-not-found', ['folder' => $file_to_delete]);
34+
}
35+
36+
if (File::isDirectory($file_to_delete)) {
37+
if (! parent::directoryIsEmpty($file_to_delete)) {
38+
return parent::error('delete-folder');
39+
}
40+
41+
File::deleteDirectory($file_to_delete);
42+
43+
return parent::$success_response;
44+
}
45+
46+
if (parent::fileIsImage($file_to_delete)) {
47+
File::delete($thumb_to_delete);
48+
}
49+
50+
File::delete($file_to_delete);
51+
52+
event(new ImageWasDeleted($file_to_delete));
53+
54+
return parent::$success_response;
55+
}
56+
}

src/Controllers/DemoController.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
namespace UniSharp\LaravelFilemanager\Controllers;
4+
5+
/**
6+
* Class DemoController.
7+
*/
8+
class DemoController extends LfmController
9+
{
10+
/**
11+
* @return mixed
12+
*/
13+
public function index()
14+
{
15+
return view('laravel-filemanager::demo');
16+
}
17+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
namespace UniSharp\LaravelFilemanager\Controllers;
4+
5+
/**
6+
* Class DownloadController.
7+
*/
8+
class DownloadController extends LfmController
9+
{
10+
/**
11+
* Download a file.
12+
*
13+
* @return mixed
14+
*/
15+
public function getDownload()
16+
{
17+
return response()->download(parent::getCurrentPath(request('file')));
18+
}
19+
}

src/Controllers/FolderController.php

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<?php
2+
3+
namespace UniSharp\LaravelFilemanager\Controllers;
4+
5+
use Illuminate\Support\Facades\File;
6+
7+
/**
8+
* Class FolderController.
9+
*/
10+
class FolderController extends LfmController
11+
{
12+
/**
13+
* Get list of folders as json to populate treeview.
14+
*
15+
* @return mixed
16+
*/
17+
public function getFolders()
18+
{
19+
$folder_types = [];
20+
$root_folders = [];
21+
22+
if (parent::allowMultiUser()) {
23+
$folder_types['user'] = 'root';
24+
}
25+
26+
if (parent::allowShareFolder()) {
27+
$folder_types['share'] = 'shares';
28+
}
29+
30+
foreach ($folder_types as $folder_type => $lang_key) {
31+
$root_folder_path = parent::getRootFolderPath($folder_type);
32+
33+
$children = parent::getDirectories($root_folder_path);
34+
usort($children, function ($a, $b) {
35+
return strcmp($a->name, $b->name);
36+
});
37+
38+
array_push($root_folders, (object) [
39+
'name' => trans('laravel-filemanager::lfm.title-' . $lang_key),
40+
'path' => parent::getInternalPath($root_folder_path),
41+
'children' => $children,
42+
'has_next' => ! ($lang_key == end($folder_types)),
43+
]);
44+
}
45+
46+
return view('laravel-filemanager::tree')
47+
->with(compact('root_folders'));
48+
}
49+
50+
/**
51+
* Add a new folder.
52+
*
53+
* @return mixed
54+
*/
55+
public function getAddfolder()
56+
{
57+
$folder_name = parent::translateFromUtf8(trim(request('name')));
58+
$path = parent::getCurrentPath($folder_name);
59+
60+
if (empty($folder_name)) {
61+
return parent::error('folder-name');
62+
}
63+
64+
if (File::exists($path)) {
65+
return parent::error('folder-exist');
66+
}
67+
68+
if (config('lfm.alphanumeric_directory') && preg_match('/[^\w-]/i', $folder_name)) {
69+
return parent::error('folder-alnum');
70+
}
71+
72+
parent::createFolderByPath($path);
73+
return parent::$success_response;
74+
}
75+
}

src/Controllers/ItemsController.php

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
<?php
2+
3+
namespace UniSharp\LaravelFilemanager\Controllers;
4+
5+
/**
6+
* Class ItemsController.
7+
*/
8+
class ItemsController extends LfmController
9+
{
10+
/**
11+
* Get the images to load for a selected folder.
12+
*
13+
* @return mixed
14+
*/
15+
public function getItems()
16+
{
17+
$path = parent::getCurrentPath();
18+
$sort_type = request('sort_type');
19+
20+
$files = parent::sortFilesAndDirectories(parent::getFilesWithInfo($path), $sort_type);
21+
$directories = parent::sortFilesAndDirectories(parent::getDirectories($path), $sort_type);
22+
23+
return [
24+
'html' => (string) view($this->getView())->with([
25+
'files' => $files,
26+
'directories' => $directories,
27+
'items' => array_merge($directories, $files),
28+
]),
29+
'working_dir' => parent::getInternalPath($path),
30+
];
31+
}
32+
33+
private function getView()
34+
{
35+
$view_type = request('show_list');
36+
37+
if (null === $view_type) {
38+
return $this->composeViewName($this->getStartupViewFromConfig());
39+
}
40+
41+
$view_mapping = [
42+
'0' => 'grid',
43+
'1' => 'list'
44+
];
45+
46+
return $this->composeViewName($view_mapping[$view_type]);
47+
}
48+
49+
private function composeViewName($view_type = 'grid')
50+
{
51+
return "laravel-filemanager::$view_type-view";
52+
}
53+
54+
private function getStartupViewFromConfig($default = 'grid')
55+
{
56+
$type_key = parent::currentLfmType();
57+
$startup_view = config('lfm.' . $type_key . 's_startup_view', $default);
58+
return $startup_view;
59+
}
60+
}

src/Controllers/LfmController.php

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<?php
2+
3+
namespace UniSharp\LaravelFilemanager\Controllers;
4+
5+
use UniSharp\LaravelFilemanager\Traits\LfmHelpers;
6+
7+
/**
8+
* Class LfmController.
9+
*/
10+
class LfmController extends Controller
11+
{
12+
use LfmHelpers;
13+
14+
protected static $success_response = 'OK';
15+
16+
public function __construct()
17+
{
18+
$this->applyIniOverrides();
19+
}
20+
21+
/**
22+
* Show the filemanager.
23+
*
24+
* @return mixed
25+
*/
26+
public function show()
27+
{
28+
return view('laravel-filemanager::index');
29+
}
30+
31+
public function getErrors()
32+
{
33+
$arr_errors = [];
34+
35+
if (! extension_loaded('gd') && ! extension_loaded('imagick')) {
36+
array_push($arr_errors, trans('laravel-filemanager::lfm.message-extension_not_found'));
37+
}
38+
39+
$type_key = $this->currentLfmType();
40+
$mine_config = 'lfm.valid_' . $type_key . '_mimetypes';
41+
$config_error = null;
42+
43+
if (! is_array(config($mine_config))) {
44+
array_push($arr_errors, 'Config : ' . $mine_config . ' is not a valid array.');
45+
}
46+
47+
return $arr_errors;
48+
}
49+
}

0 commit comments

Comments
 (0)