From: Vincent Vanwaelscappel Date: Mon, 17 Jun 2019 17:14:07 +0000 (+0200) Subject: wip #2837 @2 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=c3b1c7fdde63eb99f70026bb13554f7f88cf656d;p=pmi.git wip #2837 @2 --- diff --git a/app/Models/Product.php b/app/Models/Product.php index 5add13e..49c7814 100644 --- a/app/Models/Product.php +++ b/app/Models/Product.php @@ -3,6 +3,7 @@ namespace App\Models; use Cubist\Backpack\app\Magic\Models\CubistMagicModel; +use Cubist\Util\Text; use Illuminate\Support\Str; class Product extends CubistMagicModel @@ -112,14 +113,13 @@ class Product extends CubistMagicModel 'type' => 'Markdown', 'tab' => 'Textes']); -// $this->addField(['name' => 'related', -// 'label' => 'Produits associés', -// 'type' => 'SelectFromModel', -// 'optionsmodel' => 'App\Models\Product', -// 'multiple' => true, -// 'tab'=>'Produits associés' -// ]); - + $this->addField(['name' => 'related', + 'label' => 'Produits associés', + 'type' => 'SelectFromModel', + 'optionsmodel' => 'App\Models\Product', + 'multiple' => true, + 'tab' => 'Produits associés' + ]); $this->addSpecifications(); } @@ -158,7 +158,7 @@ class Product extends CubistMagicModel continue; } $params = ['tab' => 'Spécifications', - 'name' => 's_' . Str::snake($spec->name), + 'name' => 's_' . Text::removeAccents(Str::snake($spec->name)), 'label' => $spec->name, 'fake' => true, 'store_in' => 'specifications', diff --git a/config/app.php b/config/app.php index 696ac99..2ea4754 100644 --- a/config/app.php +++ b/config/app.php @@ -41,6 +41,30 @@ return [ 'debug' => env('APP_DEBUG', false), + 'debug_blacklist' => [ + '_ENV' => [ + 'APP_KEY', + 'DB_PASSWORD', + 'REDIS_PASSWORD', + 'MAIL_PASSWORD', + 'PUSHER_APP_KEY', + 'PUSHER_APP_SECRET', + 'BACKPACK_LICENSE', + ], + '_SERVER' => [ + 'APP_KEY', + 'DB_PASSWORD', + 'REDIS_PASSWORD', + 'MAIL_PASSWORD', + 'PUSHER_APP_KEY', + 'PUSHER_APP_SECRET', + 'BACKPACK_LICENSE', + ], + '_POST' => [ + 'password', + ], + ], + /* |-------------------------------------------------------------------------- | Application URL diff --git a/config/medialibrary.php b/config/medialibrary.php new file mode 100644 index 0000000..9275e29 --- /dev/null +++ b/config/medialibrary.php @@ -0,0 +1,150 @@ + 'public', + + /* + * The maximum file size of an item in bytes. + * Adding a larger file will result in an exception. + */ + 'max_file_size' => 1024 * 1024 * 1024, + + /* + * This queue will be used to generate derived and responsive images. + * Leave empty to use the default queue. + */ + 'queue_name' => '', + + /* + * The fully qualified class name of the media model. + */ + 'media_model' => Spatie\MediaLibrary\Models\Media::class, + + 's3' => [ + /* + * The domain that should be prepended when generating urls. + */ + 'domain' => 'https://'.env('AWS_BUCKET').'.s3.amazonaws.com', + ], + + 'remote' => [ + /* + * Any extra headers that should be included when uploading media to + * a remote disk. Even though supported headers may vary between + * different drivers, a sensible default has been provided. + * + * Supported by S3: CacheControl, Expires, StorageClass, + * ServerSideEncryption, Metadata, ACL, ContentEncoding + */ + 'extra_headers' => [ + 'CacheControl' => 'max-age=604800', + ], + ], + + 'responsive_images' => [ + + /* + * This class is responsible for calculating the target widths of the responsive + * images. By default we optimize for filesize and create variations that each are 20% + * smaller than the previous one. More info in the documentation. + * + * https://docs.spatie.be/laravel-medialibrary/v7/advanced-usage/generating-responsive-images + */ + 'width_calculator' => Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator::class, + + /* + * By default rendering media to a responsive image will add some javascript and a tiny placeholder. + * This ensures that the browser can already determine the correct layout. + */ + 'use_tiny_placeholders' => true, + + /* + * This class will generate the tiny placeholder used for progressive image loading. By default + * the medialibrary will use a tiny blurred jpg image. + */ + 'tiny_placeholder_generator' => Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred::class, + ], + + /* + * When urls to files get generated, this class will be called. Leave empty + * if your files are stored locally above the site root or on s3. + */ + 'url_generator' => null, + + /* + * The class that contains the strategy for determining a media file's path. + */ + 'path_generator' => null, + + /* + * Medialibrary will try to optimize all converted images by removing + * metadata and applying a little bit of compression. These are + * the optimizers that will be used by default. + */ + 'image_optimizers' => [ + Spatie\ImageOptimizer\Optimizers\Jpegoptim::class => [ + '--strip-all', // this strips out all text information such as comments and EXIF data + '--all-progressive', // this will make sure the resulting image is a progressive one + ], + Spatie\ImageOptimizer\Optimizers\Pngquant::class => [ + '--force', // required parameter for this package + ], + Spatie\ImageOptimizer\Optimizers\Optipng::class => [ + '-i0', // this will result in a non-interlaced, progressive scanned image + '-o2', // this set the optimization level to two (multiple IDAT compression trials) + '-quiet', // required parameter for this package + ], + Spatie\ImageOptimizer\Optimizers\Svgo::class => [ + '--disable=cleanupIDs', // disabling because it is known to cause troubles + ], + Spatie\ImageOptimizer\Optimizers\Gifsicle::class => [ + '-b', // required parameter for this package + '-O3', // this produces the slowest but best results + ], + ], + + /* + * These generators will be used to create an image of media files. + */ + 'image_generators' => [ + Spatie\MediaLibrary\ImageGenerators\FileTypes\Image::class, + Spatie\MediaLibrary\ImageGenerators\FileTypes\Webp::class, + Spatie\MediaLibrary\ImageGenerators\FileTypes\Pdf::class, + Spatie\MediaLibrary\ImageGenerators\FileTypes\Svg::class, + Spatie\MediaLibrary\ImageGenerators\FileTypes\Video::class, + ], + + /* + * The engine that should perform the image conversions. + * Should be either `gd` or `imagick`. + */ + 'image_driver' => 'gd', + + /* + * FFMPEG & FFProbe binaries paths, only used if you try to generate video + * thumbnails and have installed the php-ffmpeg/php-ffmpeg composer + * dependency. + */ + 'ffmpeg_path' => env('FFMPEG_PATH', '/usr/bin/ffmpeg'), + 'ffprobe_path' => env('FFPROBE_PATH', '/usr/bin/ffprobe'), + + /* + * The path where to store temporary files while performing image conversions. + * If set to null, storage_path('medialibrary/temp') will be used. + */ + 'temporary_directory_path' => null, + + /* + * Here you can override the class names of the jobs used by this package. Make sure + * your custom jobs extend the ones provided by the package. + */ + 'jobs' => [ + 'perform_conversions' => Spatie\MediaLibrary\Jobs\PerformConversions::class, + 'generate_responsive_images' => Spatie\MediaLibrary\Jobs\GenerateResponsiveImages::class, + ], +]; diff --git a/public/.htaccess b/public/.htaccess index 8a54ec9..dd46d0c 100644 --- a/public/.htaccess +++ b/public/.htaccess @@ -5,10 +5,12 @@ RewriteEngine On + # Redirect to https if accessing from http RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} (pm-instrumentation.com)$ RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] + # Redirect first dev space to staging RewriteCond %{HTTP_HOST} =pmi.dev.cubedesigners.com RewriteRule ^(.*)$ https://staging.pm-instrumentation.com/$1 [R=301,L]