diff --git a/ecrire/inc_filtres.php3 b/ecrire/inc_filtres.php3 index 7c9d0225c363348845ac17a771c7ba220123c159..bb84a9021018db9c43db263c2223f9265b83e8a1 100644 --- a/ecrire/inc_filtres.php3 +++ b/ecrire/inc_filtres.php3 @@ -244,6 +244,13 @@ function sinon ($texte, $sinon='') { return $sinon; } +// |choixsivide{vide,pasvide} affiche pasvide si la chaine n'est pas vide... + +function choixsivide($a, $vide, $pasvide) {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;} + // // Date, heure, saisons @@ -704,4 +711,20 @@ function extraire_attribut($balise, $attribut) { else return ''; } +// fabrique un bouton de type $t de Name $n, de Value $v et autres attributs $a +function boutonne($t, $n, $v, $a='') { + return "\n<input type='$t'" . + (!$n ? '' : " name='$n'") . + " value=\"$v\" $a />"; +} + +function http_script($script, $src='', $noscript='') { + return '<script type="text/javascript"' + . ($src ? " src=\"$src\"" : '') + . ">" + . ($script ? "<!--\n$script\n//-->" : '') + . "</script>\n" + . (!$noscript ? '' : "<noscript>\n\t$noscript\n</noscript>\n"); +} + ?> diff --git a/ecrire/inc_lang.php3 b/ecrire/inc_lang.php3 index e8e06d19dd04ece260ddf08766cf672e556b54f9..61e9f23f31cc062a4a3c5401934dd761a0218b3c 100644 --- a/ecrire/inc_lang.php3 +++ b/ecrire/inc_lang.php3 @@ -447,44 +447,38 @@ function menu_langues($nom_select = 'var_lang', $default = '', $texte = '', $her } } - $ret = "<form action='$post' method='post' style='margin:0px; padding:0px;'>"; - if ($cible) - $ret .= "<input type='hidden' name='url' value='".quote_amp($cible)."' />"; - - if ($texte) - $ret .= $texte; - - if (_DIR_RESTREINT) - $style = "class='forml' style='vertical-align: top; max-height: 24px; margin-bottom: 5px; width: 120px;'"; - else if ($nom_select == 'var_lang_ecrire') - $style = "class='verdana1' style='background-color: $couleur_foncee; max-height: 24px; border: 1px solid white; color: white; width: 100px;'"; - else - $style = "class='fondl'"; - $postcomplet = new Link($post); if ($cible) $postcomplet->addvar('url', $cible); - $lien_post = $postcomplet->geturl(); - $ret .= "\n<select name='$nom_select' $style onchange=\"document.location.href='".$lien_post."&$nom_select='+this.options[this.selectedIndex].value\">\n"; - + $ret = ''; sort($langues); while (list(, $l) = each ($langues)) { - if ($l == $default) { - $selected = ' selected=\'selected\''; - } - else { - $selected = ''; - } + $selected = ($l == $default) ? ' selected=\'selected\'' : ''; if ($l == $herit) { $ret .= "<option class='maj-debut' style='font-weight: bold;' value='herit'$selected>" .traduire_nom_langue($herit)." ("._T('info_multi_herit').")</option>\n"; } else $ret .= "<option class='maj-debut' value='$l'$selected>".traduire_nom_langue($l)."</option>\n"; } - $ret .= "</select>\n"; - $ret .= "<noscript><input type='submit' name='Valider' value='>>' class='spip_bouton' /></noscript>"; - $ret .= "</form>"; - return $ret; + return "<form action='" + . $post + . "' method='post' style='margin:0px; padding:0px;'>" + . (!$cible ? '' : "<input type='hidden' name='url' value='".quote_amp($cible)."' />") + . $texte + . "<select name='$nom_select' " + . (_DIR_RESTREINT ? + ("class='forml' style='vertical-align: top; max-height: 24px; margin-bottom: 5px; width: 120px;'") : + (($nom_select == 'var_lang_ecrire') ? + ("class='verdana1' style='background-color: " . $couleur_foncee + . "; max-height: 24px; border: 1px solid white; color: white; width: 100px;'") : + "class='fondl'")) + . " onchange=\"document.location.href='" + . $postcomplet->geturl() + ."&$nom_select='+this.options[this.selectedIndex].value\">\n" + . $ret + . "</select>\n" + . "<noscript><input type='submit' name='Valider' value='>>' class='spip_bouton' /></noscript>" + . "</form>"; } diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3 index d0e08faf7e5e0cfe78f390aa6a407be758f7fdd6..73801e9e5c14f0ead44d57d87e7b1817cd50eaa8 100644 --- a/ecrire/inc_version.php3 +++ b/ecrire/inc_version.php3 @@ -1059,13 +1059,4 @@ function debut_entete($title, $entete='') { "<meta http-equiv='Content-Type' content='text/html; charset=$charset' />\n"; } -function http_script($script, $src='', $noscript='') { - return '<script type="text/javascript"' - . ($src ? " src=\"$src\"" : '') - . ">" - . ($script ? "<!--\n$script\n//-->" : '') - . "</script>\n" - . (!$noscript ? '' : "<noscript>\n\t$noscript\n</noscript>\n"); -} - ?> diff --git a/formulaire_inscription-dist.html b/formulaire_inscription-dist.html index dff22d8da5bfb29a92a992c72ca819718609f203..c972e70a5f5b4358e9948ce07b74fa7bdaae5bfe 100644 --- a/formulaire_inscription-dist.html +++ b/formulaire_inscription-dist.html @@ -1,7 +1,8 @@ -<:form_forum_indiquer_nom_email:> -<form method='post' action='#SELF' style='border: 0px; margin: 0px;'> - <fieldset style="border: none; font-weight: bold"> - <legend></legend> +[ +(#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 name="inscription" method='post' action='#SELF' style='border: 0px; margin: 0px;'> + <fieldset style="border: none; font-weight: bold"><legend></legend> <label> <:form_pet_votre_nom:> <input type="text" class="forml" name="nom_inscription" value="" size="30" /> @@ -11,6 +12,23 @@ <input type="text" class="forml" name="mail_inscription" value="" size="30" /> </label> </fieldset> - <div align="right"><input type="submit" class="spip_bouton" value="<:bouton_valider:>" /></div> + <div align="right"><input type="submit" class="spip_bouton" value="<:bouton_valider:>" /> + </div> </form> +<script type="text/javascript"><!-- +document.inscription.nom_inscription.focus() +--></script> +[<br /> +<div align="right"> +(#HTTP_VARS{mode}|choixsivide{'', ' '}) +<script type="text/javascript"><!-- +document.write("<a href='") +document.write((window.opener) ? "javascript:close()" : "./") +document.write("'><:pass_quitter_fenetre:><" + "/a>"); +//--></script> +<noscript> + [<a href='./'><:pass_retour_public:></a>] +</noscript> +</div> +] diff --git a/formulaire_login-dist.html b/formulaire_login-dist.html index dcf4281cd534beca002acc380266d8dda3472b39..eb88b8ba9455e5a99b6edbfdf32b7d3c95d920ee 100644 --- a/formulaire_login-dist.html +++ b/formulaire_login-dist.html @@ -6,8 +6,8 @@ (#HTTP_VARS{message}) <br /> <:forum_vous_enregistrer:> - <a href='spip_pass.php3?[mode=(#HTTP_VARS{mode})]' target="spip_pass" -onclick="javascript:window.open('spip_pass.php3?[mode=(#HTTP_VARS{mode})]', 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=450'); return false;"><:forum_vous_inscrire:></a><p /> + <a href='spip_inscription.php3?[mode=(#HTTP_VARS{mode})]' target="spip_pass" +onclick="javascript:window.open(this.href, 'spip_inscription, 'scrollbars=yes, resizable=yes, width=480, height=450'); return false;"><:forum_vous_inscrire:></a><p /> ]<div style="font-family: Verdana,arial,helvetica,sans-serif; font-size: 12px;"> <script type="text/javascript" src="ecrire/md5.js"></script> <form name="form_login" @@ -21,7 +21,7 @@ onclick="javascript:window.open('spip_pass.php3?[mode=(#HTTP_VARS{mode})]', 'spi <div class="spip_encadrer" style="text-align: [(#HTTP_VARS{spip_lang_left})]">[ <div class="reponse_formulaire">(#HTTP_VARS*{erreur})<br /><br /></div> ][ - <label><b><:login_login2:></b><br /></label>(#HTTP_VARS{login}|vide) + <label><b><:login_login2:></b><br /></label>(#HTTP_VARS{login}|choixsivide{' ',''}) <input type="text" name="var_login" class="forml" value="" size="40" /> ][ <div> @@ -68,9 +68,9 @@ document.form_login.(#HTTP_VARS{login}|choisir{session_password,var_login}).focu ] <div align="center" style="font-size: 12px;" >[[<a(#HTTP_VARS{sinscrire}) target="spip_pass" - href='spip_pass.php3?[mode=(#HTTP_VARS{mode})]' - onclick="javascript:window.open('spip_pass.php3?[mode=(#HTTP_VARS{mode})]', 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=450'); return false;"><:login_sinscrire:></a>]][[<a - href="(#HTTP_VARS{oubli})" + href='spip_inscription.php3?[mode=(#HTTP_VARS{mode})]' + onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=500'); return false;"><:login_sinscrire:></a>]][[<a (#HTTP_VARS{oubli}) + href="spip_pass.php3" target="spip_pass" onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=280'); return false;"><:login_motpasseoublie:></a>]][[<a href="(#HTTP_VARS{mode}|retoursite)"><:login_retoursitepublic:></a>]] diff --git a/formulaire_oubli-dist.html b/formulaire_oubli-dist.html new file mode 100644 index 0000000000000000000000000000000000000000..0a7bcc02f552d1d35d885ea98028578defd935e1 --- /dev/null +++ b/formulaire_oubli-dist.html @@ -0,0 +1,31 @@ +<form name="oubli_form" action='spip_pass.php3' method='post'> + <fieldset style="border: none;"><legend></legend>[ + <:pass_nouveau_pass:> + <input type='hidden' name="p" value="(#HTTP_VARS{p})"> + <label> + <:pass_choix_pass:> + <input type="password" name="oubli"> + </label>][ + (#HTTP_VARS{p}|choixsivide{' ',''}) + <label> + <:pass_indiquez_cidessous:> + <input type="texte" name="oubli"> + </label>] + <input type=submit class="fondl" value="<:pass_ok:>"> + </fieldset> +</form> +<br /> +<div align="right"> +<script type="text/javascript"><!-- +document.oubli_form.oubli.focus() +document.write("<a href='") +document.write((window.opener) ? "javascript:close()" : "./") +document.write("'><:pass_quitter_fenetre:><" + "/a>"); +//--></script> +<noscript> + [<a href='./'><:pass_retour_public:></a>] +</noscript> +</div> +<br /> + + diff --git a/inc-balises.php3 b/inc-balises.php3 index 38b685fdbe3abbf908e5a003b6a122b13cce87ac..29a2dfa31c28d11d3f2ff07b96856cd7165d8b75 100644 --- a/inc-balises.php3 +++ b/inc-balises.php3 @@ -58,7 +58,7 @@ function champs_traitements ($p) { 'typo_doublon($doublons,', $ps)); } - // on supprime les <IMGnnn> tant qu'on ne rapatrie pas + // on supprime les < IMGnnn > tant qu'on ne rapatrie pas // les documents distants joints.. // il faudrait aussi corriger les raccourcis d'URL locales return str_replace('%s', @@ -584,17 +584,17 @@ function calculer_balise_logo ($p) { if ($flag_fichier) $p->code = "calcule_fichier_logo($code_logo)"; else - $p->code = "affiche_logos($code_logo, '', $code_lien)"; + $p->code = "affiche_logos(array($code_logo, ''), $code_lien)"; } else { - $p->code = "calcule_logo('$type_objet', '" . + $p->code = "affiche_logos(calcule_logo('$type_objet', '" . (($suite_logo == '_SURVOL') ? 'off' : (($suite_logo == '_NORMAL') ? 'on' : 'ON')) . "', $_id_objet," . (($suite_logo == '_RUBRIQUE') ? champ_sql("id_rubrique", $p) : (($type_objet == 'RUBRIQUE') ? "sql_parent($_id_objet)" : "''")) . - ", $code_lien, '$flag_fichier')"; + ", '$flag_fichier'), $code_lien)"; } $p->statut = 'php'; return $p; diff --git a/inc-calcul-outils.php3 b/inc-calcul-outils.php3 index 1881fc3c30acca91936d2c088eadeaf86e28f1ad..026721d18b922a82013e8632ea4dff34b26965fb 100644 --- a/inc-calcul-outils.php3 +++ b/inc-calcul-outils.php3 @@ -15,16 +15,6 @@ if (defined("_INC_CALCUL_OUTILS")) return; define("_INC_CALCUL_OUTILS", "1"); - -# -# AFFREUX !! Passer tout ca en CSS au plus vite ! -# -tester_variable('espace_logos',3); -// HSPACE=xxx VSPACE=xxx pour les logos (#LOGO_ARTICLE) -tester_variable('espace_images',3); -// HSPACE=xxx VSPACE=xxx pour les images integrees - - // Pour les documents comme pour les logos, le filtre |fichier donne // le chemin du fichier apres 'IMG/' ; peut-etre pas d'une purete // remarquable, mais a conserver pour compatibilite ascendante. @@ -34,12 +24,48 @@ function calcule_fichier_logo($on) { return $r; } +// Renvoie le code html pour afficher un logo, avec ou sans survol, lien, etc. +// utilise la globale ci-dessous pour les attributs hspace & vspace + +tester_variable('espace_logos',3); + +function affiche_logos($logos, $lien, $align) { + static $num_survol=0; + global $espace_logos; + list ($arton, $artoff) = $logos; + $num_survol++; + if (!$arton) return $artoff; + $milieu = "<img src='$arton'" + . ($align ? " align='$align' " : '') + . " name='image$num_survol' border='0' " + . "alt='image$num_survol'" + . " hspace='$espace_logos' vspace='$espace_logos' class='spip_logos' />"; + + if ($artoff) { + if ($lien) { + $afflien = "<a href='$lien'"; + $afflien2 = "a>"; + } + else { + $afflien = "<div"; + $afflien2 = "div>"; + } + $milieu = "$afflien onmouseover=\"image$num_survol.src=". + "'$artoff'\" onmouseout=\"image$num_survol.src=". + "'$arton'\">$milieu</$afflien2"; + } + else if ($lien) { + $milieu = "<a href='$lien'>$milieu</a>"; + } + + return $milieu; +} // // Retrouver le logo d'un objet (et son survol) // -function calcule_logo($type, $onoff, $id, $id_rubrique, $lien, $align, $ff) { +function calcule_logo($type, $onoff, $id, $id_rubrique, $ff) { include_ecrire('inc_logos.php3'); $table_logos = array ( @@ -57,14 +83,12 @@ function calcule_logo($type, $onoff, $id, $id_rubrique, $lien, $align, $ff) { $on = cherche_image_nommee($type . $nom . intval($id)); if ($on) { if ($ff) - return ("$on[1].$on[2]"); + return (array('', "$on[1].$on[2]")); else { $off = ($onoff != 'ON') ? '' : cherche_image_nommee($type . 'off' . $id); - return affiche_logos(("$on[0]$on[1].$on[2]"), - ($off ? ("$off[0]$off[1].$off[2]") : ''), - $lien, - $align); + return array ("$on[0]$on[1].$on[2]", + ($off ? ("$off[0]$off[1].$off[2]") : '')); } } else if ($id_rubrique) { @@ -73,42 +97,8 @@ function calcule_logo($type, $onoff, $id, $id_rubrique, $lien, $align, $ff) { $id_rubrique = 0; } else if ($id AND $type == 'rub') $id = sql_parent($id); - else return ''; - } -} - - -// Renvoie le code html pour afficher le logo, avec ou sans survol, avec ou sans lien, etc. -function affiche_logos($arton, $artoff, $lien, $align) { - global $num_survol; - global $espace_logos; - - $num_survol++; - if (!$arton) return ''; - $milieu = "<img src='$arton'" - . ($align ? " align='$align' " : '') - . " name='image$num_survol' border='0' " - . "alt='image$num_survol'" - . " hspace='$espace_logos' vspace='$espace_logos' class='spip_logos' />"; - - if ($artoff) { - if ($lien) { - $afflien = "<a href='$lien'"; - $afflien2 = "a>"; - } - else { - $afflien = "<div"; - $afflien2 = "div>"; - } - $milieu = "$afflien onmouseover=\"image$num_survol.src=". - "'$artoff'\" onmouseout=\"image$num_survol.src=". - "'$arton'\">$milieu</$afflien2"; + else return array('',''); } - else if ($lien) { - $milieu = "<a href='$lien'>$milieu</a>"; - } - - return $milieu; } // diff --git a/inc-calcul.php3 b/inc-calcul.php3 index bc5946bd74376dce9eb497660b134b4cbc22ff8c..8bec7d03071e4323becf0198650be4aff942013d 100644 --- a/inc-calcul.php3 +++ b/inc-calcul.php3 @@ -21,7 +21,7 @@ include_ecrire("inc_debug_sql.php3"); include_local("inc-calcul-outils.php3"); // Ce fichier peut contenir une affectation de $dossier_squelettes indiquant -// le repertoire du source des squelettes (les pseudo-html avec <BOUCLE...) +// le repertoire du source des squelettes (les pseudo-html avec BOUCLE...) if (@file_exists("mes_fonctions.php3")) include_local ("mes_fonctions.php3"); @@ -59,7 +59,7 @@ function charger_squelette ($squelette) { $nom = $ext . '_' . md5($squelette); $sourcefile = $squelette . ".$ext"; - // le squelette est-il deja en memoire (<inclure> a repetition) + // le squelette est-il deja en memoire (INCLURE a repetition) if (function_exists($nom)) return $nom; diff --git a/inc-compilo-api.php3 b/inc-compilo-api.php3 index b273f9f63090cc5a65b61bab4b0f40c882556287..cdb395f3f8d156989e56daf1adac944536aa29bc 100644 --- a/inc-compilo-api.php3 +++ b/inc-compilo-api.php3 @@ -72,7 +72,7 @@ class Champ { // -> definira les pre et post-traitements obligatoires // champs pour la production de code dependant du contexte var $id_mere; // pour TOTAL_BOUCLE hors du corps - var $document; // pour embed et <img dans les textes + var $document; // pour embed et img dans les textes } diff --git a/inc-compilo-index.php3 b/inc-compilo-index.php3 index e9056c9cbace92fc41f8a42250504a9ef0af6fd4..6dc3b06c3954cc9f2f5e3e7f4d95ad401c8d46c8 100644 --- a/inc-compilo-index.php3 +++ b/inc-compilo-index.php3 @@ -151,7 +151,6 @@ function calculer_balise($nom, $p) { return $p; } - // // Traduction des balises dynamiques, notamment les "formulaire_*" // Inclusion du fichier associe a son nom. @@ -163,10 +162,10 @@ function calculer_balise($nom, $p) { function calculer_balise_dynamique($p, $nom, $l) { balise_distante_interdite($p); $param = param_balise($p); - $p->code = "executer_balise_dynamique('" . $nom . "', array(" + $p->code = "executer_balise_dynamique('" . $nom . "',\n\tarray(" . join(',',collecter_balise_dynamique($l, $p)) . filtres_arglist($param, $p) - . '), array(' + . "),\n\tarray(" . (!$p->fonctions ? '' : ("'" . join("','", $p->fonctions) . "'")) . "))"; $p->statut = 'php'; diff --git a/inc-formulaire_forum.php3 b/inc-formulaire_forum.php3 index 9dd3897c5338f76076707d46b2c464cf01f8d296..db4e42d155860c6a8d5e833d2b5cf66c1b0d75fc 100644 --- a/inc-formulaire_forum.php3 +++ b/inc-formulaire_forum.php3 @@ -196,13 +196,6 @@ function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubriq )); } -// fabrique un bouton de type $t de Name $n, de Value $v et autres attribut $a -function boutonne($t, $n, $v, $a='') { - return "\n<input type='$t'" . - (!$n ? '' : " name='$n'") . - " value=\"$v\" $a />"; -} - // Mots-cles dans les forums : // Si la variable de personnalisation $afficher_groupe[] est definie // dans le fichier d'appel, et si la table de reference est OK, proposer diff --git a/inc-formulaire_inscription.php3 b/inc-formulaire_inscription.php3 index 65476cb56ff85d2ef844464d8ee7f89b40a4a0cf..896dd9626697e1b78f712d09472147313732cfd7 100644 --- a/inc-formulaire_inscription.php3 +++ b/inc-formulaire_inscription.php3 @@ -13,13 +13,11 @@ function balise_FORMULAIRE_INSCRIPTION_stat($args, $filtres) } function balise_FORMULAIRE_INSCRIPTION_dyn($type, $mail_inscription, $nom_inscription) { - if ($type == 'redac') { + if (($type == 'redac') AND (lire_meta("accepter_inscriptions") == "oui")) $statut = "nouveau"; - } - else if ($type == 'forum') { + else if (($type == 'forum') AND ((lire_meta('accepter_visiteurs') == 'oui') OR (lire_meta('forums_publics') == 'abo'))) $statut = "6forum"; - } - else return ''; // tentative de hack...? + else return _T('pass_rien_a_faire_ici'); if (test_mail_ins($type, $mail_inscription) && $nom_inscription) { include(_FILE_CONNECT); diff --git a/inc-formulaire_signature.php3 b/inc-formulaire_signature.php3 index 75563551378456144d8103d7d0ed5ef303950d0d..68d5bb213858e430250ec9d6bc807e610bab1b96 100644 --- a/inc-formulaire_signature.php3 +++ b/inc-formulaire_signature.php3 @@ -24,7 +24,6 @@ function balise_FORMULAIRE_SIGNATURE_dyn($id_article, $nom_email, $adresse_email } } -function choixsiegal($a1,$a2,$v,$f) {return ($a1 == $a2) ? $v : $f;} // // Retour a l'ecran du lien de confirmation d'une signature de petition. diff --git a/inc-login_public.php3 b/inc-login_public.php3 index fbbbac6c5e68e6e8918f5b74a9203bc7c3ccb3e4..a44b7c86419e07be5b65c5830c0a0b511601d48d 100644 --- a/inc-login_public.php3 +++ b/inc-login_public.php3 @@ -102,7 +102,7 @@ function login_pour_tous($login, $cible, $message, $action, $mode) { 'url' => $cible, 'auth' => $auth, 'mode' => $mode, - 'oubli' => (tester_mail() ? 'spip_pass.php3?mode=oubli_pass' : ''), + 'oubli' => (tester_mail() ? ' ' : ''), 'echec_cookie' => ($echec_cookie ? ' ' : ''), 'spip_lang_left' => $spip_lang_left, 'message' => ($message ? ' ' : ''), diff --git a/spip_inscription.php3 b/spip_inscription.php3 new file mode 100644 index 0000000000000000000000000000000000000000..fa79c76087e2f5659ac645f4de30ee0777948436 --- /dev/null +++ b/spip_inscription.php3 @@ -0,0 +1,12 @@ +<?php +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(); +install_debut_html(_T('pass_vousinscrire')); +inclure_balise_dynamique(balise_formulaire_inscription_dyn($mode, $mail_inscription, $nom_inscription)); +install_fin_html(); +?> diff --git a/spip_pass.php3 b/spip_pass.php3 index c85731bfc11e108ea81fee799ed6e671a4ef46aa..9a3c506261d0c3a0ddf5670b51efdd986ac17767 100644 --- a/spip_pass.php3 +++ b/spip_pass.php3 @@ -10,49 +10,38 @@ 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"); -utiliser_langue_site(); -utiliser_langue_visiteur(); +// Ce fichier est celui d'une balise dynamique qui s'ignore. -unset($erreur); +function formulaire_oubli_dyn($p, $oubli) +{ -$mode = $GLOBALS['mode']; -if ($oubli_pass == 'oui') $mode = 'oubli_pass'; # backward compatible +$erreur = ''; -// recuperer le cookie de relance +// 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)) { - $mode = 'oubli_pass'; $res = spip_query ("SELECT * FROM spip_auteurs WHERE cookie_oubli='$p' AND statut<>'5poubelle' AND pass<>''"); - if ($row = spip_fetch_array($res)) { - if ($pass) { - $mdpass = md5($pass); - $htpass = generer_htpass($pass); + if (!$row = spip_fetch_array($res)) + $erreur = _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='', cookie_oubli='' WHERE cookie_oubli='$p'"); $login = $row['login']; $erreur = "<b>"._T('pass_nouveau_enregistre')."</b>". "<p>"._T('pass_rappel_login', array('login' => $login)); - } else { - install_debut_html(_T('pass_nouveau_pass')); - echo "<p><br>", - "<form action='spip_pass.php3' method='post'>", - "<input type='hidden' name='p' value='".htmlspecialchars($p)."'>", - _T('pass_choix_pass')."<br>\n", - "<input type='password' name='pass' value=''>", - '<input type=submit class="fondl" value="'._T('pass_ok').'"></div></form>'; - install_fin_html(); - exit; } } - else - $erreur = _T('pass_erreur_code_inconnu'); -} - -// envoyer le cookie de relance mot de passe -if ($email_oubli) { - if (email_valide($email_oubli)) { - $email = addslashes($email_oubli); + } else { + // si p absent, oubli vaut alors le mail au 2e appel, vide au 1e + if ($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'] == '') @@ -61,74 +50,30 @@ if ($email_oubli) { $cookie = creer_uniqid(); spip_query("UPDATE spip_auteurs SET cookie_oubli = '$cookie' WHERE email ='$email'"); - $nom_site_spip = lire_meta("nom_site"); - $adresse_site = lire_meta("adresse_site"); - - $message = _T('pass_mail_passcookie', array('nom_site_spip' => $nom_site_spip, 'adresse_site' => $adresse_site, 'cookie' => $cookie)); - if (envoyer_mail($email, "[$nom_site_spip] "._T('pass_oubli_mot'), $message)) + if (envoyer_mail($email, + "[$nom_site_spip] " ._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'); else $erreur = _T('pass_erreur_probleme_technique'); } } else - $erreur = _T('pass_erreur_non_enregistre', array('email_oubli' => htmlspecialchars($email_oubli))); - } - else - $erreur = _T('pass_erreur_non_valide', array('email_oubli' => htmlspecialchars($email_oubli))); -} - -if ($mode == 'oubli_pass') { - // debut presentation - install_debut_html(_T('pass_mot_oublie')); - - echo "<p>"; - if ($erreur) - echo $erreur; - else { - echo _T('pass_indiquez_cidessous'), - "<p>", - '<form action="spip_pass.php3" method="post">', - '<div align="right">', - '<input type="text" class="fondo" name="email_oubli" value="">', - '<input type="hidden" name="mode" value="oubli_pass">', - '<input type=submit class="fondl" value="'._T('pass_ok').'"></div></form>'; - } -} -else { - $inscriptions = (lire_meta("accepter_inscriptions") == "oui"); - - if ($inscriptions OR (lire_meta('accepter_visiteurs') == 'oui') OR (lire_meta('forums_publics') == 'abo')) { - // debut presentation - - if (!$mode) - $mode = $inscriptions ? 'redac' : 'forum'; - - install_debut_html(_T('pass_vousinscrire')); - echo "<p>", - (($mode != 'forum') ? _T('pass_espace_prive_bla') : - _T('pass_forum_bla')), - "\n</p>"; - include_local("inc-formulaire_inscription.php3"); - include_local("inc-public-global.php3"); - inclure_balise_dynamique(balise_formulaire_inscription_dyn($mode, - $GLOBALS['mail_inscription'], - $GLOBALS['nom_inscription'])); - } - else { - install_debut_html(_T('pass_erreur')); - echo "<p>",_T('pass_rien_a_faire_ici'), '</p>'; + $erreur = _T('pass_erreur_non_enregistre', array('email_oubli' => htmlspecialchars($oubli))); + } else { + $erreur = _T('pass_erreur_non_valide', array('email_oubli' => htmlspecialchars($oubli))); } + } + } + return $erreur ? $erreur : array('formulaire_oubli', 0, array('p' => $p)); } -echo "<p align='right'>", -http_script("if (window.opener) document.write(\"<a href='javascript:close();'>\"); -else document.write(\"<a href='./'>\"); -document.write(\""._T('pass_quitter_fenetre')."</a>\");", - '', - "[<a href='./'>"._T('pass_retour_public')."</a>]"), - "</p>"; - +utiliser_langue_site(); +utiliser_langue_visiteur(); +install_debut_html(_T('pass_mot_oublie')); +inclure_balise_dynamique(formulaire_oubli_dyn($p, $oubli)); install_fin_html(); - ?>