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/init.php');
|
||||
require_once(__DIR__ . '/includes/post_types.php');
|
||||
require_once(__DIR__ . '/includes/logos.php');
|
||||
require_once(__DIR__ . '/includes/columns.php');
|
||||
require_once(__DIR__ . '/includes/revue.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/renderPostsDatas.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
|
||||
------------------------------*/
|
||||
|
||||
/* <?xml version="1.0" encoding="utf-8"?> */
|
||||
|
||||
function cc_mime_types($mimes)
|
||||
function dynamiques_allow_svg_upload($mimes)
|
||||
{
|
||||
$mimes['svg'] = 'image/svg+xml';
|
||||
return $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', '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');
|
||||
|
||||
// #############################
|
||||
// AJOUT D'UN ESPACE LOGO CUSTOM
|
||||
// #############################
|
||||
// Debug: afficher les types MIME autorisés
|
||||
// write_log(get_allowed_mime_types());
|
||||
|
||||
// function add_logo_customizer_settings($wp_customize)
|
||||
// {
|
||||
// $wp_customize->add_setting('logo_semlex_dark');
|
||||
// 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);
|
||||
|
||||
// // Add a control to upload the hover logo
|
||||
// $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'logo_semlex_dark', array(
|
||||
// 'label' => 'Logo Semlex Sombre',
|
||||
// 'section' => 'title_tagline', //this is the section where the custom-logo from WordPress is
|
||||
// 'settings' => 'logo_semlex_dark',
|
||||
// 'priority' => 8 // show it just below the custom-logo
|
||||
// )));
|
||||
// }
|
||||
|
||||
// add_action('customize_register', 'add_logo_customizer_settings');
|
||||
// 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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user