diff --git a/inc-balises.php3 b/inc-balises.php3 index 0c22f1289b3bef385a2645e649b55c1e43d91813..08924820847fc4981c664974f2107ae84dff765d 100644 --- a/inc-balises.php3 +++ b/inc-balises.php3 @@ -17,7 +17,6 @@ if (defined("_INC_BALISES")) return; define("_INC_BALISES", "1"); - // // Traitements standard de divers champs // @@ -92,7 +91,6 @@ function balise_CHARSET_dist($p) { return $p; } - function balise_LANG_LEFT_dist($p) { $_lang = champ_sql('lang', $p); $p->code = "lang_dir(($_lang ? $_lang : \$GLOBALS['spip_lang']),'left','right')"; @@ -478,16 +476,17 @@ function balise_LESAUTEURS_dist ($p) { // #PETITION // Champ testant la presence d'une petition -// non documente ??? +// non documente mais indispensable a FORMULAIRE_PETITION + function balise_PETITION_dist ($p) { $nom = $p->id_boucle; $p->code = "sql_petitions(" . champ_sql('id_article', $p) . ",'" . - $nom . - "','" . $p->boucles[$nom]->type_requete . "','" . + $nom . + "','" . $p->boucles[$nom]->sql_serveur . "', \$Cache)"; $p->statut = 'php'; @@ -510,7 +509,7 @@ function balise_POPULARITE_dist ($p) { // Fonction commune aux balises #LOGO_XXXX // (les balises portant ce type de nom sont traitees en bloc ici) // -function calcul_balise_logo ($p) { +function calculer_balise_logo ($p) { eregi("^LOGO_([A-Z]+)(_.*)?$", $p->nom_champ, $regs); $type_objet = $regs[1]; @@ -641,108 +640,48 @@ function balise_EXTRA_dist ($p) { return $p; } - - // -// Traduction des champs "formulaire" -// - -// -// Note : les balises de gestion de forums (FORMULAIRE_FORUM et -// PARAMETRES_FORUM) sont definies dans le fichier inc-forum.php3 -// qui centralise toute la gestion des forums +// Gros morceau inséparable du formulaire associe. On delegue // -// -// Formulaire de recherche -// -function balise_FORMULAIRE_RECHERCHE_dist($p) { - if ($p->fonctions) { - list(, $lien) = each($p->fonctions); // le premier est un url - while (list(, $filtre) = each($p->fonctions)) - $filtres[] = $filtre; // les suivants sont des filtres - $p->fonctions = $filtres; - } - if (!$lien) $lien = 'recherche.php3'; - - $formulaire_recherche = "\"<form action='$lien' method='get' class='formrecherche'><input type='text' id='formulaire_recherche' size='20' class='formrecherche' name='recherche' value='\" . _T('info_rechercher') . \"' /></form>\""; - - $p->code = "((lire_meta('activer_moteur') != 'oui') ? '' : - $formulaire_recherche)"; - - $p->statut = 'html'; - return $p; -} - - -// -// Formulaire d'inscription comme redacteur (dans inc-formulaires.php3) -// -function balise_FORMULAIRE_INSCRIPTION_dist($p) { - balise_distante_interdite($p); - $p->code = '((lire_meta("accepter_inscriptions") != "oui") ? "" : - ("<"."?php include_local(\'inc-formulaires.php3\'); lang_select(\'".$GLOBALS[\'spip_lang\']."\'); echo formulaire_inscription(\"redac\"); lang_dselect(); ?".">"))'; - - $p->statut = 'php'; - return $p; +function balise_PARAMETRES_FORUM_dist($p) { + include_local("inc-forum.php3"); + return calculer_balise_parametres($p); } // -// Formulaire ecrire auteur -// -function balise_FORMULAIRE_ECRIRE_AUTEUR_dist($p) { - balise_distante_interdite($p); - $_id_auteur = champ_sql('id_auteur', $p); - $_mail_auteur = champ_sql('email', $p); - - $p->code = '(!email_valide('.$_mail_auteur.') ? "" : - ("<'.'?php include_local(\'inc-formulaires.php3\'); lang_select(\'".$GLOBALS[\'spip_lang\']."\'); echo formulaire_ecrire_auteur(".'.$_id_auteur.'.", \'".texte_script('.$_mail_auteur.')."\'); lang_dselect(); ?'.'>"))'; - - $p->statut = 'php'; - return $p; -} +// Traduction des champs "formulaire" +// Inclusion du fichier associe a son nom. +// Ca donne les arguments a chercher dans la pile,on compile leur localisation +// Ensuite on delegue a une fonction generale definie dans inc-calcul-outils +// qui recevra a l'execution la valeurs des arguments, +// ainsi que les filtres (que la compilation ignore pour le moment) -// -// Formulaire signature de petition -// -function balise_FORMULAIRE_SIGNATURE_dist($p) { +function calculer_balise_formulaire($p) { balise_distante_interdite($p); - $_id_article = champ_sql('id_article', $p); - $nom = $p->id_boucle; - $code = "sql_petitions(" . - $_id_article . - ",'" . - $nom . - "','" . - $p->boucles[$nom]->type_requete . - "','" . - $p->boucles[$nom]->sql_serveur . - "', \$Cache)"; - - $p->code = '(!($petition = '. - $code . - ') ? "" : ("<"."?php include_local(\'inc-formulaires.php3\'); lang_select(\'".$GLOBALS[\'spip_lang\']."\'); -echo formulaire_signature(".' . - $_id_article . - '.", \'".texte_script(serialize($petition))."\'); lang_dselect(); ?".">"))'; - + $nom = strtolower(substr($p->nom_champ, strlen('FORMULAIRE_'))); + $filtres = $p->fonctions; + $file = 'inc-' . $nom . _EXTENSION_PHP; + include_local($file); + $l = $GLOBALS[$nom . '_array']; + $p->code = "calculer_formulaire('$nom', array(" + . join(',',calculer_multiple_balise($l, $p)) + . '), array(' + . (!$filtres ? '' : ("'" . join("','", $filtres) . "'")) + . "))"; $p->statut = 'php'; return $p; } -// Formulaire d'inscription de site dans l'annuaire -function balise_FORMULAIRE_SITE_dist($p) { - balise_distante_interdite($p); - $_id_rubrique = champ_sql('id_rubrique', $p); - - $p->code = '((lire_meta("proposer_sites") != 2) ? "": - ("<"."?php include_local(\'inc-formulaires.php3\'); lang_select(\'".$GLOBALS[\'spip_lang\']."\'); echo formulaire_site(\'".'.$_id_rubrique.'."\'); lang_dselect(); ?".">"))'; +// construire un tableau des valeurs interessant un formulaire - $p->statut = 'php'; - return $p; +function calculer_multiple_balise($l, $p) { + $args = array(); + foreach($l as $c) { $x = calculer_balise($c, $p); $args[] = $x->code;} + return $args; } -// il faudrait traiter le formulaire en local +// il faudrait savoir traiter les formulaires en local // tout en appelant le serveur SQL distant. // En attendant, refuser une authentification sur qqch qui n'a rien à voir. @@ -753,7 +692,6 @@ function balise_distante_interdite($p) { } } - // // Boutons d'administration: // @@ -763,19 +701,4 @@ function balise_FORMULAIRE_ADMIN_dist($p) { return $p; } - -function balise_HTTP_dist($p) { - if (is_array($p->fonctions)) { - foreach($p->fonctions as $nom) { - if (is_numeric($nom)) - $p->code = " http_status($nom);"; - else - $p->code = " header($nom);"; - } - $p->code = '("<" . "?php ' . $p->code . ' ?" . ">")'; - $p->fonctions = array(); - } - $p->statut = 'php'; - return $p; -} ?> diff --git a/inc-calcul-outils.php3 b/inc-calcul-outils.php3 index 4ef07c49f6a34c7e5c416e3c9631f0cda31f2849..6093df51804f671b0dc1d34899ec50d4032ccb82 100644 --- a/inc-calcul-outils.php3 +++ b/inc-calcul-outils.php3 @@ -146,6 +146,34 @@ function calcul_introduction ($type, $texte, $chapo='', $descriptif='') { } } +function calculer_formulaire($nom, $args, $filtres) +{ + $file = 'inc-' .$nom . _EXTENSION_PHP; + include_local($file); + + $f = $nom . '_stat'; + $r = $f($args, $filtres); + if (is_string($r)) + return $r; + else + return + ('<'.'?php +lang_select(\'' + . $GLOBALS["spip_lang"] + . '\'); +include_local("' + . $file + . '"); +echo ' + . $nom + . '_dyn(' + . join(',',$r) + . '); +lang_dselect(); +?' + .">"); +} + // // FONCTIONS FAISANT DES APPELS SQL // @@ -348,8 +376,9 @@ function sql_petitions($id_article, $table, $id_boucle, $serveur, &$Cache) { '','','','',1, $table, $id_boucle, $serveur); - if ($retour) - $Cache['petition']['petition'] = 1; # cette page est invalidee par toute petition + # cette page est invalidee par toute petition + if ($retour AND $Cache) + $Cache['petition']['petition'] = 1; return $retour; } diff --git a/inc-compilo-index.php3 b/inc-compilo-index.php3 index 9a3f442abd994c0b922f9e66b92c7e3f3e8a2936..5caf0aa7acc8c7de20e362f9b3815c6a9dfa2852 100644 --- a/inc-compilo-index.php3 +++ b/inc-compilo-index.php3 @@ -90,57 +90,61 @@ function index_pile($idb, $nom_champ, &$boucles, $explicite='') { return('$Pile[0][\''.$nom_champ.'\']'); } +# calculer_champ genere le code PHP correspondant a une balise Spip +# Retourne une EXPRESSION php +function calculer_champ($p) { + $p = calculer_balise($p->nom_champ, $p); + + // definir le type et les traitements + // si ca ramene le choix par defaut, ce n'est pas un champ + + if (($p->code) && ($p->code != '$Pile[0][\''.$nom.'\']')) { + // Par defaut basculer en numerique pour les #ID_xxx + if (substr($nom,0,3) == 'ID_') $p->statut = 'num'; + } + + else { + // on renvoie la forme initiale '#TOTO' + $p->code = "'#" . $nom . "'"; + $p->statut = 'php'; // pas de traitement + + } + + // Retourner l'expression php correspondant au champ + ses filtres + return applique_filtres($p); +} + // cette fonction sert d'API pour demander le champ '$champ' dans la pile function champ_sql($champ, $p) { return index_pile($p->id_boucle, $champ, $p->boucles, $p->nom_boucle); } -# calculer_champ genere le code PHP correspondant a la balise Spip $nom_champ -# Retourne une EXPRESSION php -function calculer_champ($p) { - - $nom_champ = $p->nom_champ; +// cette fonction sert d'API pour demander une balise quelconque sans filtre +function calculer_balise($nom, $p) { // regarder s'il existe une fonction personnalisee balise_NOM() - $f = 'balise_' . $nom_champ; + $f = 'balise_' . $nom; if (function_exists($f)) - $p = $f($p); + return $f($p); - else { // regarder s'il existe une fonction standard balise_NOM_dist() - $f = 'balise_' . $nom_champ . '_dist'; + $f = 'balise_' . $nom . '_dist'; if (function_exists($f)) - $p = $f($p); + return $f($p); - else { // S'agit-il d'un logo ? Une fonction speciale les traite tous - if (ereg('^LOGO_', $nom_champ)) - $p = calcul_balise_logo($p); - - else { - // On regarde ensuite s'il y a un champ SQL homonyme, - // et on definit le type et les traitements - $p->code = index_pile($p->id_boucle, $nom_champ, $p->boucles, $p->nom_boucle); - if (($p->code) && ($p->code != '$Pile[0][\''.$nom_champ.'\']')) { - - // Par defaut basculer en numerique pour les #ID_xxx - if (substr($nom_champ,0,3) == 'ID_') $p->statut = 'num'; - } + if (ereg('^LOGO_', $nom)) + return calculer_balise_logo($p); - else { - // si index_pile a ramene le choix par defaut, - // ca doit plutot etre un champ SPIP non SQL, - // ou ni l'un ni l'autre => on le renvoie sous la forme brute '#TOTO' - $p->code = "'#" . $nom_champ . "'"; - $p->statut = 'php'; // pas de traitement - - }}}} + // S'agit-il d'un formulaire ? Une fonction speciale les traite tous + if (ereg('^FORMULAIRE_', $nom)) + return calculer_balise_formulaire($p); - // Retourner l'expression php correspondant au champ + ses filtres - return applique_filtres($p); + // ca doit etre un champ SQL homonyme, + $p->code = index_pile($p->id_boucle, $nom, $p->boucles, $p->nom_boucle); + return $p; } - // Genere l'application d'une liste de filtres function applique_filtres($p) { $statut = $p->statut; diff --git a/inc-compilo.php3 b/inc-compilo.php3 index 5caa9efaa919c32ed3d1b704609ab4502e5f6059..8344a2ad7babee861022a5f7622e2c0a666664c7 100644 --- a/inc-compilo.php3 +++ b/inc-compilo.php3 @@ -22,9 +22,6 @@ include_local("inc-criteres.php3"); // definition des balises include_local("inc-balises.php3"); -// gestion des balises de forums -include_local("inc-forum.php3"); - // definition de l'API include_local("inc-compilo-api.php3"); diff --git a/inc-criteres.php3 b/inc-criteres.php3 index 9c4de79404eb01a83a135d3776ec4e87a55d2112..61b5e28efcf8ff3451e74f76c2f99fbdc5b15c6b 100644 --- a/inc-criteres.php3 +++ b/inc-criteres.php3 @@ -25,13 +25,13 @@ function critere_racine_dist($idb, &$boucles, $param, $not) { // http://www.spip.net/@exclus function critere_exclus_dist($idb, &$boucles, $param, $not) { $boucle = &$boucles[$idb]; + $id = $boucle->primary; - if ($param != 'exclus' OR $not) + if ($param != 'exclus' OR $not OR !$id) erreur_squelette(_T('info_erreur_squelette'), $param); - $boucle->where[] = $boucle->id_table . '.' . $boucle->primary."!='\"." - . calculer_argument_precedent($idb,$boucle->primary, $boucles) . - ".\"'"; + $arg = calculer_argument_precedent($idb,$id, $boucles); + $boucle->where[] = $boucle->id_table . '.' . $id."!='\"." . $arg . ".\"'"; } diff --git a/inc-ecrire_auteur.php3 b/inc-ecrire_auteur.php3 new file mode 100644 index 0000000000000000000000000000000000000000..08e48cdfa673d51af53aee385acc10506691e81f --- /dev/null +++ b/inc-ecrire_auteur.php3 @@ -0,0 +1,81 @@ +<?php + +global $ecrire_auteur_array ; +$ecrire_auteur_array = array('id_auteur', + 'email', + 'sujet_message_auteur', + 'texte_message_auteur', + 'email_message_auteur' +); + +function ecrire_auteur_stat($args, $filtres) +{ + list($id_auteur, $mail, $sujet, $texte, $adres) = $args; + return (!email_valide($mail) ? '' : + array("$id_auteur", + "'$mail'", + "'" . addslashes($sujet) ."'", + "'" . addslashes($texte) ."'", + "'" . addslashes($adres) ."'")); +} + +function ecrire_auteur_dyn($id_auteur, $mail, $sujet, $texte, $adres) { + global $flag_wordwrap, $spip_lang_rtl; + $puce_ligne = "<br /><img src='puce$spip_lang_rtl.gif' border='0' alt='-' /> "; + + include_ecrire("inc_filtres.php3"); + + if ($texte) { + if ($sujet == "") + $erreur = _T('form_prop_indiquer_sujet'); + else if (! email_valide($adres) ) + $erreur = _T('form_prop_indiquer_email'); + else if ($GLOBALS['valide_message_auteur']) { // verifier hash ? + $texte .= "\n\n-- "._T('envoi_via_le_site')." ".lire_meta('nom_site')." (".lire_meta('adresse_site')."/) --\n"; + include_ecrire("inc_mail.php3"); + envoyer_mail(texte_script($email_auteur), + $sujet, $texte, $adres, + "X-Originating-IP: ".$GLOBALS['REMOTE_ADDR']); + return $puce_ligne . _T('form_prop_message_envoye'); + } else { //preview + if ($flag_wordwrap) $texte = wordwrap($texte); + $link = $GLOBALS['clean_link']; + $link->addVar('email_message_auteur', $adres); + $link->addVar('sujet_message_auteur', $sujet); + $link->addVar('texte_message_auteur', $texte); + $link->addVar('valide_message_auteur', 'oui'); + return + "<br />" + . _T('form_prop_sujet') + . " <b>" + . entites_html($sujet) + . "</b></div>" + . "<pre>" + . entites_html($texte) + . "</pre>" + . $link->getForm('post') + . "<div align=\"right\"><input type=\"submit\" class=\"spip_bouton\" value=\"" + . _T('form_prop_confirmer_envoi') + . "\" />" + . "</form>"; + } + } + + if ($erreur) $res = $puce_ligne . $erreur . '<br /><br /> '; + + $retour = $GLOBALS['REQUEST_URI']; + $link = $GLOBALS['clean_link']; + return $res + . $link->getForm('post') + ._T('form_pet_votre_email')."<br />" . + "<input type=\"text\" class=\"forml\" name=\"email_message_auteur\" value=\"".entites_html($adres)."\" SIZE=\"30\" />\n" . + "<p>"._T('form_prop_sujet')."<br />" . + "<input type=\"text\" class=\"forml\" name=\"sujet_message_auteur\" value=\"".entites_html($sujet)."\" SIZE=\"30\" /></p>\n" . + "<p><textarea name='texte_message_auteur' rows='10' class='forml' cols='40' wrap=soft>" + .entites_html($texte)."</textarea></p>\n" . + "<div align=\"right\"><input type=\"submit\" class=\"spip_bouton\" value=\""._T('form_prop_envoyer')."\" /></div>" . + "</form>"; + +} + +?> diff --git a/inc-formulaires.php3 b/inc-formulaires.php3 deleted file mode 100644 index f0c098f99a39b9f03f8686191adc811ba83ff79c..0000000000000000000000000000000000000000 --- a/inc-formulaires.php3 +++ /dev/null @@ -1,573 +0,0 @@ -<?php - -// -// Ce fichier ne sera execute qu'une fois -if (defined("_INC_FORMULAIRES")) return; -define("_INC_FORMULAIRES", "1"); - -include_ecrire('inc_filtres.php3'); -include_ecrire('inc_lang.php3'); // pour lang_select - -function test_pass() { - include_ecrire("inc_acces.php3"); - for (;;) { - $passw = creer_pass_aleatoire(); - $query = "SELECT statut FROM spip_signatures WHERE statut='$passw'"; - $result = spip_query($query); - if (!spip_num_rows($result)) break; - } - return $passw; -} - -function test_login($mail) { - if (strpos($mail, "@") > 0) $login_base = substr($mail, 0, strpos($mail, "@")); - else $login_base = $mail; - - $login_base = strtolower($login_base); - $login_base = ereg_replace("[^a-zA-Z0-9]", "", $login_base); - if (!$login_base) $login_base = "user"; - - for ($i = 0; ; $i++) { - if ($i) $login = $login_base.$i; - else $login = $login_base; - $query = "SELECT id_auteur FROM spip_auteurs WHERE login='$login'"; - $result = spip_query($query); - if (!spip_num_rows($result)) break; - } - - return $login; -} - -function erreur($zetexte){ - global $spip_lang_rtl; - return "<br /><img src='puce$spip_lang_rtl.gif' border='0' alt='-' /> $zetexte"; -} - - -// -// Retour a l'ecran du lien de confirmation d'une signature de petition -// - -function reponse_confirmation($id_article, $val_confirm) { - - include(_FILE_CONNECT); - - if ($GLOBALS['db_ok']) { - include_ecrire("inc_texte.php3"); - include_ecrire("inc_filtres.php3"); - - // Eviter les doublons - $lock = "petition $id_article $val_confirm"; - if (!spip_get_lock($lock, 5)) { - $texte = _T('form_pet_probleme_technique'); - } - else { - $query_sign = "SELECT * FROM spip_signatures WHERE statut='".addslashes($val_confirm)."'"; - $result_sign = spip_query($query_sign); - if (spip_num_rows($result_sign) > 0) { - while($row = spip_fetch_array($result_sign)) { - $id_signature = $row['id_signature']; - $id_article = $row['id_article']; - $date_time = $row['date_time']; - $nom_email = $row['nom_email']; - $adresse_email = $row['ad_email']; - $nom_site = $row['nom_site']; - $url_site = $row['url_site']; - $message = $row['message']; - $statut = $row['statut']; - } - - $query_petition = "SELECT * FROM spip_petitions WHERE id_article=$id_article"; - $result_petition = spip_query($query_petition); - - while ($row = spip_fetch_array($result_petition)) { - $id_article = $row['id_article']; - $email_unique = $row['email_unique']; - $site_obli = $row['site_obli']; - $site_unique = $row['site_unique']; - $message_petition = $row['message']; - $texte_petition = $row['texte']; - } - - if ($email_unique == "oui") { - $email = addslashes($adresse_email); - $query = "SELECT * FROM spip_signatures WHERE id_article=$id_article AND ad_email='$email' AND statut='publie'"; - $result = spip_query($query); - if (spip_num_rows($result) > 0) { - $texte .= erreur(_T('form_pet_deja_signe')); - $refus = "oui"; - } - } - - if ($site_unique == "oui") { - $site = addslashes($url_site); - $query = "SELECT * FROM spip_signatures WHERE id_article=$id_article AND url_site='$site' AND statut='publie'"; - $result = spip_query($query); - if (spip_num_rows($result) > 0) { - $texte .= erreur(_T('form_pet_deja_enregistre')); - $refus = "oui"; - } - } - - if ($refus == "oui") { - $texte .= erreur(_T('form_deja_inscrit')); - } - else { - $query = "UPDATE spip_signatures SET statut='publie' WHERE id_signature='$id_signature'"; - $result = spip_query($query); - // invalider les pages ayant des boucles signatures - include_ecrire('inc_invalideur.php3'); - suivre_invalideur("id='petition/petition'"); - - $texte .= erreur(_T('form_pet_signature_validee')); - } - } - else { - $texte .= erreur(_T('form_pet_aucune_signature')); - } - spip_release_lock($lock); - } - } - else { - $texte = _T('form_pet_probleme_technique'); - } - - $texte = "<div class='reponse_formulaire'><a name='sp$id_article'></a>$texte</div>"; - - // message pour formulaire_signature() - define('_REPONSE_CONFIRMATION_SIGNATURE', $texte); - -} - -// -// Retour a l'ecran de la signature d'une petition -// - -function reponse_signature($id_article) { - global $nom_email, $adresse_email, $message, $nom_site, $url_site, $url_page; - spip_log("signature petition $id_article ($adresse_email)"); - include(_FILE_CONNECT); - - if ($GLOBALS['db_ok']) { - include_ecrire("inc_texte.php3"); - include_ecrire("inc_filtres.php3"); - include_ecrire("inc_mail.php3"); - - // Eviter les doublons - $lock = "petition $id_article $adresse_email"; - if (!spip_get_lock($lock, 5)) { - $reponse_signature = _T('form_pet_probleme_technique'); - } - else { - $query_petition = "SELECT * FROM spip_petitions WHERE id_article=$id_article"; - $result_petition = spip_query($query_petition); - - while ($row = spip_fetch_array($result_petition)) { - $id_article = $row['id_article']; - $email_unique = $row['email_unique']; - $site_obli = $row['site_obli']; - $site_unique = $row['site_unique']; - $message_petition = $row['message']; - $texte_petition = $row['texte']; - } - - if (strlen($nom_email) < 2) { - $reponse_signature .= erreur(_T('form_indiquer_nom')); - $refus = "oui"; - } - - if ($adresse_email == _T('info_mail_fournisseur')) { - $reponse_signature .= erreur(_T('form_indiquer_email')); - $refus = "oui"; - } - - if ($email_unique == "oui") { - $email = addslashes($adresse_email); - $query = "SELECT * FROM spip_signatures WHERE id_article=$id_article AND ad_email='$email' AND statut='publie'"; - $result = spip_query($query); - if (spip_num_rows($result) > 0) { - $reponse_signature .= erreur(_T('form_pet_deja_signe')); - $refus = "oui"; - } - } - - if (!email_valide($adresse_email)) { - $reponse_signature .= erreur(_T('form_email_non_valide')); - $refus = "oui"; - } - - if ($site_obli == "oui") { - if (!$nom_site) { - $reponse_signature .= erreur(_T('form_indiquer_nom_site')); - $refus = "oui"; - } - include_ecrire("inc_sites.php3"); - - if (!recuperer_page($url_site)) { - $reponse_signature .= erreur(_T('form_pet_url_invalide')); - $refus = "oui"; - } - } - if ($site_unique == "oui") { - $site = addslashes($url_site); - $query = "SELECT * FROM spip_signatures WHERE id_article=$id_article AND url_site='$site' AND (statut='publie' OR statut='poubelle')"; - $result = spip_query($query); - if (spip_num_rows($result) > 0) { - $reponse_signature .= erreur(_T('form_pet_site_deja_enregistre')); - $refus = "oui"; - } - } - - $passw = test_pass(); - - if ($refus == "oui") { - $reponse_signature.= "<P><FONT COLOR='red'><B>"._T('form_pet_signature_pasprise')."</B></FONT><P>"; - } - else { - $query_site = "SELECT titre FROM spip_articles WHERE id_article=$id_article"; - $result_site = spip_query($query_site); - while ($row = spip_fetch_array($result_site)) { - $titre = $row['titre']; - } - - $link = new Link($url_page); - $link->addVar('val_confirm', $passw); - $url = $link->getUrl("sp$id_article"); - - $messagex = _T('form_pet_mail_confirmation', array('titre' => $titre, 'nom_email' => $nom_email, 'nom_site' => $nom_site, 'url_site' => $url_site, 'url' => $url)); - - if (envoyer_mail($adresse_email, _T('form_pet_confirmation')." ".$titre, $messagex)) { - $reponse_signature .= "<P><B>"._T('form_pet_envoi_mail_confirmation')."</B>"; - - $nom_email = addslashes($nom_email); - $adresse_email = addslashes($adresse_email); - $nom_site = addslashes($nom_site); - $url_site = addslashes($url_site); - $message = addslashes($message); - - $query = "INSERT INTO spip_signatures (id_article, date_time, nom_email, ad_email, nom_site, url_site, message, statut) ". - "VALUES ('$id_article', NOW(), '$nom_email', '$adresse_email', '$nom_site', '$url_site', '$message', '$passw')"; - $result = spip_query($query); - } - else { - $reponse_signature = _T('form_pet_probleme_technique'); - } - } - spip_release_lock($lock); - } - } - else { - $reponse_signature = _T('form_pet_probleme_technique'); - } - return "<div class='reponse_formulaire'><a name='sp$id_article'></a>$reponse_signature</div>"; -} - -// -// Formulaire de signature d'une petition -// - -function formulaire_signature_normal($id_article, $row_petition) { - include_ecrire("inc_texte.php3"); - include_ecrire("inc_mail.php3"); - - - $id_article = $row_petition['id_article']; - $email_unique = $row_petition['email_unique']; - $site_obli = $row_petition['site_obli']; - $site_unique = $row_petition['site_unique']; - $message_petition = $row_petition['message']; - $texte_petition = $row_petition['texte']; - - $link = new Link; - $url = lire_meta("adresse_site").'/'.$link->getUrl(); - $link->addVar('url_page', $url); - $retour .= $link->getForm('post', "sp$id_article"); - - $retour .= propre($texte_petition); - - $retour .= "<div><a name='sp$id_article'></a><fieldset><p><b>"._T('form_pet_votre_nom')."</b><br />"; - $retour .= "<input type=\"text\" class=\"forml\" name=\"nom_email\" value=\"\" size=\"20\" /></p>"; - - $retour .= "<p><b>"._T('form_pet_votre_email')."</b><br />"; - $retour .= "<input type=\"text\" class=\"forml\" name=\"adresse_email\" value=\"\" size=\"20\" /></p></fieldset>"; - - $retour .= "<br /><fieldset><p>"; - if ($site_obli != "oui") { - $retour .= _T('form_pet_votre_site')."<br />"; - } - $retour .= "<b>"._T('form_pet_nom_site2')."</b><br />"; - $retour .= "<input type=\"text\" class=\"forml\" name=\"nom_site\" value=\"\" size=\"20\" /></p>"; - - $retour .= "<p><b>"._T('form_pet_adresse_site')."</b><br />"; - $retour .= "<input type=\"text\" class=\"forml\" name=\"url_site\" value=\"http://\" size=\"20\" /></p></fieldset>"; - - if ($message_petition == "oui") { - $retour .= "<br /><fieldset>"; - - $retour .= "<b>"._T('form_pet_message_commentaire')."</b><br />"; - $retour .= "<textarea name=\"message\" rows=\"3\" class=\"forml\" cols=\"20\" wrap='soft'>"; - $retour .= "</textarea></fieldset>\n"; - } - else { - $retour .= "<input type=\"hidden\" name=\"message\" value=\"\" />"; - } - $retour .= "</div>"; - - $retour .= "<br /><div align=\"right\"><input type=\"submit\" name=\"Valider\" class=\"spip_bouton\" value=\""._T('bouton_valider')."\" />"; - $retour .= "</div></form>\n"; - - return $retour; -} - -// Aiguillage sur traitement de signature - -function formulaire_signature($id_article,$petition_s) { - lang_select($GLOBALS['spip_lang']); - if ($GLOBALS['val_confirm']) - $return= _REPONSE_CONFIRMATION_SIGNATURE; // geree par inc-public.php3 - else if ($GLOBALS['nom_email'] AND $GLOBALS['adresse_email']) - $return= reponse_signature($id_article); - else - if ($petition = unserialize($petition_s)) - $return= formulaire_signature_normal($id_article,$petition); - else $return=''; - lang_dselect(); - return $return; -} - -// inscrire les visiteurs dans l'espace public (statut 6forum) ou prive (statut nouveau->1comite) -// on n'est plus tres loin de faire de cette fonction un squelette. - -function formulaire_inscription($type) { - lang_select($GLOBALS['spip_lang']); - switch (status_inscription($type)) { - case 1: $res = ''; - break; - case 2: $res = ''; - break; - case 3: - $res = "<div class='reponse_formulaire'><b>" . - _T('form_forum_identifiant_mail') . - "</b></div>"; - break; - case 4: - $res = "<div class='reponse_formulaire'><b>" . - _T('form_forum_probleme_mail') . - "</b></div>"; - break; - case 5: - $res = "<div class='reponse_formulaire'><b>" . - _T('form_forum_access_refuse')."</b>" . - "</b></div>"; - break; - case 6: - $res = "<div class='reponse_formulaire'><b>" . - _T('form_forum_email_deja_enregistre') . - "</b></div>"; - break; - case 7: - { - $link = new Link; - $url = $link->getUrl(); - $url = quote_amp($url); - $res = _T('form_forum_indiquer_nom_email') . - "<form method='get' action='$url' style='border: 0px; margin: 0px;'>\n" . - "<div><b>"._T('form_pet_votre_nom')."</b></div>" . - "<div><input type=\"text\" class=\"forml\" name=\"nom_inscription\" value=\"\" size=\"30\" /></div>" . - "<div><b>"._T('form_pet_votre_email')."</b></div>" . - "<div><input type=\"text\" class=\"forml\" name=\"mail_inscription\" value=\"\" size=\"30\" /></div>" . - "<div align=\"right\"><input type=\"submit\" name=\"Valider\" class=\"spip_bouton\" value=\""._T('bouton_valider')."\" /></div>" . - "</form>"; - break; - } - } - lang_dselect(); - return $res; -} - -function status_inscription($type) { - - if ($type == 'redac') { - if (lire_meta("accepter_inscriptions") != "oui") return 1; - $statut = "nouveau"; - } - else if ($type == 'forum') { - $statut = "6forum"; - } - else return 2; // tentative de hack...? - - global $mail_inscription, $nom_inscription; - - if ($mail_inscription && $nom_inscription) { - include(_FILE_CONNECT); - // envoyer les identifiants si l'abonne n'existe pas déjà. - if (!$row = spip_fetch_array(spip_query("SELECT statut, id_auteur, login, pass FROM spip_auteurs WHERE email='".addslashes($mail_inscription)."' LIMIT 1"))) - { - include_ecrire("inc_acces.php3"); - $pass = creer_pass_aleatoire(8, $mail_inscription); - $login = test_login($mail_inscription); - $mdpass = md5($pass); - $htpass = generer_htpass($pass); - $r = spip_insert('spip_auteurs', - '(nom, email, login, pass, statut, htpass)', - "('".addslashes($nom_inscription)."', '".addslashes($mail_inscription)."', '$login', '$mdpass', '$statut', '$htpass')"); - ecrire_acces(); - return envoyer_inscription($mail_inscription, $statut, $type, $login, $pass); - } - - else { - // existant mais encore muet, renvoyer les infos - if ($row['statut'] == 'nouveau') { - return (envoyer_inscription($mail_inscription, $row['statut'], $type, $row['login'], $row['pass'])); - } else { - if ($row['statut'] == '5poubelle') - // dead - return 5; - else - // deja inscrit - return 6; - } - } - } - // demande du formulaire - else return 7; -} - - // envoyer identifiants par mail -function envoyer_inscription($mail, $statut, $type, $pass, $login) { - $nom_site_spip = lire_meta("nom_site"); - $adresse_site = lire_meta("adresse_site"); - - $message = _T('form_forum_message_auto')."\n\n"._T('form_forum_bonjour')."\n\n"; - if ($type == 'forum') { - $message .= _T('form_forum_voici1', array('nom_site_spip' => $nom_site_spip, 'adresse_site' => $adresse_site)) . "\n\n"; - } else { - $message .= _T('form_forum_voici2', array('nom_site_spip' => $nom_site_spip, 'adresse_site' => $adresse_site)) . "\n\n"; - } - $message .= "- "._T('form_forum_login')." $login\n"; - $message .= "- "._T('form_forum_pass')." $pass\n\n"; - - include_ecrire("inc_mail.php3"); - if (envoyer_mail($mail, "[$nom_site_spip] "._T('form_forum_identifiants'), $message)) - return 3; - else - return 4; -} - - -function formulaire_site($la_rubrique) { - include_ecrire("inc_mail.php3"); - lang_select($GLOBALS['spip_lang']); - - global $nom_site; - global $url_site; - global $description_site; - - if ($nom_site) { - // Tester le nom du site - if (strlen ($nom_site) < 2){ - $reponse_signature .= erreur(_T('form_prop_indiquer_nom_site')); - $refus = "oui"; - } - - // Tester l'URL du site - include_ecrire("inc_sites.php3"); - if (!recuperer_page($url_site)) { - $reponse_signature .= erreur(_T('form_pet_url_invalide')); - $refus = "oui"; - } - - // Integrer a la base de donnees - - if ($refus !="oui"){ - $nom_site = addslashes($nom_site); - $url_site = addslashes($url_site); - $description_site = addslashes($description_site); - - spip_query("INSERT INTO spip_syndic (nom_site, url_site, id_rubrique, descriptif, date, date_syndic, statut, syndication) ". - "VALUES ('$nom_site', '$url_site', $la_rubrique, '$description_site', NOW(), NOW(), 'prop', 'non')"); - $res = _T('form_prop_enregistre'); - } - else { - $res = $reponse_signature . - "<p> "._T('form_prop_non_enregistre') . "</p>"; - } - - $res = "<div class='reponse_formulaire'>$res</div>"; - } - else { - $link = $GLOBALS['clean_link']; - $res = $link->getForm('POST') . - "<p><div class='spip_encadrer'><b>"._T('form_prop_nom_site')."</b><br />" . - "<input type=\"text\" class=\"forml\" name=\"nom_site\" value=\"\" size=\"30\">" . - "</p><p><b>"._T('form_prop_url_site')."</b></p><br />" . - "<input type=\"text\" class=\"forml\" name=\"url_site\" value=\"\" size=\"30\"></div>" . - "<p><b>"._T('form_prop_description')."</b></p><br />" . - "<textarea name='description_site' rows='5' class='forml' cols='40' wrap=soft></textarea>" . - "<div align=\"right\"><input type=\"submit\" name=\"valider\" class=\"spip_bouton\" value=\""._t('bouton_valider')."\">" . - "</div></form>"; - } - lang_dselect(); - return $res; -} - -function formulaire_ecrire_auteur($id_auteur, $email_auteur) { - global $flag_wordwrap; - - include_ecrire("inc_texte.php3"); - include_ecrire("inc_filtres.php3"); - include_ecrire("inc_mail.php3"); - - lang_select($GLOBALS['spip_lang']); - $affiche_formulaire = true; - if ($GLOBALS['texte_message_auteur'.$id_auteur]) { - if ($GLOBALS['sujet_message_auteur'.$id_auteur] == "") - $erreur .= erreur(_T('form_prop_indiquer_sujet')); - else if (! email_valide($GLOBALS['email_message_auteur'.$id_auteur]) ) - $erreur .= erreur(_T('form_prop_indiquer_email')); - else if ($GLOBALS['valide_message_auteur'.$id_auteur]) { // verifier hash ? - $GLOBALS['texte_message_auteur'.$id_auteur] .= "\n\n-- "._T('envoi_via_le_site')." ".lire_meta('nom_site')." (".lire_meta('adresse_site')."/) --\n"; - envoyer_mail($email_auteur, - $GLOBALS['sujet_message_auteur'.$id_auteur], - $GLOBALS['texte_message_auteur'.$id_auteur], $GLOBALS['email_message_auteur'.$id_auteur], - "X-Originating-IP: ".$GLOBALS['REMOTE_ADDR']); - $erreur .= erreur(_T('form_prop_message_envoye')); - $affiche_formulaire = false; - } else { //preview - $res = "<br /><div class='spip_encadrer'>"._T('form_prop_sujet')." <b>".entites_html($GLOBALS['sujet_message_auteur'.$id_auteur])."</b></div>"; - if ($flag_wordwrap) - $GLOBALS['texte_message_auteur'.$id_auteur] = wordwrap($GLOBALS['texte_message_auteur'.$id_auteur]); - $res .= "<pre>".entites_html($GLOBALS['texte_message_auteur'.$id_auteur])."</pre>"; - $affiche_formulaire = false; - $link = $GLOBALS['clean_link']; - $link->addVar('email_message_auteur'.$id_auteur, $GLOBALS['email_message_auteur'.$id_auteur]); - $link->addVar('sujet_message_auteur'.$id_auteur, $GLOBALS['sujet_message_auteur'.$id_auteur]); - $link->addVar('texte_message_auteur'.$id_auteur, $GLOBALS['texte_message_auteur'.$id_auteur]); - $link->addVar('valide_message_auteur'.$id_auteur, 'oui'); - $res .= $link->getForm('post') . - "<div align=\"right\"><input type=\"submit\" name=\"Confirmer\" class=\"spip_bouton\" value=\""._T('form_prop_confirmer_envoi')."\" />" . - "</div></form>"; - } - } - - if ($erreur) - $res = "<div class='spip_encadrer'><b>$erreur<br /> </b></div>\n"; - - if ($affiche_formulaire) { - $retour = $GLOBALS['REQUEST_URI']; - $link = $GLOBALS['clean_link']; - $res .= $link->getForm('post') . - "<div class='spip_encadrer'><b>"._T('form_pet_votre_email')."</b><br />" . - "<input type=\"text\" class=\"forml\" name=\"email_message_auteur$id_auteur\" value=\"".entites_html($GLOBALS['email_message_auteur'.$id_auteur])."\" SIZE=\"30\" />\n" . - "<p><b>"._T('form_prop_sujet')."</b><br />" . - "<input type=\"text\" class=\"forml\" name=\"sujet_message_auteur$id_auteur\" value=\"".entites_html($GLOBALS['sujet_message_auteur'.$id_auteur])."\" SIZE=\"30\" /></p>\n" . - "<p><textarea name='texte_message_auteur$id_auteur' rows='10' class='forml' cols='40' wrap=soft>".entites_html($GLOBALS['texte_message_auteur'.$id_auteur])."</textarea></p>\n" . - "<div align=\"right\"><input type=\"submit\" name=\"Valider\" class=\"spip_bouton\" value=\""._T('form_prop_envoyer')."\" /></div>" . - "</div></form>"; - } - lang_dselect(); - return $res; -} - - -?> diff --git a/inc-forum.php3 b/inc-forum.php3 index af2812be3da8abcec42dab999f4c51f500f3fec2..dab47f072bf3a88ffea975d8162ee309fd40f835 100644 --- a/inc-forum.php3 +++ b/inc-forum.php3 @@ -280,25 +280,8 @@ function code_invalideur_forums($p, $code) { "?'':\n" . $code .")"; } - -// Formulaire de reponse a un forum -function balise_FORMULAIRE_FORUM_dist($p) { - $code = "code_de_forum_spip(" . - champ_sql('id_rubrique', $p) . ', ' . - champ_sql('id_forum', $p) . ', ' . - champ_sql('id_article', $p) . ', ' . - champ_sql('id_breve', $p) . ', ' . - champ_sql('id_syndic', $p) . ')'; - - $p->code = code_invalideur_forums($p, "(".$code.")"); - - $p->statut = 'php'; - return $p; -} - - // Parametres de reponse a un forum -function balise_PARAMETRES_FORUM_dist($p) { +function calculer_balise_parametres($p) { $_accepter_forum = champ_sql('accepter_forum', $p); $p->code = ' // refus des forums ? @@ -344,14 +327,32 @@ function balise_PARAMETRES_FORUM_dist($p) { /*******************************************************/ /* FONCTIONS DE CALCUL DES DONNEES DU FORMULAIRE FORUM */ /*******************************************************/ -function code_de_forum_spip ($idr, $idf, $ida, $idb, $ids) { - // recuperer les donnees du forum auquel on repond, false = forum interdit - if (!$r = sql_recherche_donnees_forum ($idr, $idf, $ida, $idb, $ids)) - return false; +global $forum_array; +$forum_array = array('id_rubrique', 'id_forum', 'id_article', 'id_breve', 'id_syndic'); + +function forum_stat($args, $filtres) +{ + list ($idr, $idf, $ida, $idb, $ids) = $args; + include_local("inc-forum.php3"); + // recuperer les donnees du forum auquel on repond, false = forum interdit + if (!$r = sql_recherche_donnees_forum ($idr, $idf, $ida, $idb, $ids)) + return ''; + return + array("'" + . str_replace('\'', '\\\'', + str_replace('\\', '\\\\', serialize($args))) + . "'", + "'" + . str_replace('\'', '\\\'', + str_replace('\\', '\\\\', serialize($r))) + . "'"); +} - list($titre, $table, $accepter_forum) = $r; +function forum_dyn($args, $donnees_forum) { + list ($idr, $idf, $ida, $idb, $ids) = unserialize($args); + list($titre, $table, $accepter_forum) = unserialize($donnees_forum); // titre propose pour la reponse $titre = '> '.supprimer_numero(ereg_replace('^[>[:space:]]*', '',$titre)); @@ -380,30 +381,20 @@ function code_de_forum_spip ($idr, $idf, $ida, $idb, $ids) { $retour_forum = $url; } - + // verifier l'identite des posteurs pour les forums sur abo + if (($accepter_forum == "abo") && (!$GLOBALS["auteur_session"])) + return login_pour_tous($url, false, true, $url); + else // debut formulaire forum - $lacible = " - include_local('inc-forum.php3'); - lang_select(\$GLOBALS['spip_lang']); - echo retour_forum('$idr','$idf','$ida','$idb','$ids','". - texte_script($titre). - "','".$table."', '".$accepter_forum."', '".$url."', \" - <input type='hidden' name='retour' value='".$retour_forum."' /> + return retour_forum($idr,$idf,$ida,$idb,$ids, + texte_script($titre), + $table, + $accepter_forum, + $url, + "<input type='hidden' name='retour' value='".$retour_forum."' /> <input type='hidden' name='ajout_forum' value='oui' /> " . - (($accepter_forum != 'pri') ? '' : (_T('forum_info_modere'). '<p>')) . - "\"); lang_dselect();"; - - // verifier l'identite des posteurs pour les forums sur abo - if ($accepter_forum == "abo") - $lacible = " - if (\$GLOBALS[\"auteur_session\"]) {\n$lacible - } else { - include_local('inc-login.php3'); - login_pour_tous('$url', false, true, '$url'); - }"; - - return "<" . "?php" . $lacible . "?" . ">"; + (($accepter_forum != 'pri') ? '' : (_T('forum_info_modere'). '<p>'))); } // diff --git a/inc-inscription.php3 b/inc-inscription.php3 new file mode 100644 index 0000000000000000000000000000000000000000..452aa0b1c626db9b8b2c93de772364a64b8424b4 --- /dev/null +++ b/inc-inscription.php3 @@ -0,0 +1,125 @@ +<?php + +global $inscription_array; +$inscription_array = array(); + +function inscription_stat($args, $filtres) +{ + return ((lire_meta('activer_moteur') != 'oui') ? '' : + array("'redac'")); +} + +function inscription_dyn($type) { + switch (status_inscription($type)) { + case 1: return ''; + case 2: return ''; + case 3: return "<div class='reponse_formulaire'><b>" ._T('form_forum_identifiant_mail') . "</b></div>"; + case 4: return "<div class='reponse_formulaire'><b>" ._T('form_forum_probleme_mail') . "</b></div>"; + case 5: return "<div class='reponse_formulaire'><b>" ._T('form_forum_access_refuse') . "</b></div>"; + case 6: return "<div class='reponse_formulaire'><b>" ._T('form_forum_email_deja_enregistre') . "</b></div>"; + case 7: + + $link = new Link; + $url = $link->getUrl(); + $url = quote_amp($url); + return _T('form_forum_indiquer_nom_email') . + "<form method='get' action='$url' style='border: 0px; margin: 0px;'>\n" . + "<div><b>"._T('form_pet_votre_nom')."</b></div>" . + "<div><input type=\"text\" class=\"forml\" name=\"nom_inscription\" value=\"\" size=\"30\" /></div>" . + "<div><b>"._T('form_pet_votre_email')."</b></div>" . + "<div><input type=\"text\" class=\"forml\" name=\"mail_inscription\" value=\"\" size=\"30\" /></div>" . + "<div align=\"right\"><input type=\"submit\" name=\"Valider\" class=\"spip_bouton\" value=\""._T('bouton_valider')."\" /></div>" . + "</form>"; + } +} + +function status_inscription($type) { + + if ($type == 'redac') { + if (lire_meta("accepter_inscriptions") != "oui") return 1; + $statut = "nouveau"; + } + else if ($type == 'forum') { + $statut = "6forum"; + } + else return 2; // tentative de hack...? + + global $mail_inscription, $nom_inscription; + + if ($mail_inscription && $nom_inscription) { + include(_FILE_CONNECT); + // envoyer les identifiants si l'abonne n'existe pas déjà. + if (!$row = spip_fetch_array(spip_query("SELECT statut, id_auteur, login, pass FROM spip_auteurs WHERE email='".addslashes($mail_inscription)."' LIMIT 1"))) + { + include_ecrire("inc_acces.php3"); + $pass = creer_pass_aleatoire(8, $mail_inscription); + $login = test_login($mail_inscription); + $mdpass = md5($pass); + $htpass = generer_htpass($pass); + $r = spip_insert('spip_auteurs', + '(nom, email, login, pass, statut, htpass)', + "('".addslashes($nom_inscription)."', '".addslashes($mail_inscription)."', '$login', '$mdpass', '$statut', '$htpass')"); + ecrire_acces(); + return envoyer_inscription($mail_inscription, $statut, $type, $login, $pass); + } + + else { + // existant mais encore muet, renvoyer les infos + if ($row['statut'] == 'nouveau') { + return (envoyer_inscription($mail_inscription, $row['statut'], $type, $row['login'], $row['pass'])); + } else { + if ($row['statut'] == '5poubelle') + // dead + return 5; + else + // deja inscrit + return 6; + } + } + } + // demande du formulaire + else return 7; +} + + // envoyer identifiants par mail +function envoyer_inscription($mail, $statut, $type, $pass, $login) { + $nom_site_spip = lire_meta("nom_site"); + $adresse_site = lire_meta("adresse_site"); + + $message = _T('form_forum_message_auto')."\n\n"._T('form_forum_bonjour')."\n\n"; + if ($type == 'forum') { + $message .= _T('form_forum_voici1', array('nom_site_spip' => $nom_site_spip, 'adresse_site' => $adresse_site)) . "\n\n"; + } else { + $message .= _T('form_forum_voici2', array('nom_site_spip' => $nom_site_spip, 'adresse_site' => $adresse_site)) . "\n\n"; + } + $message .= "- "._T('form_forum_login')." $login\n"; + $message .= "- "._T('form_forum_pass')." $pass\n\n"; + + include_ecrire("inc_mail.php3"); + if (envoyer_mail($mail, "[$nom_site_spip] "._T('form_forum_identifiants'), $message)) + return 3; + else + return 4; +} + + +function test_login($mail) { + if (strpos($mail, "@") > 0) $login_base = substr($mail, 0, strpos($mail, "@")); + else $login_base = $mail; + + $login_base = strtolower($login_base); + $login_base = ereg_replace("[^a-zA-Z0-9]", "", $login_base); + if (!$login_base) $login_base = "user"; + + for ($i = 0; ; $i++) { + if ($i) $login = $login_base.$i; + else $login = $login_base; + $query = "SELECT id_auteur FROM spip_auteurs WHERE login='$login'"; + $result = spip_query($query); + if (!spip_num_rows($result)) break; + } + + return $login; +} + +?> diff --git a/inc-login.php3 b/inc-login.php3 index 6bfa159647dc44f0c8978cc4515e59405875a9f0..c448bd37ecacc63e8d3c6e00fa72958939bcc929 100644 --- a/inc-login.php3 +++ b/inc-login.php3 @@ -5,12 +5,10 @@ if (defined("_INC_LOGIN")) return; define("_INC_LOGIN", "1"); - include_ecrire("inc_meta.php3"); include_ecrire("inc_session.php3"); include_ecrire("inc_filtres.php3"); include_ecrire("inc_texte.php3"); -include_local("inc-formulaires.php3"); // gerer l'auth http function auth_http($url, $essai_auth_http) { @@ -63,7 +61,7 @@ function login($cible, $prive = 'prive') { echo "<a href='$cible'>"._T('login_par_ici')."</a>\n"; return; } - login_pour_tous($cible, $prive, '', $action); + echo login_pour_tous($cible, $prive, '', $action); } @@ -126,20 +124,20 @@ function login_pour_tous($cible, $prive, $message, $action) { // login inconnu (sauf LDAP) ou refuse if ($statut_login == -1 OR ($statut_login == 0 AND !$flag_autres_sources)) { $erreur = _T('login_identifiant_inconnu', array('login' => htmlspecialchars($login))); - $login = ''; + $login = ''; @spip_setcookie("spip_admin", "", time() - 3600); } } if ($echec_cookie == "oui") { - echo "<div><h3 class='spip'>", - (_T('erreur_probleme_cookie')), - '</h3><div style="font-family: Verdana,arial,helvetica,sans-serif; font-size: 12px;"><p /><b>' . + $res = "<div><h3 class='spip'>" . + (_T('erreur_probleme_cookie')) . + '</h3><div style="font-family: Verdana, arial,helvetica,sans-serif; font-size: 12px;"><p /><b>' . _T('login_cookie_oblige')."</b> " . _T('login_cookie_accepte')."\n"; } else { - echo '<div><div style="font-family: Verdana,arial,helvetica,sans-serif; font-size: 12px;">', + $res = '<div><div style="font-family: Verdana,arial,helvetica,sans-serif; font-size: 12px;">' . (!$message ? '' : ("<br />" . _T("forum_vous_enregistrer") . @@ -165,73 +163,73 @@ function login_pour_tous($cible, $prive, $message, $action) { this.next_session_password_md5.value = calcMD5(\"$alea_futur\" + this.session_password.value); this.session_password.value = \"\"; }'"); - echo http_script('', _DIR_INCLUDE . 'md5.js'); + $res .= http_script('', _DIR_INCLUDE . 'md5.js'); } - echo "<form name='form_login' action='spip_cookie.php3' method='post'", - $challenge, - ">\n", - "<input type='hidden' name='session_login_hidden' value='$login' />\n", - "<div class='spip_encadrer' style='text-align:".$GLOBALS["spip_lang_left"].";'>\n", - (!$erreur ? '' : "<div class='reponse_formulaire'><b>$erreur</b></div>\n"), + $res .= "<form name='form_login' action='spip_cookie.php3' method='post'" . + $challenge . + ">\n" . + "<input type='hidden' name='session_login_hidden' value='$login' />\n" . + "<div class='spip_encadrer' style='text-align:".$GLOBALS["spip_lang_left"].";'>\n" . + (!$erreur ? '' : "<div class='reponse_formulaire'><b>$erreur</b></div>\n") . (!$challenge ? $session : http_script("document.write('".addslashes(_T('login_login'))." <b>$login</b><br /><a href=\"spip_cookie.php3?cookie_admin=non&url=".rawurlencode($action)."\"><font size=\"2\">["._T('login_autre_identifiant')."]</font></a>');", '', "<font face='Georgia, Garamond, Times, serif' size='3'>" . _T('login_non_securise') . - "\n<a href=\"".quote_amp($action)."\">"._T('login_recharger')."</a>.\n</font>$session")), - "\n<p /><label><b>"._T('login_pass2')."</b><br /></label>", - "<input type='password' name='session_password' class='forml' value=\"\" size='40' />\n", - "<input type='hidden' name='essai_login' value='oui' />\n", - "<br /> <input type='checkbox' name='session_remember' value='oui' id='session_remember'$rester_checked /> ", - "<label for='session_remember'>", - _T('login_rester_identifie'), - "</label>", - "<input type='hidden' name='url' value='$cible' />\n", - "<input type='hidden' name='session_password_md5' value='' />\n", - "<input type='hidden' name='next_session_password_md5' value='' />\n", - "<div align='right'><input type='submit' class='spip_bouton' value='"._T('bouton_valider')."' /></div>\n", - "</div>", + "\n<a href=\"".quote_amp($action)."\">"._T('login_recharger')."</a>.\n</font>$session")) . + "\n<p /><label><b>"._T('login_pass2')."</b><br /></label>" . + "<input type='password' name='session_password' class='forml' value=\"\" size='40' />\n" . + "<input type='hidden' name='essai_login' value='oui' />\n" . + "<br /> <input type='checkbox' name='session_remember' value='oui' id='session_remember'$rester_checked /> " . + "<label for='session_remember'>" . + _T('login_rester_identifie') . + "</label>" . + "<input type='hidden' name='url' value='$cible' />\n" . + "<input type='hidden' name='session_password_md5' value='' />\n" . + "<input type='hidden' name='next_session_password_md5' value='' />\n" . + "<div align='right'><input type='submit' class='spip_bouton' value='"._T('bouton_valider')."' /></div>\n" . + "</div>" . "</form>"; } else { // demander seulement le login $action = quote_amp($action); - echo "<form name='form_login' action='$action' method='post'>\n", + $res .= "<form name='form_login' action='$action' method='post'>\n" . "<div class='spip_encadrer' style='text-align:".$GLOBALS["spip_lang_left"].";'>"; - if ($erreur) echo "<span style='color:red;'><b>$erreur</b></span><p />"; - echo - "<label><b>"._T('login_login2')."</b><br /></label>", - "<input type='text' name='var_login' class='forml' value=\"\" size='40' />\n", - "<input type='hidden' name='var_url' value='$cible' />\n", - "<div align='right'><input type='submit' class='spip_bouton' value='"._T('bouton_valider')."'/></div>\n", - "</div>", + if ($erreur) $res .= "<span style='color:red;'><b>$erreur</b></span><p />"; + $res .= + "<label><b>"._T('login_login2')."</b><br /></label>" . + "<input type='text' name='var_login' class='forml' value=\"\" size='40' />\n" . + "<input type='hidden' name='var_url' value='$cible' />\n" . + "<div align='right'><input type='submit' class='spip_bouton' value='"._T('bouton_valider')."'/></div>\n" . + "</div>" . "</form>"; } // Gerer le focus - echo http_script($login ? + $res .= http_script($login ? 'document.form_login.session_password.focus();' : 'document.form_login.var_login.focus();'); if ($echec_cookie == "oui" AND $php_module AND !$ignore_auth_http) { - echo "<form action='spip_cookie.php3' method='get'>"; - echo "<fieldset>\n<p>"; - echo _T('login_preferez_refuser')." \n"; - echo "<input type='hidden' name='essai_auth_http' value='oui'/> "; - echo "<input type='hidden' name='url' value='$cible'/>\n"; - echo "<div align='right'><input type='submit' class='spip_bouton' value='"._T('login_sans_cookiie')."'/></div>\n"; - echo "</fieldset></form>\n"; + $res .= "<form action='spip_cookie.php3' method='get'>"; + $res .= "<fieldset>\n<p>"; + $res .= _T('login_preferez_refuser')." \n"; + $res .= "<input type='hidden' name='essai_auth_http' value='oui'/> "; + $res .= "<input type='hidden' name='url' value='$cible'/>\n"; + $res .= "<div align='right'><input type='submit' class='spip_bouton' value='"._T('login_sans_cookiie')."'/></div>\n"; + $res .= "</fieldset></form>\n"; } - echo "\n<div align='center' style='font-size: 12px;' >"; // debut du pied de login + $res .= "\n<div align='center' style='font-size: 12px;' >"; // debut du pied de login if ((lire_meta("accepter_inscriptions") == "oui") OR (!$prive AND (lire_meta('forums_publics') == 'abo'))) - echo " [<a $pass_popup>" . _T('login_sinscrire').'</a>]'; + $res .= " [<a $pass_popup>" . _T('login_sinscrire').'</a>]'; // bouton oubli de mot de passe include_ecrire("inc_mail.php3"); if (tester_mail()) { - echo ' [<a href="spip_pass.php3?oubli_pass=oui" target="spip_pass" onclick="' + $res .= ' [<a href="spip_pass.php3?oubli_pass=oui" target="spip_pass" onclick="' ."javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=280'); return false;\">" ._T('login_motpasseoublie').'</a>]'; } @@ -240,12 +238,12 @@ function login_pour_tous($cible, $prive, $message, $action) { if ($prive) { $url_site = lire_meta('adresse_site'); if (!$url_site) $url_site = "./"; - echo " [<a href='$url_site'>"._T('login_retoursitepublic')."</a>]"; + $res .= " [<a href='$url_site'>"._T('login_retoursitepublic')."</a>]"; } - echo "</div>\n"; + $res .= "</div>\n"; - echo "</div></div>"; + return $res . "</div></div>"; } diff --git a/inc-public.php3 b/inc-public.php3 index 4c8fec59b169dec145ff33e3fc54914b8630c932..8640066e300ab9c4321facac4c4df3fd1208a971 100644 --- a/inc-public.php3 +++ b/inc-public.php3 @@ -55,7 +55,7 @@ else { // il nous faut id_article ! C'est donc encore a nettoyer... include_local('inc-calcul.php3'); calculer_contexte(); - include_local('inc-formulaires.php3'); + include_local('inc-signature.php3'); reponse_confirmation($id_article, $val_confirm); } @@ -77,6 +77,7 @@ else { $affiche_boutons_admin = (!$flag_preserver AND ($HTTP_COOKIE_VARS['spip_admin'] OR $HTTP_COOKIE_VARS['spip_debug'])); + if ($affiche_boutons_admin) include_local('inc-admin.php3'); @@ -102,6 +103,7 @@ else { ($var_debug OR $var_recherche OR $affiche_boutons_admin)); // Cas d'une page contenant uniquement du HTML : + if ($page['process_ins'] == 'html') { if (!spip_active_ob) { echo $page['texte']; diff --git a/inc-recherche.php3 b/inc-recherche.php3 new file mode 100644 index 0000000000000000000000000000000000000000..f7e8eb584fd6e917325e8f05afd3f07d77576045 --- /dev/null +++ b/inc-recherche.php3 @@ -0,0 +1,16 @@ +<?php + +global $recherche_array; +$recherche_array = array(); + +function recherche_stat($args, $filtres) +{ + if (lire_meta("accepter_inscriptions") != "oui") + return ''; + else { + if (!($lien = $filtre[0])) $lien = 'recherche.php3'; + return "<form action='$lien' method='get' class='formrecherche'><input type='text' id='formulaire_recherche' size='20' class='formrecherche' name='recherche' value='" . _T('info_rechercher') . "' /></form>"; + } +} + +?> \ No newline at end of file diff --git a/inc-signature.php3 b/inc-signature.php3 new file mode 100644 index 0000000000000000000000000000000000000000..32ed1bdce306889231c452a7b313b7e54d23c55b --- /dev/null +++ b/inc-signature.php3 @@ -0,0 +1,318 @@ +<?php + +// +// Formulaire de signature d'une petition +// + +global $signature_array; +$signature_array = array('id_article', 'petition'); + +function signature_stat($args, $filtres) +{ + list($id_article, $petition) = $args; + return (!$petition ? '' : + array("'$id_article'", + "'" + . str_replace('\'', '\\\'', + str_replace('\\', '\\\\', serialize($petition))) + . "'")); +} + +function signature_dyn($id_article,$petition) { + if ($GLOBALS['val_confirm']) + return _REPONSE_CONFIRMATION_SIGNATURE; // geree par inc-public.php3 + else if ($GLOBALS['nom_email'] AND $GLOBALS['adresse_email']) + return reponse_signature($id_article); + else if (!$petition) + return ''; + else { + $row_petition = (unserialize($petition)); + include_ecrire("inc_texte.php3"); + include_ecrire("inc_mail.php3"); + + $id_article = $row_petition['id_article']; + $email_unique = $row_petition['email_unique']; + $site_obli = $row_petition['site_obli']; + $site_unique = $row_petition['site_unique']; + $message_petition = $row_petition['message']; + $texte_petition = $row_petition['texte']; + + $link = new Link; + $url = lire_meta("adresse_site").'/'.$link->getUrl(); + $link->addVar('url_page', $url); + + $retour = $link->getForm('post', "sp$id_article"); + + $retour .= propre($texte_petition); + + $retour .= "<div><a name='sp$id_article'></a><fieldset><p><b>"._T('form_pet_votre_nom')."</b><br />"; + $retour .= "<input type=\"text\" class=\"forml\" name=\"nom_email\" value=\"\" size=\"20\" /></p>"; + + $retour .= "<p><b>"._T('form_pet_votre_email')."</b><br />"; + $retour .= "<input type=\"text\" class=\"forml\" name=\"adresse_email\" value=\"\" size=\"20\" /></p></fieldset>"; + + $retour .= "<br /><fieldset><p>"; + if ($site_obli != "oui") { + $retour .= _T('form_pet_votre_site')."<br />"; + } + $retour .= "<b>"._T('form_pet_nom_site2')."</b><br />"; + $retour .= "<input type=\"text\" class=\"forml\" name=\"nom_site\" value=\"\" size=\"20\" /></p>"; + + $retour .= "<p><b>"._T('form_pet_adresse_site')."</b><br />"; + $retour .= "<input type=\"text\" class=\"forml\" name=\"url_site\" value=\"http://\" size=\"20\" /></p></fieldset>"; + + if ($message_petition == "oui") { + $retour .= "<br /><fieldset>"; + + $retour .= "<b>"._T('form_pet_message_commentaire')."</b><br />"; + $retour .= "<textarea name=\"message\" rows=\"3\" class=\"forml\" cols=\"20\" wrap='soft'>"; + $retour .= "</textarea></fieldset>\n"; + } + else { + $retour .= "<input type=\"hidden\" name=\"message\" value=\"\" />"; + } + $retour .= "</div>"; + + $retour .= "<br /><div align=\"right\"><input type=\"submit\" name=\"Valider\" class=\"spip_bouton\" value=\""._T('bouton_valider')."\" />"; + $retour .= "</div></form>\n"; + + return $retour; + } +} + +// +// Retour a l'ecran du lien de confirmation d'une signature de petition +// + +function reponse_confirmation($id_article, $val_confirm) { + + include(_FILE_CONNECT); + + if ($GLOBALS['db_ok']) { + include_ecrire("inc_texte.php3"); + include_ecrire("inc_filtres.php3"); + + // Eviter les doublons + $lock = "petition $id_article $val_confirm"; + if (!spip_get_lock($lock, 5)) { + $texte = _T('form_pet_probleme_technique'); + } + else { + $query_sign = "SELECT * FROM spip_signatures WHERE statut='".addslashes($val_confirm)."'"; + $result_sign = spip_query($query_sign); + if (spip_num_rows($result_sign) > 0) { + while($row = spip_fetch_array($result_sign)) { + $id_signature = $row['id_signature']; + $id_article = $row['id_article']; + $date_time = $row['date_time']; + $nom_email = $row['nom_email']; + $adresse_email = $row['ad_email']; + $nom_site = $row['nom_site']; + $url_site = $row['url_site']; + $message = $row['message']; + $statut = $row['statut']; + } + + $query_petition = "SELECT * FROM spip_petitions WHERE id_article=$id_article"; + $result_petition = spip_query($query_petition); + + while ($row = spip_fetch_array($result_petition)) { + $id_article = $row['id_article']; + $email_unique = $row['email_unique']; + $site_obli = $row['site_obli']; + $site_unique = $row['site_unique']; + $message_petition = $row['message']; + $texte_petition = $row['texte']; + } + + if ($email_unique == "oui") { + $email = addslashes($adresse_email); + $query = "SELECT * FROM spip_signatures WHERE id_article=$id_article AND ad_email='$email' AND statut='publie'"; + $result = spip_query($query); + if (spip_num_rows($result) > 0) { + $texte .= erreur(_T('form_pet_deja_signe')); + $refus = "oui"; + } + } + + if ($site_unique == "oui") { + $site = addslashes($url_site); + $query = "SELECT * FROM spip_signatures WHERE id_article=$id_article AND url_site='$site' AND statut='publie'"; + $result = spip_query($query); + if (spip_num_rows($result) > 0) { + $texte .= erreur(_T('form_pet_deja_enregistre')); + $refus = "oui"; + } + } + + if ($refus == "oui") { + $texte .= erreur(_T('form_deja_inscrit')); + } + else { + $query = "UPDATE spip_signatures SET statut='publie' WHERE id_signature='$id_signature'"; + $result = spip_query($query); + // invalider les pages ayant des boucles signatures + include_ecrire('inc_invalideur.php3'); + suivre_invalideur("id='petition/petition'"); + + $texte .= erreur(_T('form_pet_signature_validee')); + } + } + else { + $texte .= erreur(_T('form_pet_aucune_signature')); + } + spip_release_lock($lock); + } + } + else { + $texte = _T('form_pet_probleme_technique'); + } + + $texte = "<div class='reponse_formulaire'><a name='sp$id_article'></a>$texte</div>"; + + // message pour formulaire_signature() + define('_REPONSE_CONFIRMATION_SIGNATURE', $texte); + +} + +// +// Retour a l'ecran de la signature d'une petition +// + +function reponse_signature($id_article) { + global $nom_email, $adresse_email, $message, $nom_site, $url_site, $url_page; + spip_log("signature petition $id_article ($adresse_email)"); + include(_FILE_CONNECT); + + if ($GLOBALS['db_ok']) { + include_ecrire("inc_texte.php3"); + include_ecrire("inc_filtres.php3"); + include_ecrire("inc_mail.php3"); + + // Eviter les doublons + $lock = "petition $id_article $adresse_email"; + if (!spip_get_lock($lock, 5)) { + $reponse_signature = _T('form_pet_probleme_technique'); + } + else { + $query_petition = "SELECT * FROM spip_petitions WHERE id_article=$id_article"; + $result_petition = spip_query($query_petition); + + while ($row = spip_fetch_array($result_petition)) { + $id_article = $row['id_article']; + $email_unique = $row['email_unique']; + $site_obli = $row['site_obli']; + $site_unique = $row['site_unique']; + $message_petition = $row['message']; + $texte_petition = $row['texte']; + } + + if (strlen($nom_email) < 2) { + $reponse_signature .= erreur(_T('form_indiquer_nom')); + $refus = "oui"; + } + + if ($adresse_email == _T('info_mail_fournisseur')) { + $reponse_signature .= erreur(_T('form_indiquer_email')); + $refus = "oui"; + } + + if ($email_unique == "oui") { + $email = addslashes($adresse_email); + $query = "SELECT * FROM spip_signatures WHERE id_article=$id_article AND ad_email='$email' AND statut='publie'"; + $result = spip_query($query); + if (spip_num_rows($result) > 0) { + $reponse_signature .= erreur(_T('form_pet_deja_signe')); + $refus = "oui"; + } + } + + if (!email_valide($adresse_email)) { + $reponse_signature .= erreur(_T('form_email_non_valide')); + $refus = "oui"; + } + + if ($site_obli == "oui") { + if (!$nom_site) { + $reponse_signature .= erreur(_T('form_indiquer_nom_site')); + $refus = "oui"; + } + include_ecrire("inc_sites.php3"); + + if (!recuperer_page($url_site)) { + $reponse_signature .= erreur(_T('form_pet_url_invalide')); + $refus = "oui"; + } + } + if ($site_unique == "oui") { + $site = addslashes($url_site); + $query = "SELECT * FROM spip_signatures WHERE id_article=$id_article AND url_site='$site' AND (statut='publie' OR statut='poubelle')"; + $result = spip_query($query); + if (spip_num_rows($result) > 0) { + $reponse_signature .= erreur(_T('form_pet_site_deja_enregistre')); + $refus = "oui"; + } + } + + $passw = test_pass(); + + if ($refus == "oui") { + $reponse_signature.= "<P><FONT COLOR='red'><B>"._T('form_pet_signature_pasprise')."</B></FONT><P>"; + } + else { + $query_site = "SELECT titre FROM spip_articles WHERE id_article=$id_article"; + $result_site = spip_query($query_site); + while ($row = spip_fetch_array($result_site)) { + $titre = $row['titre']; + } + + $link = new Link($url_page); + $link->addVar('val_confirm', $passw); + $url = $link->getUrl("sp$id_article"); + + $messagex = _T('form_pet_mail_confirmation', array('titre' => $titre, 'nom_email' => $nom_email, 'nom_site' => $nom_site, 'url_site' => $url_site, 'url' => $url)); + + if (envoyer_mail($adresse_email, _T('form_pet_confirmation')." ".$titre, $messagex)) { + $reponse_signature .= "<P><B>"._T('form_pet_envoi_mail_confirmation')."</B>"; + + $nom_email = addslashes($nom_email); + $adresse_email = addslashes($adresse_email); + $nom_site = addslashes($nom_site); + $url_site = addslashes($url_site); + $message = addslashes($message); + + $query = "INSERT INTO spip_signatures (id_article, date_time, nom_email, ad_email, nom_site, url_site, message, statut) ". + "VALUES ('$id_article', NOW(), '$nom_email', '$adresse_email', '$nom_site', '$url_site', '$message', '$passw')"; + $result = spip_query($query); + } + else { + $reponse_signature = _T('form_pet_probleme_technique'); + } + } + spip_release_lock($lock); + } + } + else { + $reponse_signature = _T('form_pet_probleme_technique'); + } + return "<div class='reponse_formulaire'><a name='sp$id_article'></a>$reponse_signature</div>"; +} + + +function test_pass() { + include_ecrire("inc_acces.php3"); + for (;;) { + $passw = creer_pass_aleatoire(); + $query = "SELECT statut FROM spip_signatures WHERE statut='$passw'"; + $result = spip_query($query); + if (!spip_num_rows($result)) break; + } + return $passw; +} + +function erreur($zetexte){ + global $spip_lang_rtl; + return "<br /><img src='puce$spip_lang_rtl.gif' border='0' alt='-' /> $zetexte"; +} + +?> diff --git a/inc-site.php3 b/inc-site.php3 new file mode 100644 index 0000000000000000000000000000000000000000..0cf7e96545fa0af320579aa4e36dd31248e57de4 --- /dev/null +++ b/inc-site.php3 @@ -0,0 +1,67 @@ +<?php + +global $site_array; +$site_array = array(); + +function site_stat($args, $filtres) +{ + return ((lire_meta("proposer_sites") != 2) ? '' : + array("'" . $args[0] . "'")); +} + +function site_dyn($la_rubrique) { + include_ecrire("inc_mail.php3"); + + global $nom_site; + global $url_site; + global $description_site; + global $spip_lang_rtl; + $puce_ligne = "<br /><img src='puce$spip_lang_rtl.gif' border='0' alt='-' /> "; + + if ($nom_site) { + // Tester le nom du site + if (strlen ($nom_site) < 2){ + $reponse_signature .= $puce_ligne . (_T('form_prop_indiquer_nom_site')); + $refus = "oui"; + } + + // Tester l'URL du site + include_ecrire("inc_sites.php3"); + if (!recuperer_page($url_site)) { + $reponse_signature .= $puce_ligne . (_T('form_pet_url_invalide')); + $refus = "oui"; + } + + // Integrer a la base de donnees + + if ($refus !="oui"){ + $nom_site = addslashes($nom_site); + $url_site = addslashes($url_site); + $description_site = addslashes($description_site); + + spip_query("INSERT INTO spip_syndic (nom_site, url_site, id_rubrique, descriptif, date, date_syndic, statut, syndication) ". + "VALUES ('$nom_site', '$url_site', $la_rubrique, '$description_site', NOW(), NOW(), 'prop', 'non')"); + $res = _T('form_prop_enregistre'); + } + else { + $res = $reponse_signature . + "<p> "._T('form_prop_non_enregistre') . "</p>"; + } + + $res = "<div class='reponse_formulaire'>$res</div>"; + } + else { + $link = $GLOBALS['clean_link']; + $res = $link->getForm('POST') . + "<p><div class='spip_encadrer'><b>"._T('form_prop_nom_site')."</b><br />" . + "<input type=\"text\" class=\"forml\" name=\"nom_site\" value=\"\" size=\"30\">" . + "</p><p><b>"._T('form_prop_url_site')."</b></p><br />" . + "<input type=\"text\" class=\"forml\" name=\"url_site\" value=\"\" size=\"30\"></div>" . + "<p><b>"._T('form_prop_description')."</b></p><br />" . + "<textarea name='description_site' rows='5' class='forml' cols='40' wrap=soft></textarea>" . + "<div align=\"right\"><input type=\"submit\" name=\"valider\" class=\"spip_bouton\" value=\""._t('bouton_valider')."\">" . + "</div></form>"; + } + return $res; +} +?> diff --git a/spip_pass.php3 b/spip_pass.php3 index d01631902c7e47603b63b8a8b33e5f21c60c097c..56db5836da572a06caa33f3df3ddc42b1af6cc4f 100644 --- a/spip_pass.php3 +++ b/spip_pass.php3 @@ -11,8 +11,6 @@ include_ecrire("inc_meta.php3"); include_ecrire("inc_mail.php3"); include_ecrire("inc_acces.php3"); -include_local("inc-formulaires.php3"); - utiliser_langue_site(); utiliser_langue_visiteur();