|
|
|
@ -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(
|
|
|
|
|