carhop__dynamiques-theme__P.../includes/logos.php
Nonimart ede021029a
All checks were successful
continuous-integration/drone/push Build is passing
FEATURE Handling svg support
2025-07-01 17:34:39 +02:00

56 lines
1.5 KiB
PHP
Executable File

<?php
/** ------------------------------
ENABLE SVG
------------------------------*/
function dynamiques_allow_svg_upload($mimes)
{
// Autoriser SVG pour tous les utilisateurs connectés
$mimes['svg'] = 'image/svg+xml';
$mimes['svgz'] = 'image/svg+xml';
return $mimes;
}
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
// write_log(get_allowed_mime_types());
// Solution alternative : utiliser un hook plus tôt
function dynamiques_early_svg_support()
{
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);
// Désactiver la vérification stricte des types MIME pour SVG
function dynamiques_disable_mime_check($data, $file, $filename, $mimes)
{
if (pathinfo($filename, PATHINFO_EXTENSION) === 'svg') {
$data['ext'] = 'svg';
$data['type'] = 'image/svg+xml';
$data['proper_filename'] = $filename;
}
return $data;
}
add_filter('wp_check_filetype_and_ext', 'dynamiques_disable_mime_check', 10, 4);