#1 2010-07-18 17:48:13

cali
Membre
Lille
2005-07-22
192

problème à la notification

Bonjour,
je tiens d'abord à préciser que j'ai cherché dans le forum, mais je n'ai pas trouvé de topic concernant mon soucis ...
Je vous explique, ma galerie est à jour, elle est hébergée chez Free, la notification fonctionne bien, mais il y a un petit problème, dans le mail j'ai bien 3 vignettes par catégorie mise à jour, mais systématiquement, la vignette du milieu ne s'affiche pas, et lorsque je regarde la source du mail, il y a un espace dans l'URL de la vignette, mais juste pour celle du milieu à chaque fois, pas pour les autres ...

Je vous mets une partie du code :

Code:

  <ul><li>40 nouvelles images (<a style="color: #f70; background-color: transparent; border:0; text-decoration: none;" href="http://delbarrelaurent.free.fr/index.php?/recent_pics">Images récentes</a>)</li><br><a style="color: #f70; background-color: transparent; border:0; text-decoration: none;" href="http://delbarrelaurent.free.fr/picture.php?/3512"><img style="margin:16px; border:16px solid #aaa; -moz-border-radius: 4px; border-radius: 4px 4px; margin: 16px; border: 16px solid #444; -moz-border-radius: 4px; border-radius: 4px 4px;" src="http://delbarrelaurent.free.fr/galleries/soirees/32-ans-romu/thumbnail/TN-32-ans-romu-20.jpg"></a><a style="color: #f70; background-color: transparent; border:0; text-decoration: none;" href="http://delbarrelaurent.free.fr/picture.php?/3507"><img style="margin:16px; border:16px solid #aaa; -moz-border-radius: 4px; border-radius: 4px 4px; margin: 16px; border: 16px solid #444; -moz-border-radius: 4px; border-radius: 4px 4px;" src="http://del
 barrelaurent.free.fr/galleries/soirees/32-ans-romu/thumbnail/TN-32-ans-romu-15.jpg"></a><a style="color: #f70; background-color: transparent; border:0; text-decoration: none;" href="http://delbarrelaurent.free.fr/picture.php?/3516"><img style="margin:16px; border:16px solid #aaa; -moz-border-radius: 4px; border-radius: 4px 4px; margin: 16px; border: 16px solid #444; -moz-border-radius: 4px; border-radius: 4px 4px;" src="http://delbarrelaurent.free.fr/galleries/soirees/32-ans-romu/thumbnail/TN-32-ans-romu-24.jpg"></a>...<br><li>1 catégorie mise à jour</li><ul><li>

Comme vous pouvez le voir, la coupure a lieu à la fin de la première ligne

Code:

 src="http://del

merci pour votre aide.

Hors ligne

#2 2010-07-19 07:15:38

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: problème à la notification

Quelle est la version utilisée?

Je me suis inscrit sur le site, si tu pouvais m'envoyer une notification pour je puisses voir ce qui ce passe. Merci!

Hors ligne

#3 2010-07-19 10:24:25

cali
Membre
Lille
2005-07-22
192

Re: problème à la notification

voila, c'est fait !

la version utilisée est Piwigo 2.1.2

les plugins utilisés :
    *  AStat.2
    * BBCode Bar
    * Grum Plugin Classes
    * LocalFiles Editor
    * Piwigo AutoUpgrade
    * PWG Stuffs
    * PY GVideo
    * Smilies Support
    * Statistics

Environnement

        * Système d'exploitation: Linux
        * PHP: 5.1.3RC4-dev (Montrer les informations) [2010-07-19 10:22:59]
        * mysql: 5.0.83 [2010-07-19 10:22:59]



merci

Hors ligne

#4 2010-07-20 22:57:10

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: problème à la notification

J'ai réussi à reproduire le problème en local.
Après analyse, le problème vient de la fonction move_ccs_rules_to_body qui permet d'inclure le code css dans le body pour que quele design fonctionne au niveau des mails lors de la lecture avec gmail et autres.

Une solution de contournement consiste à mettre en commentaire la ligne suivante dans le fichier include/functions_mail.inc.php:

Code:

//~ add_event_handler('send_mail_content', 'move_ccs_rules_to_body');

Je notifies P@t pour qu'il voit comment corriger ce problème.

Hors ligne

#5 2010-07-21 19:41:47

cali
Membre
Lille
2005-07-22
192

Re: problème à la notification

Merci pour la solution, je l'ai appliquée, et ça fonctionne nickel, super !
dis moi, une dernière question, je devrais ré appliquer cette modif à chaque maj de la galerie ?

merci encore

Hors ligne

#6 2010-07-21 22:55:09

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: problème à la notification

cali a écrit:

dis moi, une dernière question, je devrais ré appliquer cette modif à chaque maj de la galerie ?

Oui, mais j'espère que d'ici la, on aura fourni un correctif à la fonction move_ccs_rules_to_body.

Sinon, pour que ca soit définitif, tu peux ajouter cette ligne à ton plugin personnel:

Code:

remove_event_handler('send_mail_content', 'move_ccs_rules_to_body');

Hors ligne

#7 2010-07-23 17:31:22

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: problème à la notification

Je pense voir le soucis: il y a un nombre de caractères limités par ligne pour l'envoi de mails. Il faudrait donc éviter de couper au mauvais endroit!
Pour ca, autant rajouter d'office un saut de ligne après chaque règle css...

Je n'ai pas fait l'essai, mais dans le fichier include/functions_mail.inc.php, ligne 763, en remplaçant:

foreach ($selectors as $selector => $style)
    {
      if (!preg_match('/^(#|\.|)([A-Za-z0-9_-]*)$/', $selector, $matches))
      {
        $unknow_selectors .= $selector.' {'.implode('; ', $style).";}\n";
      }
      else switch ($matches[1])
      {
        case '#':
          $content = preg_replace('|id="'.$matches[2].'"|', 'id="'.$matches[2].'" style="'.implode('; ', $style).';"', $content);
          break;
        case '.':
          $content = preg_replace('|class="'.$matches[2].'"|', 'class="'.$matches[2].'" style="'.implode('; ', $style).';"', $content);
          break;
        default:
          $content = preg_replace('#<'.$matches[2].'( |>)#', '<'.$matches[2].' style="'.implode('; ', $style).';"$1', $content);
          break;
      }
    }

Par

foreach ($selectors as $selector => $style)
    {
      if (!preg_match('/^(#|\.|)([A-Za-z0-9_-]*)$/', $selector, $matches))
      {
        $unknow_selectors .= $selector.' {'.implode(";\n", $style).";}\n";
      }
      else switch ($matches[1])
      {
        case '#':
          $content = preg_replace('|id="'.$matches[2].'"|', 'id="'.$matches[2].'" style="'.implode(";\n", $style).";\"\n", $content);
          break;
        case '.':
          $content = preg_replace('|class="'.$matches[2].'"|', 'class="'.$matches[2].'" style="'.implode(";\n", $style).";\"\n", $content);
          break;
        default:
          $content = preg_replace('#<'.$matches[2].'( |>)#', '<'.$matches[2].' style="'.implode(";\n", $style).";\"\n$1", $content);
          break;
      }
    }

Ca devrait le faire... cali, rub,vous pouvez me confirmer ça?


P@t

Hors ligne

#8 2010-07-24 23:06:05

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: problème à la notification

Ca fonctionne nickel, j'ai remonté ta modif!

[Bugtracker] ticket 1778
[Subversion] r6705

Hors ligne

#9 2010-07-25 11:30:30

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: problème à la notification

rub a écrit:

Ca fonctionne nickel, j'ai remonté ta modif!

MR!


P@t

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact