Plugin contatti problema con byte order mark (BOM) Plugin contatti problema con byte order mark (BOM)
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Plugin contatti problema con byte order mark (BOM)

Started by VEGA, July 23, 2010, 06:02:42 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

VEGA

Quando ricevo un messaggio al posto delle lettere accentate appaiono caratteri strani. Nei file della lingua del plugin ho eliminato alcuni caratteri che si erano creati prima del tag <?php. Il problema persiste. Chiedo se qualcuno di voi ha avuto e risolto questo tipo di problema

Grazie
Simone

Davide Renda

Mai usato quel plugin, ma hai controllato anche i settaggi della galleria? UTF-8?

VEGA

Quote from: Davide Renda on July 26, 2010, 07:33:51 PM
hai controllato anche i settaggi della galleria? UTF-8?

Encoding Caratteri è impostata su UTF-8

Ludo

Stesso problema della mia integrazione di Advanced Guestbook: devi impostare ad UTF-8 anche la codifica caratteri del programma di posta. ;)

VEGA

Intendi (nel mio caso) outlook express? è già impostato così. Menù Visualizza--->Codifica---> Unicode UTF-8. Forse potrebbe essere lato server?! ho l'email info@miosito.it

Ludo

Hmmm...riesci a incollare qui il messaggio incriminato, comprese le intestazioni (Header)?

VEGA

Il messaggio che ricevo è così: l'oggetto sarebbe "questo è un messaggio" il contenuto: "questo è un messaggio. L'altro è gìà stato inviato" (per evidenziare gli errori provocati da accento e apostrofo)

oggetto: Invio email dal sito : questo è un messaggio

Please find below a message submitted by 'Simone' on 31/07/2010 at 16:51

questo è un messaggio. L&#39;altro è già stato inviato


Received: (qmail 9420 invoked from network); 31 Jul 2010 16:51:38 +0200
Received: from plesk-unix.natan.it (217.73.226.130)
  by mxavas.natan.it with (DHE-RSA-AES256-SHA encrypted) SMTP; 31 Jul 2010 16:51:38 +0200
Received: (qmail 2397 invoked by uid 10622); 31 Jul 2010 16:51:34 +0200
Date: 31 Jul 2010 16:51:34 +0200
Message-ID: <20100731145134.2395.qmail@plesk-unix.natan.it>
X-Additional-Header: /var/www/vhosts/maranimage.it/httpdocs
To: info@maranimage.it
Subject: Invio email dal sito : questo è un messaggio
From: pippo2@email.it
Reply-To: pippo2@email.it
X-Mailer: PHP/5.1.6

Ludo

Mi sa, allora, che il plugin invia messaggi in formato HTML: prova a visualizzarlo come tale anche nel programma di posta.
Se non cambia nulla, fai l'operazione inversa sulla codifica caratteri: da UTF-8 a Latin1.

VEGA

Quote from: Ludo on August 02, 2010, 03:17:30 PM
Mi sa, allora, che il plugin invia messaggi in formato HTML: prova a visualizzarlo come tale anche nel programma di posta.
Se non cambia nulla, fai l'operazione inversa sulla codifica caratteri: da UTF-8 a Latin1.

con la codifica caratteri non cambia niente. Per il formato html in ricezione, con outlook express, ho l'opzione solo per l'invio html

....mi sembra strano che solo io ho questo problema nel forum inglese nessuno si lamenta ???

Ludo

La cosa mi incuriosisce...prova a impostare il plugin per inviare la posta all'indirizzo che ti comunicherò via email, e fai una prova in modo che mi mandi un messaggio :)

VEGA


Ludo

#11
Ricevuta l'email di prova, e c.v.d. il problema è nella codifica caratteri dell'email, impostata su us-ascii, che il mio Thunderbird non riesce a visualizzare correttamente nemmeno selezionando altre codifiche.
Devi riuscire a cambiarla in utf-8 o iso-8859-1 nel codice sorgente del plugin che la genera (dovrebbe essere nel file codebase.php), se non riesci magari me lo scarico e ci dò un'occhiata.

VEGA

ti posto il codice di codebase.php

<?php
/*************************
  Coppermine Photo Gallery
  ************************
  Copyright (c) 2003-2006 Coppermine Dev Team
  v1.1 originally written by Gregory DEMAR

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

/*********************************************
  Plugin Coded by Frantz Based on Gizmo MOD
  
  Fixing contact button positioning & Added CAPTCHA confirmation
  by B.Mossavari (Sami)
**********************************************/

if (!defined('IN_COPPERMINE')) die('Not in Coppermine...');
require (
'plugins/contact/include/init.inc.php');
// Add an install action
$thisplugin->add_action('plugin_install','contact_install');

// Add a configure action
$thisplugin->add_action('plugin_configure','contact_configure');

// User menus , (fixed by Sami)
$thisplugin->add_action('page_start','contact_page_start');




// Install function
// Checks if uid is 'me' and pwd is 'you'; If so, then install the plugin
function contact_install() {

    
// Install
    
if ($_POST['submit']==$lang_plugin_contact['button_install']) {

        return 
true;

    
// Loop again
    
} else {

        return 
1;
    }
}

// Configure function
// Displays the form
function contact_configure() {
    global 
$CONFIG$lang_plugin_contact;
require ('plugins/contact/include/init.inc.php');

echo <<< EOT
<h2>{$lang_plugin_contact['install_click']}</h2>
{$lang_plugin_contact['install_note']}<br />
<br />
<form action="
{$_SERVER['REQUEST_URI']}" method="post">
<input type="submit" value="
{$lang_plugin_contact['button_install']}" name="submit" />
</form>
EOT;
}
// create button template from current sys menu template (added by Sami)
function contact_add_admin_button($href,$title,$target,$link)
{
  global 
$template_sys_menu$template_sys_menu_spacer;

  
$new_template=$template_sys_menu;
  
$button=template_extract_block($new_template,'home');
  
   
$params = array(
      
'{HOME_LNK}' => $target,
      
'{HOME_TITLE}' => $title,
      
'{HOME_TGT}' => $href,
      
'home' => $link,
   );
   
$new_button="<!-- BEGIN $link -->".template_eval($button,$params)."<!-- END $link -->\n";
   
template_extract_block($template_sys_menu,'home',"<!-- BEGIN home -->" $button "<!-- END home -->\n" .$new_button);
}

// Add contact button after home under sys menu (added by Sami)
function contact_page_start()
{
  
  
global $template_sys_menu$template_sys_menu_spacer$template_sys_menu_button$sys_menu_buttons;
    global 
$CONFIG$lang_plugin_contact;

    require (
'plugins/contact/include/init.inc.php');
require_once('plugins/contact/include/captcha.class.php');
  
  
  
contact_add_admin_button('index.php?file=contact/contact',$lang_plugin_contact['menu_link'],$lang_plugin_contact['menu_link'],$lang_plugin_contact['menu_link']);
}

?>


Ludo

#13
Ho scaricato il plugin ed ho capito, è il PHP installato sul tuo server ad essere configurato per mandare mail con codifica us-ascii. In questo modo dovresti risolvere:

APRI
plugins/contact/fcf_parse.php

TROVA
$headers = 'From: '.$email_from."\r\n" .

SOSTITUISCI CON
$headers = 'Content-type: text/html; charset='.$lang_charset."\r\n" .
'From: '.$email_from."\r\n" .


SALVA E CHIUDI

VEGA

nel messaggio ricevuto il campo da è vuoto. Le lettere accentate sono visualizzate. Invece al posto dell'apostrofo appare: &#39;

Ludo

#15
Ripostami le intestazioni del messaggio, includendo la riga "Content-type".
Per l'apostrofo, prova a cambiare il content-type da text/plain a text/html

VEGA

avevo messo male il codice.
Allora:

nel campo DA appare l'email del mittente. apostro e accenti ancora hanno lo stesso problema

Content-type:  text/html; charset=utf-8
Date:  5 Aug 2010 11:56:01 +0200 [11:56:01 CEST]
From:  email@email.it
Message-ID:  <20100805095601.32160.qmail@plesk-unix.natan.it>
Received:  •(qmail 3886 invoked from network); 5 Aug 2010 11:56:05 +0200
•from plesk-unix.natan.it (217.73.226.130) by mxavas.natan.it with (DHE-RSA-AES256-SHA encrypted) SMTP; 5 Aug 2010 11:56:04 +0200
•(qmail 32162 invoked by uid 10622); 5 Aug 2010 11:56:01 +0200

Reply-To:  email@email.it
Subject:  Invio email dal sito : nessuno
To:  info@maranimage.it
X-Additional-Header:  /var/www/vhosts/maranimage.it/httpdocs
X-Mailer:  PHP/5.1.6 

Ludo

Rimandami un'email di prova come ieri, và :)
Anzi, due: una con Content-Type text/plain, l'altra con text/html.

VEGA


VEGA

Risolto.
Resterebbe il problema (che non riguarda il plugin) nel caso in cui nell'oggetto del messaggio venga inserita una parola con l'apostrofo. Come indicato da LUDO, si può risolvere:

nel file fcf_parse.php, trovare:

$email_subject = $email_subject_pre." ".stripslashes($_POST['Subject']);

sostituirlo con

$email_subject = $email_subject_pre."
".html_entity_decode(stripslashes($_POST['Subject']), ENT_QUOTES,
$lang_charset);


Grazie Ludo ;)