Bonjour,
Pour ceux à qui Felamimail demande à chaque ouverture d’un mail avec accusé réception de valider la lecture de ce mail, voici une proposition de code pour éviter ce désagrément.
Principe de la modification : on ne se préoccupe pas des notifications d’envoi lorsque qu’un mail a déjà été lu. Par contre, si le mail est non lu, alors on affiche la demande de notification. Il n’y a donc aucune action du côté du serveur de mail, juste un test côté Felamimail
La modification pour egroupware 1.6.001 : fichier felamimail/inc/class.uidisplay.inc.php - ligne 229 + ligne 282
remplacer
225 #_debug_array($bodyParts); exit;
226 #_debug_array($this->bofelamimail->getFlags($this->uid)); exit;
227 // flag the message as read/seen
228 if (!empty($this->uid)) $this->bofelamimail->flagMessages(‘read’, $this->uid);
229
230 $nextMessage = $this->bofelamimail->getNextMessage($this->mailbox, $this->uid);
par
#_debug_array($bodyParts); exit;
226 #_debug_array($this->bofelamimail->getFlags($this->uid)); exit;
227
228 //modif INTRANET - on n affiche pas la demande d accuse de reception si la mail a deja ete lu
229 // Test si le message est deja lu ou pas
230 $test = $this->bofelamimail->getFlags($this->uid);
231 if ($test[0][0] == “\Seen” || $test[0][1]=="\Seen") $lu_cco[$this->uid] = 1;
232 else $lu_cco[$this->uid] = 0;
233 //fin modif INTRANET
234
235 // flag the message as read/seen
236 if (!empty($this->uid)) $this->bofelamimail->flagMessages(‘read’, $this->uid);
237
238 $nextMessage = $this->bofelamimail->getNextMessage($this->mailbox, $this->uid);
et remplacer
275 } else {
276 $this->t->set_file(array(“displayMsg” => “view_message_printable.tpl”));
277 $this->t->set_var(‘charset’,$GLOBALS[‘egw’]->translation->charset());
278 }
279
280 $this->t->set_var(‘sentNotify’,‘sendNotify("’.$this->uid.’");’);
281 $this->t->set_var(‘lang_sendnotify’,lang(‘The message sender has requested a response to indicate that you have read this message. Would you like to send a receipt?’));
par
275 } else {
276 $this->t->set_file(array(“displayMsg” => “view_message_printable.tpl”));
277 $this->t->set_var(‘charset’,$GLOBALS[‘egw’]->translation->charset());
278 }
279
280 //modif INTRANET - on ne demande pas de notification de reception si le mail a ete lu
281 //if ( $sent_not != “” && $this->bofelamimail->getNotifyFlags($this->uid) === null ) {
282 if ( $sent_not != “” && $this->bofelamimail->getNotifyFlags($this->uid) === null && $lu_cco[$this->uid] == 0) {
283 //fin modif INTRANET
284 $this->t->set_var(‘sentNotify’,‘sendNotify("’.$this->uid.’");’);
285 $this->t->set_var(‘lang_sendnotify’,lang(‘The message sender has requested a response to indicate that you have read this message. Would you like to send a receipt?’));
Si cela peut servir …
Bonne adaptation