Skip to content
Extraits de code Groupes Projets
Valider 7f7d6376 rédigé par esj's avatar esj
Parcourir les fichiers

simplifications du code des formulaires avec introduction du filtre '?'

parent 71cdeb00
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -261,7 +261,11 @@ function sinon ($texte, $sinon='') {
// |choixsivide{vide,pasvide} affiche pasvide si la chaine n'est pas vide...
function choixsivide($a, $vide, $pasvide) {return $a ? $pasvide : $vide;}
function choixsivide($a, $vide, $pasvide)
{
spip_log("choix '$a'" . $a ? $pasvide : $vide);
return $a ? $pasvide : $vide;
}
// |choixsiegal{aquoi,oui,non} affiche oui si la chaine est egal a aquoi ...
function choixsiegal($a1,$a2,$v,$f) {return ($a1 == $a2) ? $v : $f;}
......@@ -747,6 +751,7 @@ function http_script($script, $src='', $noscript='') {
. (!$noscript ? '' : "<noscript>\n\t$noscript\n</noscript>\n");
}
/* dans les squelettes a present.
function http_script_window_close() {
return http_script('
document.write("<br /><div align=\'right\'><a href=\'")
......@@ -755,6 +760,7 @@ document.write("\'>' . _T('pass_quitter_fenetre') . '<" + "/a></div>")',
'',
"&#91;<a href='./'><:pass_retour_public:></a>&#93");
}
*/
function inscriptionok($site, $mode)
{
......
[
(#HTTP_VARS{mode}|choixsiegal{forum,' ',''})<:pass_forum_bla:><br /><br />][
(#HTTP_VARS{mode}|choixsiegal{redac,' ',''})<:pass_espace_prive_bla:><br /><br />]<:form_forum_indiquer_nom_email:>
<form id="inscription" method='post' action='#SELF' style='border: 0px; margin: 0px;'>
(#HTTP_VARS*{message})
][
(#HTTP_VARS*{message}|?{'':' '})[
(#HTTP_VARS{mode}|=={forum}|?{' ':''})
<:pass_forum_bla:><br /><br />
][
(#HTTP_VARS{mode}|=={redac}|?{' ':''})
<:pass_espace_prive_bla:><br /><br />
]<:form_forum_indiquer_nom_email:>
<form id="inscription" method='post' action='#SELF'
style='border: 0px; margin: 0px;'>
<fieldset style="border: none; font-weight: bold"><legend></legend>
<label>
<:form_pet_votre_nom:>
......@@ -14,8 +22,21 @@
</fieldset>
<div align="right"><input type="submit" class="spip_bouton" value="<:bouton_valider:>" />
</div>
</form>[
</form>[
<script type="text/javascript"><!--
document.inscription.(#HTTP_VARS{focus}).focus()
--></script>
]
][<br />
<div align="right">
(#HTTP_VARS{target}|?{' ':''})
<script type="text/javascript"><!--
document.write("<a href='")
document.write((window.opener) ? "javascript:close()" : "./")
document.write("'><:pass_quitter_fenetre:><" + "/a>");
//--></script>
<noscript>
&#91;<a href='./'><:pass_retour_public:></a>&#93;
</noscript>
</div>
]
......@@ -3,7 +3,7 @@
<b><:login_cookie_oblige:></b>
<:login_cookie_accepte:><p />
][
(#HTTP_VARS{message})
(#HTTP_VARS*{message})
<br />
<:forum_vous_enregistrer:>
[<a href='(#URL_SITE_SPIP|inscriptionok{forum})spip_inscription.php3?mode=forum&amp;focus=nom_inscription&amp;target=spip_pass'
......@@ -16,7 +16,7 @@
<script type="text/javascript" src="ecrire/md5.js"></script>
<form id="login[_(#HTTP_VARS{login})]"
action="[(#HTTP_VARS{action2})]"
method="post"[(#HTTP_VARS{source}|choixsiegal{spip,' ',''})
method="post"[(#HTTP_VARS{source}|=={spip}|?{' ':''})
onSubmit='if (this.session_password.value) {
this.session_password_md5.value = calcMD5("[(#HTTP_VARS{alea_actuel})]" + this.session_password.value);
this.next_session_password_md5.value = calcMD5("[(#HTTP_VARS{alea_futur})]" + this.session_password.value);
......@@ -25,7 +25,7 @@
<div class="spip_encadrer" style="[(#URL_SITE_SPIP|style_align)]">[
<div class="reponse_formulaire">(#HTTP_VARS*{erreur})<br /><br /></div>
][
<label><b><:login_login2:></b><br /></label>(#HTTP_VARS{login}|choixsivide{' ',''})
<label><b><:login_login2:></b><br /></label>(#HTTP_VARS{login}|?{'':' '})
<input type="text" id='var_login' name="var_login" class="forml" value="" size="40" />
][
<div>
......
[
(#HTTP_VARS*{message})
][
(#HTTP_VARS*{message}|?{'':' '})
<form id="oubli_form" action='spip_pass.php3' method='post'>
<fieldset style="border: none;"><legend></legend>[
<:pass_nouveau_pass:>
......@@ -6,7 +10,7 @@
<:pass_choix_pass:>
<input type="password" name="oubli">
</label>][
(#HTTP_VARS{p}|choixsivide{' ',''})
(#HTTP_VARS{p}|?{'':' '})
<label>
<:pass_indiquez_cidessous:>
<input type="texte" name="oubli">
......@@ -14,10 +18,14 @@
<input type=submit class="fondl" value="<:pass_ok:>">
</fieldset>
</form>
]
<br />
<div align="right">
<script type="text/javascript"><!--
[
(#HTTP_VARS*{message}|?{'':' '})
document.oubli_form.oubli.focus()
]
document.write("<a href='")
document.write((window.opener) ? "javascript:close()" : "./")
document.write("'><:pass_quitter_fenetre:><" + "/a>");
......@@ -27,5 +35,3 @@ document.write("'><:pass_quitter_fenetre:><" + "/a>");
</noscript>
</div>
<br />
......@@ -15,7 +15,7 @@
</label>
</fieldset>
<br />
<p>[(#HTTP_VARS{site_obli}|choixsiegal{oui,'', ' '})<:form_pet_votre_site:><br />]
<p>[(#HTTP_VARS{site_obli}|=={oui}|?{'':' '})<:form_pet_votre_site:><br />]
<fieldset style='font-size: 110%; font-weight: bold;'>
<legend></legend>
<label>
......@@ -30,7 +30,7 @@
<br />
<fieldset style='font-weight: bold'>
<legend></legend>
(#HTTP_VARS{message}|choixsiegal{oui,' ', ''})
(#HTTP_VARS{message}|=={oui}|?{' ':''})
<label>
<:form_pet_message_commentaire:><br />
<textarea name="message" rows="3" class="forml" cols="20"></textarea>
......
......@@ -227,8 +227,10 @@ function applique_filtres($p) {
}
if (function_exists($fonc))
$code = "$fonc($code$arglist)";
else if (strpos(" < > <= >= == <> ", " $fonc "))
$code = "$code $fonc " . substr($arglist,1);
else if (strpos(" < > <= >= == <> ? ", " $fonc "))
$code = "($code $fonc "
. substr($arglist,1)
. ')';
else
$code = "erreur_squelette('".
texte_script(
......
......@@ -608,7 +608,6 @@ function calculer_params_dynamiques($liste, &$boucles, $idb) {
foreach (split(" *, *", $reg[1]) as $v) {
$v = calculer_param_dynamique($v, $boucles, $idb);
if (is_array($v)) erreur_squelette($v);
spip_log("'$v'");
if (strpos('0123456789',$v[0]) !== false)
$res[] = $v;
else if ($v[0]=='"')
......
......@@ -38,37 +38,38 @@ function balise_FORMULAIRE_INSCRIPTION_dyn($mode, $mail_inscription, $nom_inscri
'(nom, email, login, pass, statut, htpass)',
"('".addslashes($nom_inscription)."', '".addslashes($mail_inscription)."', '$login', '$mdpass', '$statut', '$htpass')");
ecrire_acces();
return envoyer_inscription($mail_inscription, $statut, $mode, $login, $pass);
$message = envoyer_inscription($mail_inscription, $statut, $mode, $login, $pass);
}
else {
// existant mais encore muet, renvoyer les infos
if ($row['statut'] == 'nouveau') {
return (envoyer_inscription($mail_inscription, $row['statut'], $mode, $row['login'], $row['pass']));
$message = (envoyer_inscription($mail_inscription, $row['statut'], $mode, $row['login'], $row['pass']));
} else {
if ($row['statut'] == '5poubelle')
// dead
return _T('form_forum_access_refuse');
$message = _T('form_forum_access_refuse');
else
// deja inscrit
return _T('form_forum_email_deja_enregistre');
$message = _T('form_forum_email_deja_enregistre');
}
}
}
// demande du formulaire
else {
if (!$nom_inscription)
{
return array("formulaire_inscription",0,
array('focus' => $focus,
'target' => $target,
'mode' => $mode));
}
$message = '';
else {
spip_log("Mail incorrect: '$mail_inscription'");
return _L('adresse mail incorrecte');
$message = _L('adresse mail incorrecte');
}
}
return array("formulaire_inscription",0,
array('focus' => $focus,
'target' => $target,
'message' => $message,
'mode' => $mode));
}
// fonction qu'on peut redefinir pour filtrer selon l'adresse mail
......
......@@ -242,6 +242,10 @@ function inclure_page($fond, $delais_inclus, $contexte_inclus, $cache_incluant='
return $page;
}
# les balises dynamiques sont traitees comme des inclusions
# Attention, un appel explicite a cette fonction suppose certains include
# (voir l'exemple de spip_inscription et spip_pass)
function inclure_balise_dynamique($r) {
if (is_string($r))
echo $r;
......@@ -250,7 +254,14 @@ function inclure_balise_dynamique($r) {
if ((!$contexte_inclus['lang']) AND
($GLOBALS['spip_lang'] != lire_meta('langue_site')))
$contexte_inclus['lang'] = $GLOBALS['spip_lang'];
include('inc-public.php3');
$page = inclure_page($fond, $delais, $contexte_inclus);
if ($page['process_ins'] == 'html')
echo $page['texte'];
else
eval('?' . '>' . $page['texte']);
if ($page['lang_select'])
lang_dselect();
}
}
?>
......@@ -3,11 +3,10 @@ include ("ecrire/inc_version.php3");
include_ecrire("inc_presentation.php3");
include_local("inc-formulaire_inscription.php3");
include_local("inc-public-global.php3");
include_ecrire("inc_lang.php3");
utiliser_langue_site();
utiliser_langue_visiteur();
include_local ("inc-cache.php3");
install_debut_html(_T('pass_vousinscrire'));
inclure_balise_dynamique(balise_formulaire_inscription_dyn($mode, $mail_inscription, $nom_inscription, $focus, $target));
echo http_script_window_close();
# echo http_script_window_close(); # fait dans le squelette a present
install_fin_html();
?>
<?php
include ("ecrire/inc_version.php3");
include_ecrire("inc_meta.php3");
include_ecrire("inc_presentation.php3");
include_ecrire("inc_session.php3");
include_ecrire("inc_texte.php3");
include_ecrire("inc_meta.php3");
include_ecrire("inc_mail.php3");
include_ecrire("inc_acces.php3");
include_local("inc-public-global.php3");
include_ecrire("inc_presentation.php3"); # pour install_debut
include_ecrire("inc_session.php3"); # pour creer_uniq_id
include_ecrire("inc_mail.php3"); # pour envoyer_mail
include_ecrire("inc_acces.php3"); # pour generer_htpass
include_local("inc-public-global.php3"); # pour calculer la page
include_local ("inc-cache.php3"); # ici c'est pour tester la connexion SQL
// Ce fichier est celui d'une balise dynamique qui s'ignore.
function formulaire_oubli_dyn($p, $oubli)
{
$erreur = '';
$message = '';
// au 3e appel la variable P est positionnee par le script lui-meme
// et oubli = mot passe. Le choix du nom P est impose par pass_mail_passcookie
if ($p = addslashes($p)) {
$res = spip_query ("SELECT * FROM spip_auteurs WHERE cookie_oubli='$p' AND statut<>'5poubelle' AND pass<>''");
$res = spip_query("SELECT * FROM spip_auteurs WHERE cookie_oubli='$p' AND statut<>'5poubelle' AND pass<>''");
if (!$row = spip_fetch_array($res))
$erreur = _T('pass_erreur_code_inconnu');
$message = _T('pass_erreur_code_inconnu');
else {
if ($oubli) {
$mdpass = md5($oubli);
$htpass = generer_htpass($oubli);
spip_query ("UPDATE spip_auteurs SET htpass='$htpass', pass='$mdpass', alea_actuel='',
spip_query("UPDATE spip_auteurs SET htpass='$htpass', pass='$mdpass', alea_actuel='',
cookie_oubli='' WHERE cookie_oubli='$p'");
$login = $row['login'];
$erreur = "<b>"._T('pass_nouveau_enregistre')."</b>".
"<p>"._T('pass_rappel_login', array('login' => $login));
$message = "<b>" . _T('pass_nouveau_enregistre') . "</b>".
"<p>" . _T('pass_rappel_login', array('login' => $login));
}
}
} else {
// si p absent, oubli vaut alors le mail au 2e appel, vide au 1e
if ($oubli) {
if (email_valide($oubli)) {
if ( email_valide($oubli) ) {
$email = addslashes($oubli);
$res = spip_query("SELECT * FROM spip_auteurs WHERE email ='$email'");
if ($row = spip_fetch_array($res)) {
if ($row['statut'] == '5poubelle' OR $row['pass'] == '')
$erreur = _T('pass_erreur_acces_refuse');
$message = _T('pass_erreur_acces_refuse');
else {
$cookie = creer_uniqid();
spip_query("UPDATE spip_auteurs SET cookie_oubli = '$cookie' WHERE email ='$email'");
if (envoyer_mail($email,
"[" . lire_meta("nom_site") .'] ' ._T('pass_oubli_mot'),
if ( envoyer_mail($email,
"[" . lire_meta("nom_site") .'] ' . _T('pass_oubli_mot'),
_T('pass_mail_passcookie',
array('nom_site_spip' => lire_meta("nom_site"),
'adresse_site' => lire_meta("adresse_site"),
'cookie' => $cookie))))
$erreur = _T('pass_recevoir_mail');
$message = _T('pass_recevoir_mail');
else
$erreur = _T('pass_erreur_probleme_technique');
$message = _T('pass_erreur_probleme_technique');
}
}
else
$erreur = _T('pass_erreur_non_enregistre', array('email_oubli' => htmlspecialchars($oubli)));
$message = _T('pass_erreur_non_enregistre', array('email_oubli' => htmlspecialchars($oubli)));
} else {
$erreur = _T('pass_erreur_non_valide', array('email_oubli' => htmlspecialchars($oubli)));
$message = _T('pass_erreur_non_valide', array('email_oubli' => htmlspecialchars($oubli)));
}
}
}
return $erreur ? $erreur : array('formulaire_oubli', 0, array('p' => $p));
return array('formulaire_oubli', 0, array('p' => $p, 'message' => $message));
}
utiliser_langue_site();
utiliser_langue_visiteur();
install_debut_html(_T('pass_mot_oublie'));
inclure_balise_dynamique(formulaire_oubli_dyn($p, $oubli));
echo http_script_window_close();
install_fin_html();
?>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter