Skip to content

Commit 0c3d8a1

Browse files
committed
Improvements on installation command
1 parent 69f4346 commit 0c3d8a1

File tree

1 file changed

+20
-31
lines changed

1 file changed

+20
-31
lines changed

src/Console/Commands/Install.php

Lines changed: 20 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44

55
use Backpack\CRUD\app\Console\Commands\Traits\PrettyCommandOutput;
66
use Illuminate\Console\Command;
7+
use Illuminate\Support\Str;
78

89
class Install extends Command
910
{
1011
use PrettyCommandOutput;
1112

12-
protected $progressBar;
13-
1413
/**
1514
* The name and signature of the console command.
1615
*
@@ -34,48 +33,38 @@ class Install extends Command
3433
*/
3534
public function handle()
3635
{
37-
$this->progressBar = $this->output->createProgressBar(4);
38-
$this->progressBar->minSecondsBetweenRedraws(0);
39-
$this->progressBar->maxSecondsBetweenRedraws(120);
40-
$this->progressBar->setRedrawFrequency(1);
41-
$this->progressBar->start();
36+
$this->infoBlock('Installing Backpack FileManager', 'Step 1');
4237

43-
$this->line(' Creating uploads directory');
38+
$this->progressBlock('Creating uploads directory');
4439
switch (DIRECTORY_SEPARATOR) {
4540
case '/': // unix
46-
$createUploadDirectoryCommand = ['mkdir', '-p', 'public/uploads'];
41+
$this->executeProcess(['mkdir', '-p', 'public/uploads']);
4742
break;
4843
case '\\': // windows
4944
if (! file_exists('public\uploads')) {
50-
$createUploadDirectoryCommand = ['mkdir', 'public\uploads'];
45+
$this->executeProcess(['mkdir', 'public\uploads']);
5146
}
5247
break;
5348
}
54-
if (isset($createUploadDirectoryCommand)) {
55-
$this->executeProcess($createUploadDirectoryCommand);
56-
}
49+
$this->closeProgressBlock();
5750

58-
$this->line(' Publishing elFinder assets');
51+
// Publishing elFinder assets
52+
$this->progressBlock('Publishing elFinder assets');
5953
$this->executeArtisanProcess('elfinder:publish');
54+
$this->closeProgressBlock();
6055

61-
$this->line(' Publishing custom elfinder views');
62-
$this->executeArtisanProcess('vendor:publish', [
63-
'--provider' => 'Backpack\FileManager\FileManagerServiceProvider',
56+
// Adding sidebar menu item
57+
$this->progressBlock('Adding sidebar menu item');
58+
$this->executeArtisanProcess('backpack:add-sidebar-content', [
59+
'code' => '<li class="nav-item"><a class="nav-link" href="{{ backpack_url(\'elfinder\') }}"><i class="nav-icon la la-files-o"></i> <span>{{ trans(\'backpack::crud.file_manager\') }}</span></a></li>',
6460
]);
61+
$this->closeProgressBlock();
6562

66-
$this->line(' Adding sidebar menu item');
67-
switch (DIRECTORY_SEPARATOR) {
68-
case '/': // unix
69-
$this->executeArtisanProcess('backpack:add-sidebar-content', [
70-
'code' => '<li class="nav-item"><a class="nav-link" href="{{ backpack_url(\'elfinder\') }}"><i class="nav-icon la la-files-o"></i> <span>{{ trans(\'backpack::crud.file_manager\') }}</span></a></li>', ]);
71-
break;
72-
case '\\': // windows
73-
$this->executeArtisanProcess('backpack:add-sidebar-content', [
74-
'code' => '<li class="nav-item"><a class="nav-link" href="{{ backpack_url(\'elfinder\') }}"><i class="nav-icon la la-files-o"></i> <span>{{ trans(\'backpack::crud.file_manager\') }}</span></a></li>', ]);
75-
break;
76-
}
77-
78-
$this->progressBar->finish();
79-
$this->info(' Backpack\FileManager installed.');
63+
// Done
64+
$url = Str::of(config('app.url'))->finish('/')->append('admin/elfinder');
65+
$this->infoBlock('Backpack FileManager installation complete.', 'done');
66+
$this->note("Go to <fg=blue>$url</> to access your filemanager.");
67+
$this->note('You may need to run <fg=blue>php artisan serve</> to serve your Laravel project.');
68+
$this->newLine();
8069
}
8170
}

0 commit comments

Comments
 (0)