uawdijnntqw1x1x1
IP : 216.73.216.36
Hostname : webm005.cluster127.gra.hosting.ovh.net
Kernel : Linux webm005.cluster127.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
histoio
/
www
/
f41a3
/
.
/
..
/
..
/
www
/
plugins
/
auto
/
formidable
/
v4.15.2
/
formidable_fonctions.php
/
/
<?php /** * Chargement des fonctions pour les squelettes * * @package SPIP\Formidable\Fonctions **/ if (!defined('_ECRIRE_INC_VERSION')) { return; } include_spip('inc/formidable'); include_spip('public/formidable_criteres'); /** * #VOIR_REPONSE{checkbox_2} dans une boucle (FORMULAIRES_REPONSES) * * @param Pile $p * @return Pile */ function balise_VOIR_REPONSE_dist($p) { $nom = interprete_argument_balise(1, $p); if (!$type_retour = interprete_argument_balise(2, $p)) { $type_retour = 'null'; } if (!$sans_reponse = interprete_argument_balise(3, $p)) { $sans_reponse = 'null'; } $id_formulaires_reponse = champ_sql('id_formulaires_reponse', $p); $id_formulaire = champ_sql('id_formulaire', $p); $boucle = $p->boucles; $boucle = current($boucle); $sql_serveur = $boucle->sql_serveur; $sql_serveur = "'$sql_serveur'"; $p->code = "calculer_voir_reponse($id_formulaires_reponse, $id_formulaire, $nom, $sql_serveur, $type_retour, $sans_reponse)"; return $p; } /** * @param int $id_formulaires_reponse * @param int $id_formulaire * @param string $nom * @param string $sql_serveur * @param string $type_retour * 'brut' : valeur brute * 'valeur_uniquement' : la valeur seulement * 'label' : le label associé à la saisie * 'edit' : pour les crayons * defaut : tout le HTML de la saisie * @param null|string $sans_reponse * texte affiche si aucune valeur en base pour ce champ * @return array|string */ function calculer_voir_reponse($id_formulaires_reponse, $id_formulaire, $nom, $sql_serveur = '', $type_retour = null, $sans_reponse = null) { static $formulaires_saisies = array(); static $reponses_valeurs = array(); $tenter_unserialize = charger_fonction('tenter_unserialize', 'filtre/'); // Si pas déjà présent, on cherche les saisies de ce formulaire if (!isset($formulaires_saisies[$id_formulaire])) { $formulaires_saisies[$id_formulaire] = unserialize( sql_getfetsel('saisies',//select 'spip_formulaires',//from 'id_formulaire = '.intval($id_formulaire),//where '',//groupby '',//orderby '',//limit '',//having $sql_serveur ) ); } // Si pas déjà présent, on cherche les valeurs de cette réponse if (!isset($reponses_valeurs[$id_formulaires_reponse])) { if ($champs = sql_allfetsel( 'nom,valeur,id_formulaires_reponses_champ',//select 'spip_formulaires_reponses_champs',//from 'id_formulaires_reponse = '.intval($id_formulaires_reponse),//where '',//groupby '',//orderby '',//limit '',//having $sql_serveur// )) { foreach ($champs as $champ) { $reponses_valeurs[$id_formulaires_reponse][$champ['nom']] = array( 'valeur' => formidable_ajouter_action_recuperer_fichier( $tenter_unserialize($champ['valeur']), $champ['nom'], $formulaires_saisies[$id_formulaire], $id_formulaire, $id_formulaires_reponse ), 'id' => $champ['id_formulaires_reponses_champ'] ); } } } // Si on demande la valeur brute, on ne génère rien, on renvoie telle quelle if ($type_retour == 'brut') { //Si c'est bien un vrai champ, et pas une explication if (isset($reponses_valeurs[$id_formulaires_reponse][$nom]['valeur'])) { return $reponses_valeurs[$id_formulaires_reponse][$nom]['valeur']; } else { return ''; } } // Si on demande edit > mode crayon > on génère le crayon correspond if ($type_retour == 'edit') { if (isset($reponses_valeurs[$id_formulaires_reponse][$nom]['id'])) { $valeur = $reponses_valeurs[$id_formulaires_reponse][$nom]['id']; } else { $valeur = sql_insertq('spip_formulaires_reponses_champs', array('id_formulaires_reponse' => $id_formulaires_reponse, 'nom' => $nom)); } return 'crayon '.'formulaires_reponses_champ-valeur-'. $valeur; } // Si on trouve bien la saisie demandée if ($saisie = saisies_chercher($formulaires_saisies[$id_formulaire], $nom)) { // Si on demande le label, on ne génère rien, on renvoie juste le label if ($type_retour == 'label') { return $saisie['options']['label']; } // On génère la vue de cette saisie avec la valeur trouvée précédemment return recuperer_fond( 'saisies-vues/_base', array_merge( array( 'type_saisie' => $saisie['saisie'], 'valeur' => isset($reponses_valeurs[$id_formulaires_reponse][$nom]['valeur']) ? $reponses_valeurs[$id_formulaires_reponse][$nom]['valeur'] : '', 'valeur_uniquement' => ($type_retour == 'valeur_uniquement' ? 'oui' : 'non'), 'sans_reponse' => $sans_reponse, ), $saisie['options'] ) ); } } /** * Afficher le resume d'une reponse selon un modele qui contient des noms de champ "@input_1@ ..." * * @param int $id_formulaires_reponse * @param int $id_formulaire * @param string $resume_reponse * @return string */ function affiche_resume_reponse($id_formulaires_reponse, $id_formulaire = null, $modele_resume = null) { static $modeles_resume = array(); static $saisies_form = array(); if (is_null($id_formulaire)) { $id_formulaire = sql_getfetsel( 'id_formulaire', 'spip_formulaires_reponses', 'id_formulaires_reponse='.intval($id_formulaires_reponse) ); } if (is_null($modele_resume) and !isset($modeles_resume[$id_formulaire])) { $row = sql_fetsel('saisies, traitements', 'spip_formulaires', 'id_formulaire='.intval($id_formulaire)); $saisies = unserialize($row['saisies']); $saisies_form[$id_formulaire] = $saisies; $traitements = unserialize($row['traitements']); if (isset($traitements['enregistrement']['resume_reponse'])) { $modeles_resume[$id_formulaire] = $traitements['enregistrement']['resume_reponse']; } else { $modeles_resume[$id_formulaire] = ''; } } if (is_null($modele_resume)) { $modele_resume = $modeles_resume[$id_formulaire]; $saisies = $saisies_form[$id_formulaire]; } if (!$modele_resume) { return ''; } $valeurs = array(); $chaine = formidable_raccourcis_arobases_2_valeurs_champs($modele_resume, $saisies, false, '', $source = 'base', $id_formulaires_reponse, $id_formulaire, $valeurs, $valeurs_libellees); // Pour compatibilité historique : remplacer les clés dans $valeurs_libellees pour mettre un arobase autour if (is_array($valeurs_libellees)) { foreach ($valeurs_libellees as $cle => $val) { unset($valeurs_libellees[$cle]); $valeurs_libellees["@$cle@"] = $val; } } return pipeline( 'formidable_affiche_resume_reponse', array( 'args' => array( 'id_formulaire' => $id_formulaire, 'id_formulaires_reponse' => $id_formulaires_reponse, 'modele_resume' => $modele_resume, 'valeurs' => $valeurs_libellees, ), 'data' => $chaine, ) ); } /** * Supprimer les balise d'une vue de saisies * sans pour autant faire un trim * @param str $valeur * @return str **/ function formidable_nettoyer_saisie_vue($valeur) { // on ne veut pas du \n de PtoBR, mais on ne veut pas non plus faire un trim $valeur = str_ireplace('</p>', '', $valeur); $valeur = PtoBR($valeur); if (strpos($valeur, '</li>')) { $valeur = explode('</li>', $valeur); array_pop($valeur); $valeur = implode(', ', $valeur); } $valeur = supprimer_tags($valeur); $valeur = str_replace("\n"," ",$valeur); $valeur = str_replace("\r"," ",$valeur); $valeur = str_replace("\t"," ",$valeur); return $valeur; } /** * Si une saisie est de type 'fichiers' * insère dans la description du résultat de cette saisie * l'url de l'action pour récuperer la saisie * Ajoute également une vignette correspondent à l'extention * @param array $saisie_a_modifier * @param string $nom_saisie * @param array $saisies_du_formulaire * @param int|string $id_formulaire * @param int|string $id_formulaires_reponse * return array $saisie_a_modifier **/ function formidable_ajouter_action_recuperer_fichier($saisie_a_modifier, $nom_saisie, $saisies_du_formulaire, $id_formulaire, $id_formulaires_reponse) { // précaution include_spip('inc/saisies_lister'); include_spip('inc/formidable_fichiers'); $id_formulaire = strval($id_formulaire); $id_formulaires_reponse = strval($id_formulaires_reponse); $vignette_par_defaut = charger_fonction('vignette', 'inc/'); if (array_key_exists($nom_saisie, saisies_lister_avec_type($saisies_du_formulaire, 'fichiers'))) { //saisies SPIP if (isset($saisie_a_modifier) and is_array($saisie_a_modifier)) { foreach ($saisie_a_modifier as $i => $valeur) { $url = formidable_generer_url_action_recuperer_fichier( $id_formulaire, $id_formulaires_reponse, $nom_saisie, $valeur['nom'] ); $saisie_a_modifier[$i]['url'] = $url; if (isset($valeur['extension'])) { $extension = strtolower($valeur['extension']); if (in_array($extension,array('png','jpg','gif'))) { $saisie_a_modifier[$i]['vignette'] = _DIR_FICHIERS_FORMIDABLE."formulaire_$id_formulaire/reponse_$id_formulaires_reponse/$nom_saisie/".$valeur['nom']; } else { $saisie_a_modifier[$i]['vignette'] = $vignette_par_defaut($extension, false); } } } } } return $saisie_a_modifier; }
/home/histoio/www/f41a3/./../../www/plugins/auto/formidable/v4.15.2/formidable_fonctions.php