jonnybarnes.uk/app/Providers/AppServiceProvider.php
Jonny Barnes 39ffb2c225 Responsive images
Squashed commit of the following:

commit 4f62b48b77b0b34f2f556083e2271f46d5bd023e
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Sep 16 11:38:26 2017 +0100

    Update changelog

commit 2c41451b24839dfa9a37e6f92bc542cef999aaa9
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Sep 16 11:38:14 2017 +0100

    run migrations in deploy script

commit 2b1c3af725d366479399afcd8059e9abebade9ee
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Sep 15 23:38:08 2017 +0100

    Modified CSS for note img links

commit fcd6217da3443e28764ed7a810620b54d04b223e
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Sep 15 23:19:42 2017 +0100

    Add responsive image markup

commit d900d8067dbf36180fd1bdaca7d34421ba85a413
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Sep 15 23:19:24 2017 +0100

    Fix issues with logic

commit c03d18c5e02c041092ce401f2a814e2a4f8e6fad
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Sep 15 20:33:39 2017 +0100

    Use new column name

commit 21d40eab48f9f038cf8ea82880b58d68ecdf0549
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Sep 15 20:33:12 2017 +0100

    Use text column type to give future leeway with how we do this

commit abb3b3b1e14a8de58cac8dffcc06d3b8bb06119d
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Sep 15 19:36:29 2017 +0100

    Some tests of the new job

commit 0b11093df16a8c0047520322185706bbdc52c0c4
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Sep 15 19:36:13 2017 +0100

    This job creates smaller resolution images

commit 93449ad2b367bea33e84ec94486125467eaf0394
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Sep 15 19:35:52 2017 +0100

    Save the media directly to S3, then dispatch the image processing job

commit fff232607c18a6681ea4414b6e54c006614f4e5e
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Sep 15 19:35:06 2017 +0100

    Store the image library’s preferences

commit 0b908b99a79f8a1294d2c59cd731c18538ffb6ce
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Sep 15 19:33:28 2017 +0100

    Configure the ligrary to use imagick

commit ed13e55e0ce1c0e94860259bf0b1d97a433c89b1
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Sep 15 19:32:55 2017 +0100

    Add the intervention/image package
2017-09-16 11:39:36 +01:00

73 lines
2 KiB
PHP

<?php
namespace App\Providers;
use App\Tag;
use App\Note;
use Validator;
use Illuminate\Http\Request;
use Laravel\Dusk\DuskServiceProvider;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
// Validate photos for a maximum filesize
Validator::extend('photosize', function ($attribute, $value, $parameters, $validator) {
if ($value[0] !== null) {
foreach ($value as $file) {
if ($file->getSize() > 5000000) {
return false;
}
}
}
return true;
});
//Add tags for notes
Note::created(function ($note) {
$tagsToAdd = [];
preg_match_all('/#([^\s<>]+)\b/', $note->note, $tags);
foreach ($tags[1] as $tag) {
$tag = Tag::normalizeTag($tag);
}
$tags = array_unique($tags[1]);
foreach ($tags as $tag) {
$tag = Tag::firstOrCreate(['tag' => $tag]);
$tagsToAdd[] = $tag->id;
}
if (count($tagsToAdd) > 0) {
$note->tags()->attach($tagsToAdd);
}
});
// Request AS macro
Request::macro('wantsActivityStream', function () {
return str_contains(mb_strtolower($this->header('Accept')), 'application/activity+json');
});
// configure Intervention/Image
$this->app->bind('Intervention\Image\ImageManager', function () {
return new \Intervention\Image\ImageManager(['driver' => config('image.driver')]);
});
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
if ($this->app->environment('local', 'testing')) {
$this->app->register(DuskServiceProvider::class);
}
}
}