// on inclut la licence ici
include("header.php");
// par défaut on affichera le formulaire
$op = 'form';
// pour récupérer toutes les variables
du formulaire avec leurs valeurs (évite les $_POST)
foreach ( $_POST as $k => $v ) {
${$k} = $v;
}
// le formulaire a été posté :
soit prévisualisation, soit enregistrement
if ( isset($preview)) {
$op = 'preview';
} elseif ( isset($post) ) {
$op = 'post';
}
// on traite les différents cas
switch ($op) {
case "preview": //
prévisualiation
$myts =& MyTextSanitizer::getInstance(); // MyTextSanitizer
object
include XOOPS_ROOT_PATH.'/header.php';
$p_title = $myts->makeTboxData4Preview($title);
$title = $myts->makeTboxData4PreviewInForm($title);
$p_comment = $myts->makeTareaData4Preview($comment,
0, 1, 1);
$comment = $myts->makeTareaData4PreviewInForm($comment);
themecenterposts($p_title, $p_comment); //
preview box titre et message
include "include/myform.inc.php"; //
puis inclusion du formulaire
include XOOPS_ROOT_PATH."/footer.php";
break;
case "post": // formulaire
posté
$myts =& MyTextSanitizer::getInstance();
// récupération et mise en forme des données
$title = $myts->oopsAddSlashes($title);
$message = $myts->oopsAddSlashes($comment);
$email = $myts->oopsAddSlashes($email);
$datetime = time();
$poster_ip = $GLOBALS['REMOTE_ADDR'];
// requête d'insertion
dans la base
$sql = "INSERT INTO ".$xoopsDB->prefix("mymodule")."
(title, message, post_time, email, poster_ip)
VALUES ('".$title."','".$comment."','".$datetime."','".$email."','".$poster_ip."')";
// insertion dans la base, sinon
message d'erreur
if ( !$result = $ xoopsDB ->queryF($sql) ) {
$messagesent = _MI_ERRORINSERT;
}
// redirection aprês post du formulaire (á
adapter)
// l'exemple ci-dessous redirige sur le fichier
index du module aprês affichage 'message envoyé'
redirect_header("index.php",2,$messagesent);
break;
case 'form': // affichage formulaire
default:
include XOOPS_ROOT_PATH."/header.php";
// initialisation des variables titre, commentaire
et email de l'utilisateur
$title = "";
$comment = "";
$email = !empty($xoopsUser) ? $xoopsUser->getVar("email", "E")
: "";
include "include/myform.inc.php"; //
inclusion du formulaire
include XOOPS_ROOT_PATH."/footer.php";
break;
}
?>