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]) }}

+ 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 %}