Ejemplo n.º 1
0
function affiche_boutons_admin($contenu) {
	include_spip('inc/filtres');

	// Inserer le css d'admin
	$css = "<link rel='stylesheet' href='".url_absolue(find_in_path('spip_admin.css'))
	. "' type='text/css' />\n";
	if ($f = find_in_path('spip_admin_perso.css'))
		$css .= "<link rel='stylesheet' href='"
		. url_absolue($f) . "' type='text/css' />\n";

	($pos = stripos($contenu, '</head>'))
	    || ($pos = stripos($contenu, '<body>'))
	    || ($pos = 0);
	$contenu = substr_replace($contenu, $css, $pos, 0);


	// Inserer la balise #FORMULAIRE_ADMIN, en float
	$boutons_admin = inclure_balise_dynamique(
		balise_FORMULAIRE_ADMIN_dyn('spip-admin-float'),
	false);

	($pos = strripos($contenu, '</body>'))
	    || ($pos = strripos($contenu, '</html>'))
	    || ($pos = strlen($contenu));
	$contenu = substr_replace($contenu, $boutons_admin, $pos, 0);


	return $contenu;
}
Ejemplo n.º 2
0
function traiter_formulaires_dynamiques($get=false){
	static $post = array();
	static $done = false;

	if ($get) return $post; 
	if ($done) return false;
	$done = true;

	if (!($form = _request('formulaire_action')
	AND $args = _request('formulaire_action_args')))
		return false; // le hit peut continuer normalement

	include_spip('inc/filtres');
	if (($args = decoder_contexte_ajax($args,$form))===false) {
		spip_log("signature ajax form incorrecte : $form");
		return false; // continuons le hit comme si de rien etait
	} else {
		include_spip('inc/lang');
		// sauvegarder la lang en cours
		$old_lang = $GLOBALS['spip_lang'];
		// changer la langue avec celle qui a cours dans le formulaire
		// on la depile de $args car c'est un argument implicite masque	
		changer_langue(array_shift($args));

			
		$verifier = charger_fonction("verifier","formulaires/$form/",true);
		$post["erreurs_$form"] = pipeline(
				  'formulaire_verifier',
					array(
						'args'=>array('form'=>$form,'args'=>$args),
						'data'=>$verifier?call_user_func_array($verifier,$args):array())
					);
		if ((count($post["erreurs_$form"])==0)){
			$rev = "";
			$retour = "";
			if ($traiter = charger_fonction("traiter","formulaires/$form/",true))
				$rev = call_user_func_array($traiter,$args);

			$rev = pipeline(
				  'formulaire_traiter',
					array(
						'args'=>array('form'=>$form,'args'=>$args),
						'data'=>$rev)
					);
			// le retour de traiter peut avoir 3 formats
			// - simple message texte
			// - tableau a deux entrees ($editable,$message)
			// - tableau explicite ('editable'=>$editable,'message_ok'=>$message,'redirect'=>$redirect,'id_xx'=>$id_xx)
			// le dernier format est celui conseille car il permet le pipelinage, en particulier
			// en y passant l'id de l'objet cree/modifie
			// si message_erreur est present, on considere que le traitement a echoue
			// cas du message texte simple
			if (!is_array($rev)){
				$post["message_ok_$form"] = $rev;
			}
			// cas du tableau deux valeurs simple (ancien format, deconseille)
			elseif (count($rev)==2 
			  AND !array_key_exists('message_ok',$rev)
			  AND !array_key_exists('message_erreur',$rev)
			  AND !array_key_exists('redirect',$rev)) {
				$post["editable_$form"] = reset($rev);
				$post["message_ok_$form"] = end($rev);
			}
			// cas du tableau explicite (conseille)
			else {
				// verifier si traiter n'a pas echoue avec une erreur :
				if (isset($rev['message_erreur'])) {
					$post["erreurs_$form"]["message_erreur"] = $rev['message_erreur'];
					
				}
				else {
					// sinon faire ce qu'il faut :
					if (isset($rev['message_ok']))
						$post["message_ok_$form"] = $rev['message_ok'];
					if (isset($rev['editable']))
						$post["editable_$form"] = $rev['editable'];
					// si une redirection est demandee, appeler redirigae_formulaire qui choisira
					// le bon mode de redirection (302 et on ne revient pas ici, ou javascript et on continue)
					if (isset($rev['redirect']) AND $rev['redirect']){
						include_spip('inc/headers');
						list($masque,$message) = redirige_formulaire($rev['redirect'], '','ajaxform');
						$post["message_ok_$form"] .= $message;
						$retour .= $masque;
					}
				}
			}
		}
		// si le formulaire a ete soumis en ajax, on le renvoie direct !
		if (_request('var_ajax')){
			if (find_in_path('formulaire_.php','balise/',true)) {
				include_spip('inc/actions');
				include_spip('public/assembler');
				array_unshift($args,$form);
				$retour .= inclure_balise_dynamique(call_user_func_array('balise_formulaire__dyn',$args),false);
				// on ajoute un br en display none en tete du retour ajax pour regler un bug dans IE6/7
				// sans cela le formulaire n'est pas actif apres le hit ajax
				$retour = "<br class='bugajaxie' style='display:none;'/>".$retour;
				ajax_retour($retour,false);
				return true; // on a fini le hit
			}
		}
		// restaurer la lang en cours
		changer_langue($old_lang);
	}
	return false; // le hit peut continuer normalement
}
Ejemplo n.º 3
0
/**
 * Preparer la previsu d'un message de forum
 *
 * http://code.spip.net/@inclure_previsu
 *
 * @param string $texte
 * @param string $titre
 * @param string $url_site
 * @param string $nom_site
 * @param array $ajouter_mot
 * @param array $doc
 * @param string $objet
 * @param int $id_objet
 * @param int $id_forum
 * @return string
 */
function inclure_previsu($texte, $titre, $url_site, $nom_site, $ajouter_mot, $doc, $objet, $id_objet, $id_forum)
{
    global $table_des_traitements;
    $bouton = _T('forum:forum_message_definitif');
    include_spip('public/assembler');
    include_spip('public/composer');
    // appliquer les traitements de #TEXTE a la previsu
    // comme on voit c'est complique... y a peut-etre plus simple ?
    // recuperer les filtres eventuels de 'mes_fonctions.php' sur les balises
    include_spip('public/parametrer');
    $tmptexte = "";
    $evaltexte = isset($table_des_traitements['TEXTE']['forums']) ? $table_des_traitements['TEXTE']['forums'] : $table_des_traitements['TEXTE'][0];
    $evaltexte = '$tmptexte = ' . str_replace('%s', '$texte', $evaltexte) . ';';
    // evaluer...
    // [fixme]
    // $connect et $Pile ne sont pas definis ici :/
    // mais font souvent partie des variables appelees par les traitements
    $connect = "";
    $Pile = array(0 => array());
    eval($evaltexte);
    // supprimer les <form> de la previsualisation
    // (sinon on ne peut pas faire <cadre>...</cadre> dans les forums)
    return preg_replace("@<(/?)form\\b@ism", '<\\1div', inclure_balise_dynamique(array('formulaires/inc-forum_previsu', 0, array('titre' => safehtml(typo($titre)), 'texte' => $tmptexte, 'notes' => safehtml(calculer_notes()), 'url_site' => vider_url($url_site), 'nom_site' => safehtml(typo($nom_site)), 'ajouter_mot' => is_array($ajouter_mot) ? $ajouter_mot : array($ajouter_mot), 'ajouter_document' => $doc, 'bouton' => $bouton, 'objet' => $objet, 'id_objet' => $id_objet, 'id_forum' => $id_forum)), false));
}
Ejemplo n.º 4
0
function debusquer_entete($titre, $corps)
{
    global $debug_objets;
    include_spip('balise/formulaire_admin');
    include_spip('public/assembler');
    // pour inclure_balise_dynamique
    include_spip('inc/texte');
    // pour corriger_typo
    return _DOCTYPE_ECRIRE . html_lang_attributes() . "<head>\n<title>" . ('SPIP ' . $GLOBALS['spip_version_affichee'] . ' ' . _T('admin_debug') . ' ' . $titre . ' (' . supprimer_tags(corriger_typo($GLOBALS['meta']['nom_site']))) . ")</title>\n" . "<meta http-equiv='Content-Type' content='text/html" . (($c = $GLOBALS['meta']['charset']) ? "; charset={$c}" : '') . "' />\n" . http_script('', 'jquery.js') . "<link rel='stylesheet' href='" . url_absolue(find_in_path('spip_admin.css')) . "' type='text/css' />" . "</head>\n" . "<body style='margin:0 10px;'>\n" . "<div id='spip-debug-header'>" . $corps . inclure_balise_dynamique(balise_FORMULAIRE_ADMIN_dyn('spip-admin-float', $debug_objets), false) . '</div></body></html>';
}
Ejemplo n.º 5
0
function inclure_forum_prive_previsu($texte, $titre, $url_site, $nom_site, $ajouter_mot, $doc = "")
{
    $bouton = _T('forum:forum_message_definitif');
    include_spip('public/assembler');
    include_spip('public/composer');
    // supprimer les <form> de la previsualisation
    // (sinon on ne peut pas faire <cadre>...</cadre> dans les forums)
    return preg_replace("@<(/?)form\\b@ism", '<\\1div', inclure_balise_dynamique(array('formulaires/inc-forum_prive_previsu', 0, array('titre' => safehtml(typo($titre)), 'texte' => safehtml(propre($texte)), 'notes' => safehtml(calculer_notes()), 'url_site' => vider_url($url_site), 'nom_site' => safehtml(typo($nom_site)), 'ajouter_mot' => is_array($ajouter_mot) ? $ajouter_mot : array($ajouter_mot), 'ajouter_document' => $doc, 'bouton' => $bouton)), false));
}
Ejemplo n.º 6
0
function inclure_previsu($texte,$titre, $url_site, $nom_site, $ajouter_mot, $doc,
$id_rubrique, $id_forum, $id_article, $id_breve, $id_syndic) {
	global $table_des_traitements;

	$bouton = _T('forum_message_definitif');
	include_spip('public/assembler');
	include_spip('public/composer');

	// appliquer les traitements de #TEXTE a la previsu
	// comme on voit c'est complique... y a peut-etre plus simple ?
	// recuperer les filtres eventuels de 'mes_fonctions.php' sur les balises
	include_spip('public/parametrer');
	$evaltexte = isset($table_des_traitements['TEXTE']['forums'])
		? $table_des_traitements['TEXTE']['forums']
		: $table_des_traitements['TEXTE'][0];
	$evaltexte = '$tmptexte = '.str_replace('%s', '$texte', $evaltexte).';';
	// evaluer...
	eval($evaltexte);

	// supprimer les <form> de la previsualisation
	// (sinon on ne peut pas faire <cadre>...</cadre> dans les forums)
	return preg_replace("@<(/?)form\b@ism",
			    '<\1div',
		inclure_balise_dynamique(array('formulaires/inc-forum_previsu',
		      0,
		      array(
			'titre' => safehtml(typo($titre)),
			'texte' => $tmptexte,
			'notes' => safehtml(calculer_notes()),
			'url_site' => vider_url($url_site),
			'nom_site' => safehtml(typo($nom_site)),
			'ajouter_mot' => (is_array($ajouter_mot) ? $ajouter_mot : array($ajouter_mot)),
			'ajouter_document' => $doc,
			'erreur' => $erreur,
			'bouton' => $bouton,
			'id_rubrique' => $id_rubrique,
			'id_forum' => $id_forum,
			'id_article' => $id_article,
			'id_breve' => $id_breve,
			'id_syndic' => $id_syndic
			)
		), false));
}
Ejemplo n.º 7
0
function traiter_formulaires_dynamiques($get = false)
{
    static $post = array();
    static $done = false;
    if ($get) {
        return $post;
    }
    if ($done) {
        return false;
    }
    $done = true;
    if (!($form = _request('formulaire_action') and $args = _request('formulaire_action_args'))) {
        return false;
    }
    // le hit peut continuer normalement
    include_spip('inc/filtres');
    if (($args = decoder_contexte_ajax($args, $form)) === false) {
        spip_log("signature ajax form incorrecte : {$form}");
        return false;
        // continuons le hit comme si de rien etait
    } else {
        include_spip('inc/lang');
        // sauvegarder la lang en cours
        $old_lang = $GLOBALS['spip_lang'];
        // changer la langue avec celle qui a cours dans le formulaire
        // on la depile de $args car c'est un argument implicite masque
        changer_langue(array_shift($args));
        // inclure mes_fonctions et autres filtres avant verifier/traiter
        include_spip('public/parametrer');
        // ainsi que l'API SQL bien utile dans verifier/traiter
        include_spip('base/abstract_sql');
        $verifier = charger_fonction("verifier", "formulaires/{$form}/", true);
        $post["erreurs_{$form}"] = pipeline('formulaire_verifier', array('args' => array('form' => $form, 'args' => $args), 'data' => $verifier ? call_user_func_array($verifier, $args) : array()));
        // accessibilite : si des erreurs mais pas de message general l'ajouter
        if (count($post["erreurs_{$form}"]) and !isset($post["erreurs_{$form}"]['message_erreur'])) {
            $post["erreurs_{$form}"]['message_erreur'] = singulier_ou_pluriel(count($post["erreurs_{$form}"]), 'avis_1_erreur_saisie', 'avis_nb_erreurs_saisie');
        }
        // si on ne demandait qu'une verif json
        if (_request('formulaire_action_verifier_json')) {
            include_spip('inc/json');
            include_spip('inc/actions');
            ajax_retour(json_encode($post["erreurs_{$form}"]), 'text/plain');
            return true;
            // on a fini le hit
        }
        $retour = "";
        if (count($post["erreurs_{$form}"]) == 0) {
            $rev = "";
            if ($traiter = charger_fonction("traiter", "formulaires/{$form}/", true)) {
                $rev = call_user_func_array($traiter, $args);
            }
            $rev = pipeline('formulaire_traiter', array('args' => array('form' => $form, 'args' => $args), 'data' => $rev));
            // le retour de traiter est
            // un tableau explicite ('editable'=>$editable,'message_ok'=>$message,'redirect'=>$redirect,'id_xx'=>$id_xx)
            // il permet le pipelinage, en particulier
            // en y passant l'id de l'objet cree/modifie
            // si message_erreur est present, on considere que le traitement a echoue
            $post["message_ok_{$form}"] = '';
            // on peut avoir message_ok et message_erreur
            if (isset($rev['message_ok'])) {
                $post["message_ok_{$form}"] = $rev['message_ok'];
            }
            // verifier si traiter n'a pas echoue avec une erreur :
            if (isset($rev['message_erreur'])) {
                $post["erreurs_{$form}"]["message_erreur"] = $rev['message_erreur'];
                // si il y a une erreur on ne redirige pas
            } else {
                // sinon faire ce qu'il faut :
                if (isset($rev['editable'])) {
                    $post["editable_{$form}"] = $rev['editable'];
                }
                // si une redirection est demandee, appeler redirigae_formulaire qui choisira
                // le bon mode de redirection (302 et on ne revient pas ici, ou javascript et on continue)
                if (isset($rev['redirect']) and $rev['redirect']) {
                    include_spip('inc/headers');
                    list($masque, $message) = redirige_formulaire($rev['redirect'], '', 'ajaxform');
                    $post["message_ok_{$form}"] .= $message;
                    $retour .= $masque;
                }
            }
        }
        // si le formulaire a ete soumis en ajax, on le renvoie direct !
        if (_request('var_ajax')) {
            if (find_in_path('formulaire_.php', 'balise/', true)) {
                include_spip('inc/actions');
                include_spip('public/assembler');
                array_unshift($args, $form);
                $retour .= inclure_balise_dynamique(call_user_func_array('balise_formulaire__dyn', $args), false);
                // on ajoute un br en display none en tete du retour ajax pour regler un bug dans IE6/7
                // sans cela le formulaire n'est pas actif apres le hit ajax
                // la classe ajax-form-is-ok sert a s'assurer que le retour ajax s'est bien passe
                $retour = "<br class='bugajaxie ajax-form-is-ok' style='display:none;'/>" . $retour;
                ajax_retour($retour, false);
                return true;
                // on a fini le hit
            }
        }
        // restaurer la lang en cours
        changer_langue($old_lang);
    }
    return false;
    // le hit peut continuer normalement
}
Ejemplo n.º 8
0
function inserer_balise_dynamique($contexte_exec, $contexte_compil)
{
    if (!is_array($contexte_exec)) {
        echo $contexte_exec;
    } else {
        inclure_balise_dynamique($contexte_exec, true, $contexte_compil);
    }
}
Ejemplo n.º 9
0
function balise_FORMULAIRE_CONTACT_dyn($id_machin)
{
    /* c’est ici qu’on met le traitement des données (insertion en base etc).
       Elle reçoit les valeures retournées par la fonction _stat et doit retourner soit :
        * un message d’erreur
        * un tableau représentant un squelette SPIP :
             1. le nom du fond (e.g. "formulaires/formulaire_forum")
             2. le délais
             3. un tableau des paramètres à passer à ce squelette (ensuite accessible par #ENV)
       On peut acceder ici aux variables postées par le formulaire en utilisation la fonction _request('name'); et faire des traitements 
       en fonction de celles ci pour faire l’insertion en base, envoyer un mail etc...
    	*/
    global $_FILES, $_HTTP_POST_FILES;
    // ces variables sont indispensables pour récuperer les documents joints
    // Récupération de id de la rubrique en cours
    $rubrique = intval(_request('id_rubrique'));
    // on recuperer l'id de l'auteur anonymous
    $connect_id_auteur = intval(_request('id_auteur'));
    // si il n'est pas dans la base => plugins openpublishing mal installé
    if (!$connect_id_auteur) {
        echo "Attention votre URL ne comporte pas d'id_auteur !";
        die("Veuillez modifier l'appelle à cette page pour y inclure cet identifiant auteur");
    }
    // récupération des variables du formulaire HTML
    // données actions
    $previsualiser = _request('previsualiser');
    $valider = _request('valider');
    $media = _request('media');
    $abandonner = _request('abandonner');
    // on quitte et renvoie vers le sommaire
    if ($abandonner) {
        $retour = '<div align="center"> <h3>Vous avez abandonn&eacute; la cr&eacute;ation d\'un article. <br /> <br /> Aucne information na &eacute;t&eacute; enregistr&eacute;e.</h3> </div>';
        $message = '<META HTTP-EQUIV="refresh" content="3; url=spip.php?page=rubrique&amp;id_rubrique=' . $rubrique . '">';
        $message = $message . $retour;
        return $message;
    }
    // on recupere l'id article (sinon on créer un nouveau article à chaque prévisualisation ou ajout de document ...
    $article = intval(stripslashes(_request('article')));
    // données pour formulaire document
    $formulaire_documents = stripslashes(_request('formulaire_documents'));
    $doc = stripslashes(_request('doc'));
    $type_doc = stripslashes(_request('type'));
    // donnée article
    $surtitre = stripslashes(_request('surtitre'));
    $titre = stripslashes(_request('titre'));
    $soustitre = stripslashes(_request('soustitre'));
    $descriptif = stripslashes(_request('descriptif'));
    $nom_site = stripslashes(_request('nom_site'));
    $url_site = stripslashes(_request('url_site'));
    $chapo = stripslashes(_request('chapo'));
    $texte = stripslashes(_request('texte'));
    $ps = stripslashes(_request('ps'));
    // déclarations de variables supplémentaires (pour la fonction ajout_document)
    $documents_actifs = array();
    // autres variables
    $lang = _request('var_lang');
    $nom = 'changer_lang';
    lang_dselect();
    $langues = liste_options_langues($nom, $lang);
    // remise à zero
    $formulaire_previsu = '';
    $bouton = '';
    $mess_error = '';
    $erreur_document = 0;
    // filtrage des zones de texte si elles sont emplies
    if ($titre) {
        $titre = entites_html($titre);
    }
    // on demande un nouvel identifiant
    if ($previsualiser || $media || $valider) {
        if (!$article) {
            $article = op_request_new_id($connect_id_auteur);
        }
    }
    // l'auteur demande la publication de son article
    if ($valider) {
        // statut de l'article : proposé
        $statut = 'prop';
        /****** préparation de la mise en base de donnée 	 ********/
        // on recupere le secteur et la langue associée
        $s = spip_query("SELECT id_secteur, lang FROM spip_rubriques WHERE id_rubrique = '{$rubrique}' ");
        if ($r = spip_fetch_array($s)) {
            $id_secteur = $r["id_secteur"];
            $lang = $r["lang"];
            // L'article existe déjà, on fait donc un UPDATE, et non un INSERT
            $retour = spip_query('UPDATE spip_articles SET titre = ' . spip_abstract_quote($titre) . ',	id_rubrique = ' . spip_abstract_quote($rubrique) . ',	texte = ' . spip_abstract_quote($texte) . ',	statut = ' . spip_abstract_quote($statut) . ',	lang = ' . spip_abstract_quote($lang) . ',	id_secteur = ' . spip_abstract_quote($id_secteur) . ',	ps =' . spip_abstract_quote($ps) . ',  nom_site =' . spip_abstract_quote($nom_site) . ',  url_site =' . spip_abstract_quote($url_site) . ',  surtitre =' . spip_abstract_quote($surtitre) . ',  soustitre =' . spip_abstract_quote($soustitre) . ',  chapo =' . spip_abstract_quote($chapo) . ',  descriptif =' . spip_abstract_quote($descriptif) . ',	date = NOW()' . ',	date_redac = NOW()' . ',	date_modif = NOW()' . ' WHERE id_article = ' . spip_abstract_quote($article));
            if ($retour == 1) {
                // tout c'est bien passé
                $retour = '';
            } else {
                $retour = "Erreur lors de l'insertion de votre article dans la base de donn&eacute;e, veuillez contactez les responsables du site";
            }
        }
        $retour = '<div align="center"> <h3>Votre article a bien &eacute;t&eacute; enregistr&eacute;. <br /> <br /> Il sera publi&eacute; apr&egrave;s validation.</h3> </div>';
        $message = '<META HTTP-EQUIV="refresh" content="3; url=spip.php?page=rubrique&amp;id_rubrique=' . $rubrique . '">';
        $message = $message . $retour;
        return $message;
    } else {
        // statut de l'article : en préparation
        $statut = "prepa";
        // si l'auteur demande la prévisualisation
        if ($previsualiser) {
            // quelques petites vérifications
            if (strlen($titre) < 3) {
                $erreur .= _T('forum_attention_trois_caracteres');
            }
            if (!$erreur) {
                $bouton = _T('Proposer');
            }
            // on rempli le formulaire de prévisualisation
            $formulaire_previsu = inclure_balise_dynamique(array('formulaires/FORMULAIRE_CONTACT_previsu', 0, array('date_redac' => $date_redac, 'titre' => interdire_scripts(typo($titre)), 'texte' => propre($texte), 'ps' => propre($ps), 'nom_site' => propre($nom_site), 'url_site' => propre($url_site), 'surtitre' => propre($surtitre), 'soustitre' => propre($soustitre), 'chapo' => propre($chapo), 'descriptif' => propre($descriptif), 'erreur' => $erreur)), false);
            // aucune idée de ce que c'est, mais ça à l'air important
            $formulaire_previsu = preg_replace("@<(/?)f(orm[>[:space:]])@ism", "<\\1no-f\\2", $formulaire_previsu);
        }
        // si l'auteur ajoute un documents
        if ($media) {
            // compatibilité php < 4.1
            if (!$_FILES) {
                $_FILES = $GLOBALS['HTTP_POST_FILES'];
            }
            // récupération des variables
            $fichier = $_FILES['doc']['name'];
            $size = $_FILES['doc']['size'];
            $tmp = $_FILES['doc']['tmp_name'];
            $type = $_FILES['doc']['type'];
            $error = $_FILES['doc']['error'];
            // vérification si upload OK
            if (!is_uploaded_file($tmp)) {
                echo $error;
                $mess_error = "Erreur d'upload ! le fichier temporaire est introuvable. <br /> Il ce peut que vous tentiez d'uploader un fichier trop volumineux. <br /> La taille maximale autoris&eacute;e est de 5 Mo";
                $erreur_document = 1;
            } else {
                inc_ajouter_documents_dist($tmp, $fichier, "article", $article, $type_doc, $id_document, &$documents_actifs);
            }
        }
        // cas d'un nouvel article ou re-affichage du formulaire
        // Gestion des documents
        $bouton = "Ajouter un nouveau document";
        $formulaire_documents = inclure_balise_dynamique(array('formulaires/formulaire_documents', 0, array('id_article' => $article, 'bouton' => $bouton)), false);
        // Liste des documents associés à l'article
        op_liste_vignette($article);
        // le bouton valider
        $bouton = _T('Proposer');
        // et on remplit le formulaire avec tout ça
        return array('formulaires/formulaire_contact', 0, array('formulaire_documents' => $formulaire_documents, 'formulaire_previsu' => $formulaire_previsu, 'formulaire_agenda' => $formulaire_agenda, 'bouton' => $bouton, 'article' => $article, 'rubrique' => $rubrique, 'surtitre' => $surtitre, 'soustitre' => $soustitre, 'descriptif' => $descriptif, 'nom_site' => $nom_site, 'url_site' => $url_site, 'chapo' => $chapo, 'ps' => $ps, 'mess_error' => $mess_error, 'url' => $url, 'titre' => interdire_scripts(typo($titre)), 'texte' => $texte));
    }
}
Ejemplo n.º 10
0
function inserer_balise_dynamique($contexte_exec, $contexte_compil)
{
	if (!is_array($contexte_exec))
		echo $contexte_exec; // message d'erreur etc
	else {
		inclure_balise_dynamique($contexte_exec, true, $contexte_compil);
	}
}