]> _ Git - cubeextranet.git/commitdiff
wip #1981 @2
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Wed, 14 Mar 2018 14:54:39 +0000 (14:54 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Wed, 14 Mar 2018 14:54:39 +0000 (14:54 +0000)
inc/ws/Controlleur/class.ws.flash.php
inc/ws/Metier/class.ws.theme.parametres.php

index cc7a863d970a6e596f255e07b830afb2552100bd..28115162e4f373ba366a2ab72a0f264d5db40c1d 100644 (file)
@@ -189,6 +189,7 @@ class wsFlash extends cubeFlashGateway {
                                continue;
                        }
                        $fname = cubeFiles::tidyName($infos['name']);
+                       $res = $fname;
                        $dir = WS_THEMES . '/' . $this->args['theme_id'] . '/';
                        $dest = $dir . $fname;
 
@@ -218,6 +219,16 @@ class wsFlash extends cubeFlashGateway {
                                $icotool->execute();
                        }
 
+                       if (in_array(strtolower(files::getExtension($dest)), array('svg'))) {
+                               // Optimize & rasterize SVG
+                               $orig = str_replace('.svg', '.o.svg', $dest);
+                               rename($dest, $orig);
+                               $png = str_replace('.svg', '.png', $dest);
+
+                               `/usr/local/bin/svgcleaner $orig $dest`;
+                               `convert -background none $dest $png`;
+                       }
+
                        $this->xml->addChild('file', $fname);
                        return;
                }
@@ -246,10 +257,25 @@ class wsFlash extends cubeFlashGateway {
                        }
                        $dest = $dir . $fname;
                        move_uploaded_file($infos['tmp_name'], $dest);
-                       if (in_array(strtolower(files::getExtension($dest)), array('flv', 'f4v', 'mp4'))) {
-                               // convert uploaded file as webvideo (ogv and mp4)
-                               wsTools::encodeWebVideos($dest, null, true, false);
+                       switch (strtolower(files::getExtension($dest))) {
+                               case 'flv':
+                               case 'f4v':
+                               case 'mp4':
+                                       // convert uploaded file as webvideo (ogv and mp4)
+                                       wsTools::encodeWebVideos($dest, null, true, false);
+                                       break;
+                               case 'svg':
+                                       // Optimize & rasterize SVG
+                                       $orig = str_replace('.svg', '.o.svg', $dest);
+                                       rename($dest, $orig);
+                                       $png = str_replace('.svg', '.png', $dest);
+                                       `/usr/local/bin/svgcleaner $orig $dest`;
+                                       `convert -background none $dest $png`;
+                                       break;
+                               default:
+                                       break;
                        }
+
                        $this->xml->addChild('file', $fname);
                        return;
                }
index 5f51385b9495e052b0109130d301416d4bf0d1ff..21106428d38c61fbf3553b161736c2b7b7e614ec 100644 (file)
@@ -211,8 +211,8 @@ class wsThemeParametres extends wsParametres {
                /* Menu bar logo */\r
 \r
                $imageFilter = new stdClass();\r
-               $imageFilter->name = __('Image PNG') . ' (*.png)';\r
-               $imageFilter->extensions = '*.png';\r
+               $imageFilter->name = __('Image PNG ou SVG') . ' (*.png, *.svg)';\r
+               $imageFilter->extensions = '*.svg;*.png';\r
 \r
                $this->fields['logo'] = array('type' => 'file', 'default' => 'menu_clientLogo.png', 'editable' => true,\r
                                              'label' => __('Logo'),\r