Animalerie en ligne chien & chats, Freelance PHP, Annuaire Freelance, Création site web, Annuaire libertin, Création site Joomla, Noms de domaines anomymes avec Paypal, Générateur de noms de domaines, administration serveur Unix, Streaming vidéo

Développeur Web
depuis 1997

Accueil
Plan du site
Liens
Contact
Statistiques
~122 visites par jour
[
Développeurs
] [
Entreprises
] [
Utilisateurs
] [
A mon sujet
] [
Liens
] [
Galeries Photos
]
Bonjour , bonne visite
Recherche
 

Creation & hébergement de votre site Internet avec Redjuice.fr
 
patch inc_formulaire.php3
Publié le dimanche 6 juillet 2003 02:52, par Bzc ToOn'S
popularité: 40 % - lu 16523 fois - aucun commentaires


OICI un patch de la fonction formulaire_ecrire_auteur() situé dans inc_formulaire.php3. Ce patch corrige ou améliore diverses petites choses :
-  lorsqu'on valide l'envoi alors que le champ 'message' est vide, le formulaire est réaffiché sans aucun message d'erreur.
-  le code de validation de l'email ne fonctionnait pas
-  il manquait l'intutilé du champ 'message' (pas bien grave mais j'y était ).

Code de la fonction email_valide() situé dans ecrire/inc_version.php3.

function email_valide($adresse) {
 $adresses = explode(',', $adresse);

 if (is_array($adresses)) {
   while (list(, $adresse) = each($adresses)) {
     // RFC 822
     if (!eregi('^([-_0-9a-z\.]+)\@([-_0-9a-z\.]+)\.([-_0-9a-z]+)?$', trim($adresse)))
     {
       return false;
     }
   }
   return true;
 }
 return false;
}

Code de la fonction formulaire_ecrire_auteur() situé dans inc-formaulaires.php3.

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") ;
 
 global $passages;
 $passages++;
 
 $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-- 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
     echo  "<p><div class='spip_encadrer'>Sujet : <b>"
         .$GLOBALS['sujet_message_auteur'.$id_auteur]."</b></div>";
     if ($flag_wordwrap)
       $GLOBALS['texte_message_auteur'.$id_auteur] = wordwrap($GLOBALS['texte_message_auteur'.$id_auteur]);
     echo "<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');
     echo $link->getForm('POST');
     echo  "<DIV ALIGN=\"right\"><INPUT TYPE=\"submit\" "
         ."NAME=\"Confirmer\" "
         ."CLASS=\"spip_bouton\" VALUE=\""
         ._T('form_prop_confirmer_envoi')."\">";
     echo  "</DIV></FORM>";
   }
 }
 else
 {
   $erreur .= erreur(_T('form_indiquer_message'));
 }
 
 if ($erreur)
   if ($passages > 1)
     echo  "<p><div class='spip_encadrer'><h3 class='spip'>"
         ._T('forum_titre_erreur')
         ."</h3><div class='reponse_formulaire'>$erreur</div></div></p>\n";

 if ($affiche_formulaire) {
   $retour = $GLOBALS['REQUEST_URI'];
   $link = $GLOBALS['clean_link'];
   echo $link->getForm('POST');
   echo    "<INPUT TYPE=\"hidden\" NAME=\"passages\" VALUE=\"$passages\">\n";
   echo  "<div class='spip_encadrer'><P><B>"._T('form_pet_votre_email')."</B><BR>";
   echo    "<INPUT TYPE=\"text\" CLASS=\"forml\" NAME=\"email_message_auteur$id_auteur\" VALUE=\""
       .entites_html($GLOBALS['email_message_auteur'.$id_auteur])."\" SIZE=\"30\"></P>\n";
   echo    "<P><B>"._T('form_prop_sujet')."</B><BR>";
   echo    "<INPUT TYPE=\"text\" CLASS=\"forml\" NAME=\"sujet_message_auteur$id_auteur\" VALUE=\""
       .entites_html($GLOBALS['sujet_message_auteur'.$id_auteur])."\" SIZE=\"30\"></P>\n";
   echo    "<P><B>"._T('form_pet_message_commentaire')."</B><BR>";
   echo    "<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></div><br />\n";
   echo    "<DIV ALIGN=\"right\"><INPUT TYPE=\"submit\" NAME=\"Valider\" CLASS=\"spip_bouton\" VALUE=\""
       ._T('form_prop_envoyer')."\">";
   echo    "</DIV></FORM>";
 }
}


Documents liés
Remplacer ecrire/inc_version.php3 par le fichier contenu dans l'archive.
$spip_version = 1.702 ;
Zip - 6.5 ko
 
 
Ce fichier permet de rajouter des localisations personnalisés.
Si vous en avez déjà un completez le mais ne l'ecrasez pas !
Zip - 205 octets
 
 
Remplacer inc-formulaires.php3 par le fichier contenu dans l'archive.
$spip_version = 1.702 ;
Zip - 4 ko
 
 
 

[ Imprimer cet article ] [ Haut ]
 

 
23.20.193.33 - 02:37:08 28/07/2017
Navigation

Contacts
      BzcToOn'S (Webmestre)
      Support

Dernier sondage
Que faîtes vous sur le net ? (plusieurs choix)
Je surfe et c'est déja pas mal !
Je suis infographiste
Je créé des sites en HTML
Je programme des sites en PHP
Je programme des sites en PHP Orienté Objet
Je programme en Javascript DOM
J'administre des serveurs Unix/Linux
J'administre des serveurs Windows
Je référence des sites web
Je suis salarié
Je suis freelance
Je code pour l'open source
 
 


This is my Google PageRank™ - SmE Rank free service Powered by Scriptme
Temps de génération de la page : 2.949 ms