FEATURE Handling svg support
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
882c227386
commit
ede021029a
|
|
@ -3,6 +3,7 @@
|
||||||
require_once(__DIR__ . '/includes/errorlog.php');
|
require_once(__DIR__ . '/includes/errorlog.php');
|
||||||
require_once(__DIR__ . '/includes/init.php');
|
require_once(__DIR__ . '/includes/init.php');
|
||||||
require_once(__DIR__ . '/includes/post_types.php');
|
require_once(__DIR__ . '/includes/post_types.php');
|
||||||
|
require_once(__DIR__ . '/includes/logos.php');
|
||||||
require_once(__DIR__ . '/includes/columns.php');
|
require_once(__DIR__ . '/includes/columns.php');
|
||||||
require_once(__DIR__ . '/includes/revue.php');
|
require_once(__DIR__ . '/includes/revue.php');
|
||||||
require_once(__DIR__ . '/includes/auteurs.php');
|
require_once(__DIR__ . '/includes/auteurs.php');
|
||||||
|
|
@ -10,3 +11,20 @@ require_once(__DIR__ . '/includes/article.php');
|
||||||
require_once(__DIR__ . '/includes/api.php');
|
require_once(__DIR__ . '/includes/api.php');
|
||||||
require_once(__DIR__ . '/includes/renderPostsDatas.php');
|
require_once(__DIR__ . '/includes/renderPostsDatas.php');
|
||||||
require_once(__DIR__ . '/includes/utilities.php');
|
require_once(__DIR__ . '/includes/utilities.php');
|
||||||
|
|
||||||
|
// Support SVG - Solution de secours
|
||||||
|
add_filter('upload_mimes', function ($mimes) {
|
||||||
|
$mimes['svg'] = 'image/svg+xml';
|
||||||
|
$mimes['svgz'] = 'image/svg+xml';
|
||||||
|
return $mimes;
|
||||||
|
}, 999);
|
||||||
|
|
||||||
|
// Forcer la reconnaissance des fichiers SVG
|
||||||
|
add_filter('wp_check_filetype_and_ext', function ($data, $file, $filename, $mimes) {
|
||||||
|
if (strtolower(pathinfo($filename, PATHINFO_EXTENSION)) === 'svg') {
|
||||||
|
$data['ext'] = 'svg';
|
||||||
|
$data['type'] = 'image/svg+xml';
|
||||||
|
$data['proper_filename'] = $filename;
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
|
}, 10, 4);
|
||||||
|
|
|
||||||
|
|
@ -4,31 +4,52 @@
|
||||||
ENABLE SVG
|
ENABLE SVG
|
||||||
------------------------------*/
|
------------------------------*/
|
||||||
|
|
||||||
/* <?xml version="1.0" encoding="utf-8"?> */
|
function dynamiques_allow_svg_upload($mimes)
|
||||||
|
|
||||||
function cc_mime_types($mimes)
|
|
||||||
{
|
{
|
||||||
|
// Autoriser SVG pour tous les utilisateurs connectés
|
||||||
$mimes['svg'] = 'image/svg+xml';
|
$mimes['svg'] = 'image/svg+xml';
|
||||||
|
$mimes['svgz'] = 'image/svg+xml';
|
||||||
return $mimes;
|
return $mimes;
|
||||||
}
|
}
|
||||||
add_filter('upload_mimes', 'cc_mime_types');
|
add_filter('upload_mimes', 'dynamiques_allow_svg_upload', 10, 1);
|
||||||
|
|
||||||
|
// Vérifier les permissions utilisateur pour SVG
|
||||||
|
function dynamiques_check_svg_permissions($file)
|
||||||
|
{
|
||||||
|
if ($file['type'] === 'image/svg+xml') {
|
||||||
|
// Autoriser pour les administrateurs et éditeurs
|
||||||
|
if (current_user_can('upload_files')) {
|
||||||
|
return $file;
|
||||||
|
} else {
|
||||||
|
$file['error'] = 'Vous n\'avez pas les permissions pour uploader des fichiers SVG.';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $file;
|
||||||
|
}
|
||||||
|
add_filter('wp_handle_upload_prefilter', 'dynamiques_check_svg_permissions');
|
||||||
|
|
||||||
// #############################
|
// Debug: afficher les types MIME autorisés
|
||||||
// AJOUT D'UN ESPACE LOGO CUSTOM
|
// write_log(get_allowed_mime_types());
|
||||||
// #############################
|
|
||||||
|
|
||||||
// function add_logo_customizer_settings($wp_customize)
|
// Solution alternative : utiliser un hook plus tôt
|
||||||
// {
|
function dynamiques_early_svg_support()
|
||||||
// $wp_customize->add_setting('logo_semlex_dark');
|
{
|
||||||
|
add_filter('upload_mimes', function ($mimes) {
|
||||||
|
$mimes['svg'] = 'image/svg+xml';
|
||||||
|
$mimes['svgz'] = 'image/svg+xml';
|
||||||
|
return $mimes;
|
||||||
|
}, 1);
|
||||||
|
}
|
||||||
|
add_action('init', 'dynamiques_early_svg_support', 1);
|
||||||
|
|
||||||
// // Add a control to upload the hover logo
|
// Désactiver la vérification stricte des types MIME pour SVG
|
||||||
// $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'logo_semlex_dark', array(
|
function dynamiques_disable_mime_check($data, $file, $filename, $mimes)
|
||||||
// 'label' => 'Logo Semlex Sombre',
|
{
|
||||||
// 'section' => 'title_tagline', //this is the section where the custom-logo from WordPress is
|
if (pathinfo($filename, PATHINFO_EXTENSION) === 'svg') {
|
||||||
// 'settings' => 'logo_semlex_dark',
|
$data['ext'] = 'svg';
|
||||||
// 'priority' => 8 // show it just below the custom-logo
|
$data['type'] = 'image/svg+xml';
|
||||||
// )));
|
$data['proper_filename'] = $filename;
|
||||||
// }
|
}
|
||||||
|
return $data;
|
||||||
// add_action('customize_register', 'add_logo_customizer_settings');
|
}
|
||||||
|
add_filter('wp_check_filetype_and_ext', 'dynamiques_disable_mime_check', 10, 4);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user