]> _ Git - cubist_cms-back.git/commitdiff
wip #2965 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 28 Aug 2019 18:30:54 +0000 (20:30 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 28 Aug 2019 18:30:54 +0000 (20:30 +0200)
src/CubistBackpackServiceProvider.php
src/app/Http/Controllers/CubistPWAController.php
src/app/Magic/Models/CubistMagicPageModel.php
src/app/Magic/Models/Settings.php
src/resources/views/favicon.blade.php [new file with mode: 0644]

index 6fb611100365caf5d7964c97b5685021c6f46f5c..d9f768ef724d8f0d9b279d15f86e3af130d101ae 100644 (file)
@@ -40,6 +40,10 @@ class CubistBackpackServiceProvider extends ServiceProvider
         Blade::directive('vendor_asset', function ($path) {
             return vendor_asset($path);
         });
+
+        Blade::directive('favicon', function () {
+            return "<?php echo \$__env->make('" . self::NAMESPACE . "::favicon', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>";
+        });
     }
 
 
index 1499e09147b524fc678f3ee02a11e13edb112468..e943f4bc0863fee74e32c01ce6adad4d604ab1cf 100644 (file)
@@ -7,6 +7,10 @@ use Illuminate\Http\Request;
 
 class CubistPWAController extends CubistFrontController
 {
+    public static $androidSizes = [36, 48, 72, 96, 144, 192, 256, 512, 1024];
+    public static $iosSizes = [57, 72, 76, 114, 120, 144, 152, 167, 182];
+    public static $faviconSizes = [16, 32,48,96,144, 192,256,384,512];
+
     public function manifest(Request $request)
     {
         $icons = [];
index ca5ebdbc0d01bed8e907da3d502e6cd7e889d7c6..3f4bd0c80db1d4d0d0f36d633753d83a976442e9 100644 (file)
@@ -76,5 +76,10 @@ class CubistMagicPageModel extends CubistMagicModel
             'fake' => true,
             'store_in' => 'seo',
         ]);
+
+//        $this->addField(['name'=>'url_alias',
+//            'label'=>'URL Alias',
+//            'type'=>'Table',
+//            'hint'=>'Liste des anciennes URL correspondant à cette page. Peut être utilisé lors de la migration ']);
     }
 }
index 1d6e437b5eaadf47e44f8e50583bcbc67a45bb49..83cd9864da71764599007ddbd574396573c1f3d4 100644 (file)
@@ -3,6 +3,8 @@
 
 namespace Cubist\Backpack\app\Magic\Models;
 
+use Cubist\Backpack\app\Http\Controllers\CubistPWAController;
+use Spatie\MediaLibrary\Models\Media;
 
 class Settings extends CubistMagicModel
 {
@@ -13,6 +15,26 @@ class Settings extends CubistMagicModel
         'plural' => 'paramètres',
         'oneinstance' => true];
 
+    public function registerMediaConversions(Media $media = null)
+    {
+        foreach (CubistPWAController::$androidSizes as $size) {
+            $this->addMediaConversion('favicon_android_' . $size)
+                ->width($size)
+                ->height($size)
+                ->format('png');
+        }
+        foreach (CubistPWAController::$iosSizes as $size) {
+            $this->addMediaConversion('favicon_ios_' . $size)
+                ->width($size)
+                ->height($size)->format('png');
+        }
+        foreach (CubistPWAController::$faviconSizes as $size) {
+            $this->addMediaConversion('favicon_' . $size)
+                ->width($size)
+                ->height($size)->format('png');
+        }
+    }
+
     public function setFields()
     {
         parent::setFields();
diff --git a/src/resources/views/favicon.blade.php b/src/resources/views/favicon.blade.php
new file mode 100644 (file)
index 0000000..e14cdaf
--- /dev/null
@@ -0,0 +1,6 @@
+@foreach(Cubist\Backpack\app\Http\Controllers\CubistPWAController::$faviconSizes as $size)
+    <link rel="icon" type="image/png" sizes="{{$size}}x{{$size}}" href="{{ $global->getImageUrl('favicon','favicon_'.$size) }}" />
+@endforeach
+@foreach(Cubist\Backpack\app\Http\Controllers\CubistPWAController::$iosSizes as $size)
+    <link rel="apple-touch-icon" sizes="{{$size}}x{{$size}}" href="{{ $global->getImageUrl('favicon_ios','favicon_ios_'.$size) }}" type="image/png" />
+@endforeach