|
|
|
@ -1,13 +1,125 @@
|
|
|
|
|
<?php |
|
|
|
|
if (!defined('_ECRIRE_INC_VERSION')) return; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
include_spip('inc/cvtupload'); |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Un simple formulaire de config, |
|
|
|
|
* on a juste à déclarer les saisies |
|
|
|
|
**/ |
|
|
|
|
* @param array $args |
|
|
|
|
* @param \Spip\Bigup\Formulaire $formulaire |
|
|
|
|
* @return \Spip\Bigup\Formulaire |
|
|
|
|
*/ |
|
|
|
|
// Nécessaire pour bigup |
|
|
|
|
function inc_bigup_medias_formulaire_configurer_tarteaucitron_ouverture_dist($args, $formulaire) { |
|
|
|
|
$formulaire->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( |
|
|
|
|