From c3486f9b8e88391c05d4aa0e2fd075de1ebbb520 Mon Sep 17 00:00:00 2001 From: aina-esokia Date: Fri, 31 Aug 2018 16:10:19 +0400 Subject: [PATCH] allow svg logo and change gabari --- .../PersonalisationLogoFormType.php | 4 ++++ lib/classes/appbox.php | 12 +++++++---- resources/www/_shared/styles/_main-menu.scss | 4 +--- resources/www/admin/styles/main.scss | 4 ++-- .../web/admin/personalisation_logo.html.twig | 21 ++++++++++++------- templates/web/common/menubar.html.twig | 4 +++- 6 files changed, 32 insertions(+), 17 deletions(-) diff --git a/lib/Alchemy/Phrasea/Form/Configuration/PersonalisationLogoFormType.php b/lib/Alchemy/Phrasea/Form/Configuration/PersonalisationLogoFormType.php index eea4f6e99d..f6b635461e 100644 --- a/lib/Alchemy/Phrasea/Form/Configuration/PersonalisationLogoFormType.php +++ b/lib/Alchemy/Phrasea/Form/Configuration/PersonalisationLogoFormType.php @@ -36,6 +36,10 @@ class PersonalisationLogoFormType extends AbstractType 'label' => false, ]); + $builder->add('fileType', 'hidden', [ + 'label' => false, + ]); + } public function getName() diff --git a/lib/classes/appbox.php b/lib/classes/appbox.php index e6f9307965..c75b5cb40e 100644 --- a/lib/classes/appbox.php +++ b/lib/classes/appbox.php @@ -97,14 +97,18 @@ class appbox extends base public function write_application_logo(Filesystem $filesystem, $blob) { - $logo_path = $this->app['root.path'] . '/www/custom/minilogos/personalize_logo.png'; + $logo_path = $this->app['root.path'] . '/www/custom/minilogos/personalize_logo.'; - $data = str_replace('data:image/png;base64,', '', $blob); - $data = str_replace(' ', '+', $data); + list($type, $imageData) = explode(';', $blob); + list(,$extension) = explode('/',$type); + list(,$imageData) = explode(',', $imageData); + + $data = str_replace(' ', '+', $imageData); $data = base64_decode($data); + $extension= ($extension=='svg+xml')?'svg':$extension; try{ - $filesystem->dumpFile($logo_path, $data); + $filesystem->dumpFile($logo_path.$extension, $data); }catch(\Exception $e){ return $e->getMessage(); } diff --git a/resources/www/_shared/styles/_main-menu.scss b/resources/www/_shared/styles/_main-menu.scss index 0466439f69..355d50f806 100644 --- a/resources/www/_shared/styles/_main-menu.scss +++ b/resources/www/_shared/styles/_main-menu.scss @@ -61,9 +61,7 @@ $mainMenuBottomBorder: none !default; display: inline-block; } #mainLogo { - margin:0 10px; - margin-top: 3px; - + margin:0 5px; } li { display: inline-block; diff --git a/resources/www/admin/styles/main.scss b/resources/www/admin/styles/main.scss index eb2052db1e..fd65698099 100644 --- a/resources/www/admin/styles/main.scss +++ b/resources/www/admin/styles/main.scss @@ -783,8 +783,8 @@ span.simplecolorpicker.picker { margin-left: 10px; } .image-container { - height: 42px; - width: 52px; + height: 41px; + width: 120px; border: 1px solid #979797; display: block; } diff --git a/templates/web/admin/personalisation_logo.html.twig b/templates/web/admin/personalisation_logo.html.twig index a7424d5e6c..a68853f969 100644 --- a/templates/web/admin/personalisation_logo.html.twig +++ b/templates/web/admin/personalisation_logo.html.twig @@ -5,7 +5,7 @@ {{ form_label(form.logoChoice[0]) }}
gabari + src="data:image/png;base64,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"/>
{{ 'prod::setup: download gabari' | trans }} @@ -17,7 +17,10 @@
{% if app['conf'].get(['registry', 'general', 'personalize-logo-choice', 'personalizeFile']) == 'true' %} - + {% set extension = app['conf'].get(['registry', 'general', 'personalize-logo-choice', 'fileType']) %} + {% set personalise_path = '/custom/minilogos/personalize_logo.' ~ extension %} + + {% endif %}
@@ -27,6 +30,7 @@
{{ form_widget(form.personalizeFile) }} + {{ form_widget(form.fileType) }} @@ -91,7 +95,7 @@ h = this.height; var ext = this.file.type.split('/').pop().toLowerCase(); - if (ext != 'png') { + if (ext != 'png' && ext != 'svg+xml') { $('#general_personalize-logo-choice_personalizeLogoInput').val(""); $('#error-text').text(errorFileType); $('#error-text').show(); @@ -100,7 +104,7 @@ return false; } - if (h > 42 ) { + if (h > 41 || w > 120 ) { $('#error-text').text(errorDimension); $('#error-text').show(); $('#help-text').hide(); @@ -118,10 +122,9 @@ $('#help-text').hide(); $('#personalize-image-container').empty().append(img); }, { - fileType: /^image\/(png)$/, maxSize: 5242880, // 5MB - maxWidth: 52, - maxHeight: 42, + maxWidth: 120, + maxHeight: 41, }); }); @@ -137,6 +140,10 @@ success: function (data) { if(data === 'success'){ $('#general_personalize-logo-choice_personalizeFile').val(true); + if(ext==='svg+xml'){ + ext = 'svg'; + } + $('#general_personalize-logo-choice_fileType').val(ext); }else{ $('#general_personalize-logo-choice_personalizeFile').val(false); } diff --git a/templates/web/common/menubar.html.twig b/templates/web/common/menubar.html.twig index 008cfbae04..3b2d346cfa 100644 --- a/templates/web/common/menubar.html.twig +++ b/templates/web/common/menubar.html.twig @@ -6,8 +6,10 @@ {% if app['conf'].get(['registry', 'general', 'personalize-logo-choice', 'logoChoice']) == 'personalize' and app['conf'].get(['registry', 'general', 'personalize-logo-choice', 'personalizeFile']) == 'true' %} + {% set extension = app['conf'].get(['registry', 'general', 'personalize-logo-choice', 'fileType']) %} + {% set personalise_path = '/custom/minilogos/personalize_logo.' ~ extension %} - + {% else %}