Skip to content

Commit c319f8e

Browse files
authored
Merge pull request #22 from endihunter/master
Make ready for Laravel 5.6
2 parents 089ebfd + 4a63fcd commit c319f8e

File tree

13 files changed

+137
-132
lines changed

13 files changed

+137
-132
lines changed

composer.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"laravelcollective/html": "5.*|dev-master",
1414
"doctrine/dbal": "~2.5",
1515
"davejamesmiller/laravel-breadcrumbs": "3.0.*",
16-
"codesleeve/laravel-stapler": "^1.0",
16+
"czim/laravel-paperclip": "~1.5",
1717
"terranet/menus": "^2.2",
1818
"terranet/php-humanizer": "2.*",
1919
"creativeorange/gravatar": "~1.0",
@@ -24,8 +24,7 @@
2424
},
2525
"require-dev": {
2626
"phpunit/phpunit": "~5.7",
27-
"mockery/mockery": "0.9.*",
28-
"laravel/framework": "5.4.*"
27+
"mockery/mockery": "0.9.*"
2928
},
3029
"autoload": {
3130
"psr-4": {

publishes/config.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@
9393
],
9494

9595
'translations' => [
96-
'enabled' => true,
96+
'enabled' => false,
9797
'filters' => [
9898
# build filters based on specific translation files
9999
'only' => null, // ['auth', 'validation']

publishes/resources/js/vendor.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@ window.$ = window.jQuery = require('jquery');
55
window.moment = require('moment');
66

77
/* Bootstrap */
8-
require('bootstrap/js/tab');
9-
require('bootstrap/js/dropdown');
10-
require('bootstrap/js/modal');
11-
require('bootstrap/js/collapse');
12-
require('bootstrap/js/alert');
13-
require('bootstrap/js/carousel');
14-
require('bootstrap/js/transition');
8+
require('@adminarchitect/bootstrap/js/tab');
9+
require('@adminarchitect/bootstrap/js/dropdown');
10+
require('@adminarchitect/bootstrap/js/modal');
11+
require('@adminarchitect/bootstrap/js/collapse');
12+
require('@adminarchitect/bootstrap/js/alert');
13+
require('@adminarchitect/bootstrap/js/carousel');
14+
require('@adminarchitect/bootstrap/js/transition');
1515

1616
/* Date/DateRange pickers */
17-
require('bootstrap-datepicker');
18-
require('bootstrap-daterangepicker');
17+
require('@adminarchitect/bootstrap-datepicker');
18+
require('@adminarchitect/bootstrap-daterangepicker');
1919

2020
/* jQuery Toggles */
21-
require('jquery-toggles/toggles');
21+
require('@adminarchitect/jquery-toggles/toggles');
2222

2323
require('selectize');
24-
window.fancybox = require('fancybox')($);
24+
window.fancybox = require('fancybox')($);
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
@import "~bootstrap/less/mixins/vendor-prefixes";
2-
@import "~bootstrap/less/mixins/opacity";
3-
@import "~bootstrap/less/mixins/gradients";
4-
@import "~bootstrap/less/variables";
5-
@import "~bootstrap/less/glyphicons";
6-
@import "~bootstrap/less/carousel";
1+
@import "~@adminarchitect/bootstrap/less/mixins/vendor-prefixes";
2+
@import "~@adminarchitect/bootstrap/less/mixins/opacity";
3+
@import "~@adminarchitect/bootstrap/less/mixins/gradients";
4+
@import "~@adminarchitect/bootstrap/less/variables";
5+
@import "~@adminarchitect/bootstrap/less/glyphicons";
6+
@import "~@adminarchitect/bootstrap/less/carousel";

publishes/resources/sass/vendor.scss

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@import '~font-awesome/scss/font-awesome';
2-
@import "~bootstrap-datepicker/dist/css/bootstrap-datepicker3.css";
3-
@import "~bootstrap-daterangepicker/daterangepicker";
2+
@import "~@adminarchitect/bootstrap-datepicker/dist/css/bootstrap-datepicker3.css";
3+
@import "~@adminarchitect/bootstrap-daterangepicker/daterangepicker";
44
@import "~selectize/dist/css/selectize.bootstrap3.css";
5-
@import "~fancybox/dist/css/jquery.fancybox.css";
5+
@import "~fancybox/dist/css/jquery.fancybox.css";

src/Console/PublishCommand.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
namespace Terranet\Administrator\Console;
44

55
use Artisan;
6-
use Codesleeve\LaravelStapler\Providers\L5ServiceProvider;
7-
use Creativeorange\Gravatar\GravatarServiceProvider;
8-
use DaveJamesMiller\Breadcrumbs\ServiceProvider as BreadcrumbsServiceProvider;
96
use Illuminate\Console\Command;
107
use Pingpong\Menus\MenusServiceProvider;
118
use Terranet\Administrator\ServiceProvider;
9+
use Creativeorange\Gravatar\GravatarServiceProvider;
1210
use Terranet\Administrator\Traits\SessionGuardHelper;
11+
use Czim\Paperclip\Providers\PaperclipServiceProvider;
12+
use DaveJamesMiller\Breadcrumbs\ServiceProvider as BreadcrumbsServiceProvider;
1313

1414
class PublishCommand extends Command
1515
{
@@ -101,7 +101,7 @@ public function handle()
101101

102102
protected function publishDependencies()
103103
{
104-
$this->dependencies()->each(function($provider) {
104+
$this->dependencies()->each(function ($provider) {
105105
Artisan::call('vendor:publish', [
106106
'--provider' => $provider
107107
]);
@@ -115,7 +115,7 @@ protected function publishDependencies()
115115
protected function dependencies()
116116
{
117117
return collect([
118-
L5ServiceProvider::class,
118+
PaperclipServiceProvider::class,
119119
BreadcrumbsServiceProvider::class,
120120
MenusServiceProvider::class,
121121
GravatarServiceProvider::class,

src/Decorators/Grid.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22

33
namespace Terranet\Administrator\Decorators;
44

5-
use Codesleeve\Stapler\ORM\StaplerableInterface;
5+
use Terranet\Rankable\Rankable;
66
use Illuminate\Database\Eloquent\Model;
7-
use Terranet\Administrator\Columns\Decorators\AttachmentDecorator;
8-
use Terranet\Administrator\Columns\Decorators\BooleanDecorator;
7+
use Terranet\Translatable\Translatable;
8+
use Terranet\Administrator\Columns\Element;
9+
use Czim\Paperclip\Contracts\AttachableInterface;
910
use Terranet\Administrator\Columns\Decorators\CellDecorator;
10-
use Terranet\Administrator\Columns\Decorators\DatetimeDecorator;
1111
use Terranet\Administrator\Columns\Decorators\RankDecorator;
12-
use Terranet\Administrator\Columns\Decorators\StringDecorator;
1312
use Terranet\Administrator\Columns\Decorators\TextDecorator;
14-
use Terranet\Administrator\Columns\Element;
15-
use Terranet\Rankable\Rankable;
16-
use Terranet\Translatable\Translatable;
13+
use Terranet\Administrator\Columns\Decorators\StringDecorator;
14+
use Terranet\Administrator\Columns\Decorators\BooleanDecorator;
15+
use Terranet\Administrator\Columns\Decorators\DatetimeDecorator;
16+
use Terranet\Administrator\Columns\Decorators\AttachmentDecorator;
1717

1818
class Grid
1919
{
@@ -46,7 +46,7 @@ public function makeElement($element)
4646
protected function getDecorator($column)
4747
{
4848
// decorate attachment
49-
if ($this->model instanceof StaplerableInterface
49+
if ($this->model instanceof AttachableInterface
5050
&& method_exists($this->model, 'getAttachedFiles')
5151
&& array_key_exists($column, $this->model->getAttachedFiles())
5252
) {
@@ -57,7 +57,7 @@ protected function getDecorator($column)
5757
if ($this->model instanceof Translatable) {
5858
$translation = $this->model->getTranslationModel();
5959

60-
if ($translation instanceof StaplerableInterface
60+
if ($translation instanceof AttachableInterface
6161
&& method_exists($translation, 'getAttachedFiles')
6262
&& array_key_exists($column, $translation->getAttachedFiles())
6363
) {

src/Form/Type/File.php

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

33
namespace Terranet\Administrator\Form\Type;
44

5-
use Codesleeve\Stapler\Attachment;
65
use Form;
76
use Terranet\Administrator\Form\Element;
7+
use Czim\Paperclip\Attachment\Attachment;
88

99
class File extends Element
1010
{
@@ -38,6 +38,7 @@ protected function getOutput()
3838

3939
if ($this->hasFile()) {
4040
$files = $this->listFiles();
41+
4142
$output = $files
4243
. ($this->forceDelete ? $this->detachLink() : '');
4344
}
@@ -62,15 +63,10 @@ protected function getInput()
6263
*/
6364
protected function listFiles()
6465
{
65-
$files = [];
66-
67-
foreach ($this->value()->getConfig()->styles as $style) {
68-
$files[] = link_to($this->value()->url($style->name), $this->value()->originalFilename());
69-
}
70-
71-
$files = implode(' ', $files);
72-
73-
return $files;
66+
return link_to(
67+
$this->value()->url('original'),
68+
$this->value()->originalFilename()
69+
);
7470
}
7571

7672
/**
@@ -83,23 +79,21 @@ protected function hasFile()
8379

8480
/**
8581
* @return string
86-
*
87-
* @throws \Terranet\Administrator\Exception
8882
*/
8983
protected function detachLink()
9084
{
9185
return ''
92-
. '<div style="margin-top: 10px;">'
93-
. link_to_route('scaffold.delete_attachment', 'Delete file', [
94-
'module' => app('scaffold.module'),
95-
'attachment' => $this->getName(),
96-
'id' => $this->getRepository()->getKey(),
97-
], [
98-
'onclick' => 'return confirm(\'Are you sure?\');',
99-
'class' => 'btn btn-danger',
100-
'style' => 'padding: 2px 46px;',
101-
])
102-
. '</div>';
86+
. '<div style="margin-top: 10px;">'
87+
. link_to_route('scaffold.delete_attachment', 'Delete file', [
88+
'module' => app('scaffold.module'),
89+
'attachment' => $this->getName(),
90+
'id' => $this->getRepository()->getKey(),
91+
], [
92+
'onclick' => 'return confirm(\'Are you sure?\');',
93+
'class' => 'btn btn-danger',
94+
'style' => 'padding: 2px 46px;',
95+
])
96+
. '</div>';
10397
}
10498

10599
/**

src/Form/Type/Image.php

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
namespace Terranet\Administrator\Form\Type;
44

55
use Coduo\PHPHumanizer\StringHumanizer;
6-
use Terranet\Administrator\Exception;
76

87
class Image extends File
98
{
@@ -19,20 +18,19 @@ protected function listFiles()
1918
{
2019
$files = [];
2120

22-
$styles = $this->value()->getConfig()->styles;
23-
24-
foreach ($styles as $style) {
25-
list($w, $h) = $this->getThumbnailSize($style);
21+
if (!array_has($variants = $this->value()->getConfig()['variants'], 'original')) {
22+
$variants['original'] = 'original';
23+
}
24+
foreach ($variants as $name => $style) {
25+
list($w, $h) = $this->getThumbnailSize($style, $name);
2626

2727
$img =
28-
'<a href="' . $this->value()->url($style->name) . '" class="fancybox" style="' . static::$hrefStyle . '">' .
29-
' <img src="' . $this->value()->url($style->name) . '" style="width: ' . ($w ?: 'auto') . 'px; height: ' . ($h ?: 'auto') . 'px;" />' .
30-
' <div>' .
31-
' ' . StringHumanizer::humanize($style->name) .
32-
' </div>' .
28+
'<a rel="' . str_slug($this->getFormName()) . '" href="' . $this->value()->url($name) . '" class="fancybox" style="' . static::$hrefStyle . '">' .
29+
' <img src="' . $this->value()->url($name) . '" style="width: ' . ($w ? "{$w}px" : 'auto') . '; height: ' . ($h ? "{$h}px" : 'auto') . '" />' .
30+
' <div>' . StringHumanizer::humanize($name) . '</div>' .
3331
'</a>';
3432

35-
$files[$style->name] = $img;
33+
$files[$name] = $img;
3634
}
3735

3836
$columnStart = '<div style="' . static::$blockStyle . '">';
@@ -49,13 +47,15 @@ protected function isOriginal($style)
4947
return 'original' == $style->name;
5048
}
5149

52-
protected function dimensions($style)
50+
protected function dimensions($style, $name)
5351
{
54-
if ($style->dimensions && str_contains('x', $style->dimensions)) {
55-
return array_map('intval', explode('x', $style->dimensions));
52+
$dimensions = array_get($style, 'resize.dimensions');
53+
54+
if ($dimensions && str_contains('x', $dimensions)) {
55+
return array_map('intval', explode('x', $dimensions));
5656
}
5757

58-
if (!$size = @getimagesize($this->value()->path($style->name))) {
58+
if (!$size = @getimagesize($this->value()->path($name))) {
5959
return [1, 1];
6060
}
6161

@@ -64,16 +64,18 @@ protected function dimensions($style)
6464

6565
/**
6666
* @param $style
67+
* @param $name
68+
*
6769
* @return array
6870
*/
69-
protected function getThumbnailSize($style)
71+
protected function getThumbnailSize($style, $name)
7072
{
71-
list($w, $h) = $this->dimensions($style);
73+
list($w, $h) = $this->dimensions($style, $name);
7274

7375
$ratio = $this->thumbSize / min(($w ?: $h), ($h ?: $w));
7476

75-
$w = (int) round($w * $ratio, 0);
76-
$h = (int) round($h * $ratio, 0);
77+
$w = (int)round($w * $ratio, 0);
78+
$h = (int)round($h * $ratio, 0);
7779

7880
return [$w, $h];
7981
}

src/ServiceProvider.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22

33
namespace Terranet\Administrator;
44

5-
use Codesleeve\LaravelStapler\Providers\L5ServiceProvider as StaplerServiceProvider;
5+
use Pingpong\Menus\MenuFacade;
66
use Collective\Html\FormFacade;
77
use Collective\Html\HtmlFacade;
88
use Collective\Html\HtmlServiceProvider;
9+
use Pingpong\Menus\MenusServiceProvider;
910
use Creativeorange\Gravatar\Facades\Gravatar;
1011
use Creativeorange\Gravatar\GravatarServiceProvider;
12+
use Czim\Paperclip\Providers\PaperclipServiceProvider;
13+
use Terranet\Administrator\Providers\EventServiceProvider;
1114
use DaveJamesMiller\Breadcrumbs\Facade as BreadcrumbsFacade;
12-
use DaveJamesMiller\Breadcrumbs\ServiceProvider as BreadcrumbsServiceProvider;
13-
use Illuminate\Support\ServiceProvider as BaseServiceProvider;
14-
use Pingpong\Menus\MenuFacade;
15-
use Pingpong\Menus\MenusServiceProvider;
1615
use Terranet\Administrator\Providers\ArtisanServiceProvider;
16+
use Illuminate\Support\ServiceProvider as BaseServiceProvider;
1717
use Terranet\Administrator\Providers\ContainersServiceProvider;
18-
use Terranet\Administrator\Providers\EventServiceProvider;
18+
use DaveJamesMiller\Breadcrumbs\ServiceProvider as BreadcrumbsServiceProvider;
1919

2020
class ServiceProvider extends BaseServiceProvider
2121
{
@@ -94,7 +94,7 @@ public function register()
9494
'Html' => HtmlFacade::class,
9595
'Form' => FormFacade::class,
9696
],
97-
StaplerServiceProvider::class,
97+
PaperclipServiceProvider::class,
9898
MenusServiceProvider::class => [
9999
'AdminNav' => MenuFacade::class,
100100
],

0 commit comments

Comments
 (0)