File "saisie_fichier.php"
Full path: /home/argothem/www/v4_old/plugins-dist/bigup/balise/saisie_fichier.php
File size: 2.56 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Saisie fichier spécifique
*
* @plugin Bigup
* @copyright 2016
* @author marcimat
* @licence GNU/GPL
* @package SPIP\Bigup\Fonctions
*/
if (!defined('_ECRIRE_INC_VERSION')) { return;
}
include_spip('balise/saisie');
/**
* Compile la balise `#SAISIE_FICHIER` qui retourne le code HTML de la saisie de formulaire indiquée.
*
* Identique à peu de choses près à la balise `#SAISIE`
* - ajoute `form = #ENV{form}`
* - ajoute `formulaire_args = #ENV{formulaire_args}`
* - ajoute `fichiers = #ENV{_bigup_fichiers}`
*
* Ces 2 premières infos sont utiles à la balise `#BIGUP_TOKEN`
* La liste des fichiers, elle, permet… à la saisie de lister les fichiers déjà présents.
*
* @syntaxe `#SAISIE_FICHIER{type,nom[,option=xx,...]}`
*
* @param Champ $p
* @return Champ
*/
function balise_SAISIE_FICHIER_dist($p) {
if (!class_exists('Pile')) {
$msg = [
'bigup:zbug_necessite_plugin',
[
'balise' => '#SAISIE_FICHIER',
'plugin' => 'saisies',
]
];
erreur_squelette($msg, $p);
return $p;
}
// on recupere les parametres sans les traduire en code d'execution php
$type_saisie = Pile::recuperer_et_supprimer_argument_balise(1, $p); // $type
$titre = Pile::recuperer_et_supprimer_argument_balise(1, $p); // $titre
// creer #ENV*{$titre} (* pour les cas de tableau serialises par exemple, que l'on veut reutiliser)
$env_titre = Pile::creer_balise('ENV', ['param' => [$titre], 'etoile' => '*']); // #ENV*{titre}
// créer #ENV{_bigup_fichiers}
$_bigup_fichiers = Pile::creer_et_ajouter_argument_balise(Pile::creer_balise('ENV'), '_bigup_fichiers');
// on modifie $p pour ajouter des arguments
// {nom=$titre, valeur=#ENV{$titre}, erreurs, type_saisie=$type, fond=saisies/_base}
$p = Pile::creer_et_ajouter_argument_balise($p, 'nom', $titre);
$p = Pile::creer_et_ajouter_argument_balise($p, 'valeur', $env_titre);
$p = Pile::creer_et_ajouter_argument_balise($p, 'form'); // ajouté par rapport à `#SAISIE`
$p = Pile::creer_et_ajouter_argument_balise($p, 'formulaire_args'); // ajouté par rapport à `#SAISIE`
$p = Pile::creer_et_ajouter_argument_balise($p, 'fichiers', $_bigup_fichiers); // ajouté par rapport à `#SAISIE`
$p = Pile::creer_et_ajouter_argument_balise($p, 'type_saisie', $type_saisie);
$p = Pile::creer_et_ajouter_argument_balise($p, 'erreurs');
$p = Pile::creer_et_ajouter_argument_balise($p, 'fond', 'saisies/_base');
// on appelle la balise #INCLURE
// avec les arguments ajoutes
if (function_exists('balise_INCLURE')) {
return balise_INCLURE($p);
} else {
return balise_INCLURE_dist($p);
}
}