Fork me on GitHub




« 1 2 3 4 (5) 6 7 8 ... 15 »


Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 25/11/2004 12:53
De 48400 Florac - France
Messages: 3370
Rapport de test :

Avec mise en commentaire des lignes qui suppriment le fichier joint.
+ ta modification indiquée dans ton dernier post.

Quand j'envoie sur le groupe webmaster à une adresse mail d'un de mes domaines situé sur le même serveur --> je reçois immédiatement avec la pièce jointe.
(auparavant je ne recevais pas du tout sur ce type d'adresse).

Quand je n'envoie sur aucun groupe mais seulement en spécifiant la même adresse dans le champ de saisie au-dessus des groupes --> je ne reçois pas.

Sur adresse mail chez mon FAI, toujours de gros délais...

Philippe.

Posté le : 13/02/2008 13:50
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 25/11/2004 12:53
De 48400 Florac - France
Messages: 3370
Une autre chose à vérifier et prendre en compte si mes observations sont exactes :

Si je joins un fichier nommé AB.txt, il est uploadé dans le dossier imgform mais renommé en ab.txt (en minuscules) et du coup il n'est pas transmis en pièce jointe.
Si au départ il s'appelle déjà ab.txt c'est bon.

Philippe.

Posté le : 13/02/2008 15:20
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Citation :

blueteen a écrit:
Bon, pour l'envoi de pièce jointe au formulaire, ça n'a pas l'air d'être un gros bug.
Voici mon dernier test en date.

Dans formulaire.php, ligne 726, je remplace :
$uploadDestName $fichier;

par
$uploadDestName $_FILES[$_POST['xoops_upload_file'][0]]['name'];


Je remplace
foreach ($up as $k => $v ) {
        
$path $k;
        
$filename $v;
        if (
$xoopsMailer->multimailer->AddAttachment($path,$filename,"base64","application/octet-stream")) {
        } else {
            echo 
$xoopsMailer->getErrors();
        }
    }

par
$xoopsMailer->multimailer->AddAttachment($uploadDestPath.'/'.$uploadDestName,$filename,"base64","application/octet-stream");


Je prends un formulaire, où j'ai qu'une seule pièce jointe joignable, et là je reçois bien le fichier joint avec le mail.

ATTENTION : ceci n'est pas une solution
Je cherche juste à comprendre quels sont les soucis avec les variables, qui empêchent le bon fonctionnement des pièces jointes.

Et un des soucis est avec : $uploadDestName qui ne renvoyait pas une bonne valeur (enfin d'après mes tests).

Si vous voulez tester cette modif' de code de votre côté, pour voir si votre pièce jointe arrive bien à présent ?!


De mon côté, par apport au fichier formulaire.php original je n'ai apporté QUE les modifications citées au-dessus, les pièces jointes fonctionnent , mais l'adresse d'envoi du mail n'est pas prise en compte, c'est toujours sur l'adresse de l'administrateur que ça arrive ! Donc si je mets une adresse, et que je définis aussi le groupe webmestre je reçois le message en double ...

D'autre part, même en cochant recevoir le formulaire rempli, l'expéditeur ne reçoit pas copie du mail envoyé en accusé.

Posté le : 13/02/2008 15:58

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Quelques petits changements, qui permettent la gestion de plusieurs pièces jointes dans un formulaire/mail.
Je viens de faire le test avec un formulaire comprenant 2 champs d'upload.
Je reçois bien les mails avec les 2 pièces jointes. (et je reçois bien le mail même si je ne joins qu'une seule pièce sur les 2 possibles).

Dans formulaire.php d'origine.
Ligne 726, je remplace
$uploadDestName $fichier;

par
$uploadDestName $_FILES[$_POST['xoops_upload_file'][$indiceUpload]]['name'];


Plus bas, vers la ligne 830, je remplace
foreach ($up as $k => $v ) {
        
$path $k;
        
$filename $v;
        if (
$xoopsMailer->multimailer->AddAttachment($path,$filename,"base64","application/octet-stream")) {
        } else {
            echo 
$xoopsMailer->getErrors();
        }
    }

par
foreach ($_POST["xoops_upload_file"] as $fichierup//steve
    
{
    
$uploadDestPath XOOPS_UPLOAD_PATH.'/'.$modversion['dirname'].'/imgform';
    
$uploadDestName $_FILES[$fichierup]['name'];
    if (
$xoopsMailer->multimailer->AddAttachment($uploadDestPath.'/'.$uploadDestName,$filename,"base64","application/octet-stream")) {}
        else { 
$xoopsMailer->getErrors(); }
    }


Ce sont juste des tests pour essayer d'alléger Philou dans la correction des bugs.
Je ne saurais donner mon avis sur la qualité de ce code ajouté, à part qu'il semble fonctionner :-p

Posté le : 14/02/2008 09:34
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Il y a un petit bug aussi lorsqu'on édite un formulaire, on passe systématiquement par la fenêtre : retour où vous étiez.
Ca se passe dans le fichier formulaire/admin/modform.php
Ligne 381, on a
redirect_header($url,0,'');


Il doit y avoir une erreur de syntaxe, car si on utilise à la place, la ligne se trouvant dans le même fichier mais pour la version 3.23 de formulaire, on a pas ce petit problème (qui n'est pas bloquant).
Si je remplace par
Header("Location: $url");

Ca fonctionne. A voir aussi à l'occasion.

Posté le : 14/02/2008 10:05
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Citation :


Quand je n'envoie sur aucun groupe mais seulement en spécifiant la même adresse dans le champ de saisie au-dessus des groupes --> je ne reçois pas.

Philippe.


Concernant ce souci, je viens de faire un test.
Dans le fichier /modules/formulaire/formulaire.php
Vers la ligne 869, je remplace
$xoopsMailer->setToEmails($multimail[$i]);

par
$xoopsMailer->setToEmails($i);


Ensuite, sur la page de modification d'un formulaire, je sélectionne 'aucun' pour la section 'Envoyer au groupe'.

Dans la cellule juste au-dessus, je renseigne mon mail. (ou plusieurs mails séparés par un point-virgule ;

A présent, je reçois bien le formulaire, sur le (ou les) mails que j'ai indiqué dans le paramétrage de mon formulaire.

J'ai testé l'envoi vers différents domaine n'ayant rien à voir avec mon serveur (yahoo, gmail, etc), et pas de problèmes, les mails arrivent bien.

Posté le : 14/02/2008 10:37
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Un autre souci, dans formulaire.php, ligne 82, on a :
."<br> destname :".$destname." - ".$uploadDestName

Seulement $uploadDestName n'est défini nulle par, donc en plus d'afficher une erreur en mode debug
Citation :

Notice: Undefined variable: uploadDestName in file /modules/formulaire/formulaire.php line 82


Ca n'affiche jamais d'infos dans le message d'erreur d'upload (puis non défini).

J'ai ça, lorsque j'essaie d'envoyer une pièce non autorisée
Unknown filetype rejected
indice 
:0
dstpath 
:/var/www/html/2018/uploads/formulaire/imgform
destname 
:test2.tx -
permittedtypes :---
Max upload file:204800


le Max upload file:204800 correspond à 200ko * 1024 (c'est donc la taille en octet qui est affichée).
Ce serait peut-être intéressant de mettre aussi la conversion entre parenthèses dans ce message d'erreur).

On voit que le destname contient juste le nom de la pièce.
Je ne vois pas l'intérêt de garder $uploadDestName ici après le -, puisque c'est toujours vide.
Philou si tu peux nous en dire plus ?

Posté le : 14/02/2008 11:25
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Dans le message d'erreur affiché lorsqu'on essaie d'envoyer une pièce jointe non autorisée, on voit que c'est toujours vide :
permittedtypes :---

Ligne 61 de formulaire.php, pour la fonction formulaire_upload, on voit cette variable $permittedtypes
Seulement, elle ne contient jamais rien.

Sans doute parce que ligne 729, dans l'appel à la fonction formulaire_upload, on utilise : $uploadMimeTypes

Je propose donc ce changement de code :
Remplacer ligne 61 :
function formulaire_upload($indice$dstpath$destname$permittedtypes$maxUploadSize)

par
function formulaire_upload($indice$dstpath$destname$uploadMimeTypes$maxUploadSize)


Et ligne 66
$permittedtypes $allowed_mimetypes;

par
$permittedtypes $uploadMimeTypes;


Et pour l'affichage complet des types autorisés (seuls 4 types sont affichés pour le moment avec le code en place) :
Vers la ligne 81, remplacer
echo "indice :".$indice
."<br> dstpath :".$dstpath
."<br> destname :".$destname." - ".$uploadDestName
."<br> permittedtypes :".$permittedtypes[0]."-".$permittedtypes[1]."-".$permittedtypes[2]."-".$permittedtypes[3]
.
"<br>Max upload file:".$maxUploadSize;

par
echo "<br> Nom du fichier envoyé : ".$destname;
echo 
"<br> Types autorisés : ";
foreach (
$permittedtypes as $displaypermittedtypes)
{echo 
$displaypermittedtypes." - ";}
echo 
"<br>Taille d'upload maximale : ".$maxUploadSize." octets (".($maxUploadSize/1024)." ko)";


On pourrait essayer d'afficher les extensions au lieu de mimetypes.

Ce qui nous donnerait une erreur de ce type lors de l'envoi de types de fichiers non autorisés :
Citation :

Errors Returned While Uploading
Unknown filetype rejected

Nom du fichier envoyé : test2.tx
Types autorisés : application/pdf - application/msword - text/plain - image/gif - video/mpeg - image/jpeg - application/zip -
Taille d'upload maximale : 204800 octets (200 ko)


J'ai enlevé l'indice qui n'était pas parlant, et j'ai enlevé le chemin physique sur le serveur (autant éviter de dévoiler cette info).

Il resterait à utiliser les variables de langues, plutôt que ce texte en dur.

Posté le : 14/02/2008 11:59
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 25/11/2004 12:53
De 48400 Florac - France
Messages: 3370
Merci blueteen, je suis tout ça avec intérêt même si sur le code ça me dépasse un peu

Philippe.

Posté le : 14/02/2008 12:50
Partager Twitter Partagez cette article sur GG+
Re: Différence de méthode d'envoi entre Formulaire (3.33 ) et Contact ?
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Est-ce que tu veux que je colle le fichier complet avec les modifs' apportées pour que tu testes chez toi ? (ou chez vous pour les autres).

Par ailleurs, je suis en train de regarder pour ton souci avec les majuscules dans le nom du fichier.
Effectivement, à un moment donné du code, le nom du fichier est passé en minuscule au moment de l'upload, je suis en train de tracer les variables et fonctions pour voir à quel moment !

Posté le : 14/02/2008 13:04
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
« 1 2 3 4 (5) 6 7 8 ... 15 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

23 Personne(s) en ligne (16 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 23 | Plus ...