diff --git a/formulaires/configurer_tarteaucitron_ouverture.html b/formulaires/configurer_tarteaucitron_ouverture.html index 765b24e..398e2cf 100644 --- a/formulaires/configurer_tarteaucitron_ouverture.html +++ b/formulaires/configurer_tarteaucitron_ouverture.html @@ -3,7 +3,7 @@ [
(#ENV*{message_ok})
] [(#ENV*{message_erreur})
] - - + \ No newline at end of file diff --git a/formulaires/configurer_tarteaucitron_ouverture.php b/formulaires/configurer_tarteaucitron_ouverture.php index 8663231..c1b26ea 100644 --- a/formulaires/configurer_tarteaucitron_ouverture.php +++ b/formulaires/configurer_tarteaucitron_ouverture.php @@ -1,13 +1,125 @@ preparer_input_class( + 'bigup', + ['previsualiser' => true, 'editer_class' => ''] + ); + return $formulaire; +} + +// Déclaration des champs du formulaire et de leur valeur par défaut +function formulaires_configurer_tarteaucitron_ouverture_data() : array { + return [ + 'ouverture' => "", + 'iconPosition' => "BottomRight", + 'cookieslist' => "", // array("false") + 'icon' => _DIR_IMG . "tarteaucitron_icon.png", + ]; +} + +function formulaires_configurer_tarteaucitron_ouverture_charger_dist(){ + $data = formulaires_configurer_tarteaucitron_ouverture_data(); + + $valeurs = array( + 'ouverture' => lire_config('tarteaucitron/ouverture'), + 'iconPosition' => lire_config('tarteaucitron/iconPosition', $data['iconPosition']), + 'cookieslist' => lire_config('tarteaucitron/cookieslist'), + 'upload_icon' => '' + ); + + if (file_exists($data['icon'])) { + $valeurs["src_img"] = $data['icon']; + } + + // Nécessaire pour bigup + $valeurs['_bigup_rechercher_fichiers'] = true; + + return $valeurs; +} + +function formulaires_configurer_tarteaucitron_ouverture_verifier_dist(){ + $erreurs = array(); + + if (!in_array(_request("ouverture"),array('','image','alertSmall'))) { + $erreurs['ouverture'] = _T('avis_1_erreur_saisie'); + } + + if (!in_array(_request("iconPosition"),array('BottomRight','BottomLeft','TopRight','TopLeft'))) { + $erreurs['iconPosition'] = _T('avis_1_erreur_saisie'); + } + + if (_request("supprimer_icon")) { + // rien à vérifier + } elseif (!empty($_FILES['upload_icon'])) { + $file = $_FILES['upload_icon']; + $chemin = $file['tmp_name']; + $infos_image = @getImageSize($chemin); + $largeur = $infos_image[0]; + $hauteur = $infos_image[1]; + + if (($largeur != 50) && ($hauteur != 50)) { + $erreurs['upload_icon'] = _T('tarteaucitron:erreur_taille_icone', array('name' => $file['name'])); + } + + include_spip('action/ajouter_documents'); + $extension = pathinfo($file['name'], PATHINFO_EXTENSION); + $extension = corriger_extension(strtolower($extension)); + + if (!in_array($extension, ['png'])) { + $erreurs['upload_icon'] = _T('erreur_type_fichier'); + } + + if (array_key_exists('upload_icon',$erreurs)) { + @unlink($file['tmp_name']); + } + } + + return $erreurs; +} + +function formulaires_configurer_tarteaucitron_ouverture_traiter_dist(){ + $retours = [ + 'message_ok' => _T('config_info_enregistree'), + 'editable' => true, + ]; + + $data = formulaires_configurer_tarteaucitron_ouverture_data(); + $dest = $data['icon']; + + if (_request("supprimer_icon")) { + ecrire_config('tarteaucitron/icon', ''); + @unlink($dest); + } elseif (!empty($_FILES['upload_icon'])) { + $file = $_FILES['upload_icon']; + include_spip('inc/documents'); + deplacer_fichier_upload($file['tmp_name'], $dest); + ecrire_config('tarteaucitron/icon', $dest); + } + + include_spip('inc/invalideur'); + suivre_invalideur('1'); # tout effacer + + if ((!ecrire_config('tarteaucitron/ouverture',_request('ouverture'))) || + (!ecrire_config('tarteaucitron/iconPosition',_request('iconPosition'))) || + (!ecrire_config('tarteaucitron/cookieslist',_request('cookieslist')))) + { + $ret['message_erreur'] = _T('erreur_technique_enregistrement_impossible'); + } + + return $retours; +} + function formulaires_configurer_tarteaucitron_ouverture_saisies_dist(){ - // $saisies est un tableau décrivant les saisies à afficher dans le formulaire de configuration $saisies = array( array( 'saisie' => 'selection', @@ -26,9 +138,8 @@ function formulaires_configurer_tarteaucitron_ouverture_saisies_dist(){ 'saisie' => 'selection', 'options' => array( 'nom' => 'iconPosition', - 'option_intro' => '<:tarteaucitron:cfg_choose_option:>', 'label' => '<:tarteaucitron:cfg_iconposition:>', - 'defaut' => 'BottomRight', + 'cacher_option_intro' => 'oui', 'data' => array( 'BottomRight' => '<:tarteaucitron:cfg_position_bd:>', 'BottomLeft' => '<:tarteaucitron:cfg_position_bg:>', @@ -38,15 +149,6 @@ function formulaires_configurer_tarteaucitron_ouverture_saisies_dist(){ 'afficher_si' => '@ouverture@ == "image"' ) ), - array( - 'saisie' => 'selecteur_document', - 'options' => array( - 'nom' => 'icon', - 'label' => '<:tarteaucitron:cfg_icon:>', - 'media' => 'image', - 'afficher_si' => '@ouverture@ == "image"' - ) - ), array( 'saisie' => 'checkbox', 'options' => array( diff --git a/javascript/tarteaucitron_config.html b/javascript/tarteaucitron_config.html index efa754d..1f7d065 100644 --- a/javascript/tarteaucitron_config.html +++ b/javascript/tarteaucitron_config.html @@ -15,9 +15,7 @@ /* Gestion de la petite icone Cookie */ "showIcon": [(#CONFIG{tarteaucitron/ouverture}|=={'image'}|?{true,false})], /* Show cookie Icon or not */ -