Pagina 1 di 1
					
				Problema link nelle mail
				Inviato: 29/08/2012, 18:02
				da giova95
				Ciao a tutti, un mio utente mi ha fatto notare che c'è un piccolo bug nei link delle mail. Non è un bug solo del mio sito perchè accade su qualcuno forum phpBB, anche su questo.
Come sapete ci sono 3 link nelle mail, il bug è sul primo link, più precisamente questo:
Se vuoi vedere la risposta piu' recente dalla tua ultima visita, clicca
sul
seguente link:
http://link/
Il problema si presenta quando chi riceva la mail non è loggato sul sito.
Normalmente il topic dovrebbe essere raggiungibile anche dagli ospiti, ma cliccando sul link si viene reindirizzati alla pagina di login.
Il problema sembra essere nella parte finale del link:
viewtopic.php?f=13&t=8151&p=52159&e=52159
Ho messo un link di questo forum così potete verificare, effettuate il logout e provate a fare copia e incolla del link. Vedrete la pagina di login.
Se invece l'ultima parte viene sostituita in questo modo:
viewtopic.php?f=13&t=8151&p=52159#52159 (il numero finale come vedete è lo stesso)
allora il problema non si presenta 
(provare per credere) e si viene reindirizzati esattamente all'ultimo post.
A nome di tutta la community chiedo come si possa correggere l'errore, come risolverlo l'ho detto io stesso, però quello che serve è sapere dove agire.
Vi ringrazio,
Mirko
 
			 
			
					
				Re: Problema link nelle mail
				Inviato: 29/08/2012, 19:46
				da Angolo
				Ti prego cortesemente di rispondere a questo messaggio. Ho sottoscritto l'argomento.
Sto cercando ancora di capire la problematica. Vedi se per favore, puoi chiarire meglio la cosa.
			 
			
					
				Re: Problema link nelle mail
				Inviato: 29/08/2012, 20:14
				da giova95
				Scusatemi se mi sono spiegato male.
Nel momento in cui si sottoscrive un argomento ogni volta che qualcuno risponde si riceva una mail con il link del topic. 
La mail è strutturata un questo modo:
Ciao NomeUtente,
ricevi questa notifica perche' stai controllando il forum "NomeDelForum su "NomeDelSito". C'e' stata una risposta all'argomento dalla tua ultima visita. 
Tramite i link seguenti puoi vedere tutte le risposte;
non riceverai altre notifiche fino alla tua prossima visita.
Se vuoi vedere la risposta piu' recente dalla tua ultima visita, clicca
sul seguente link:
LinkDirettoAll'UltimaRisposta
Per visualizzare l'argomento clicca sul seguente link:
LinkDelTopic
Per visualizzare il forum clicca sul seguente link:
LinkDelForum
Se non desideri piu' controllare questo argomento puoi cliccare su
"Annulla sottoscrizione argomento" che trovi sull'argomento sottoscritto, o
cliccando sul link seguente:
LinkPerEliminareSottoscrizione
Se nel momento in cui il destinatario legge la mail non è loggato sul forum, cliccando sul link non visualizza il topic, ma la pagina di login, se poi effettua il login allora viene reindirizzato alla pagina giusta.
Il problema è che è fastidioso dover effettuare il login quasi obbligatoriamente per visualizzare la risposta.
La soluzione potrebbe essere quella di essere sempre loggati, ma credo che la cosa vada risolta comunque.
Come ho detto sopra ho capito che il problema sta nel parametro "e" del link, eliminandolo si risolve la situazione. È inoltre possibile sostituire il parametro e con il cancelletto seguito dal valore del parametro "e" per andare direttamente al punto desiderato all'interno della pagina.
Il problema è che io non so cosa si debba modificare per cambiare i link inviati nelle mail e quindi non posso offrire una soluzione completa al problema, se qualcuno ne sa qualcosa o riesce a risolvere in qualche modo sarebbe gradito che lo comunicasse.
 
			 
			
					
				Re: Problema link nelle mail
				Inviato: 29/08/2012, 20:25
				da Angolo
				Allora.. confermo che col primo link, si deve essere loggati... mentre col secondo no.
Bisogna stabilire se la cosa è voluta o se è un bug.
Segnalo la cosa a Carlo, per valutare se ritiene di inoltrarla al com.
Frattanto, non so se Micogian o lo stesso Carlo, o altri, vogliono proporre una modifica al codice.
			 
			
					
				Re: Problema link nelle mail
				Inviato: 29/08/2012, 21:32
				da Micogian
				Il messaggio che viene inviato se si sottoscrive un topic è contenuto in language/it/email/topic_notify.txt ed è il seguente:
Codice: Seleziona tutto
Subject: Notifica risposta argomento - "{TOPIC_TITLE}"
Ciao {USERNAME},
ricevi questa notifica perche' stai controllando il forum "{FORUM_NAME}" su "{SITENAME}". C'e' stata una risposta all'argomento dalla tua ultima visita. Tramite i link seguenti puoi vedere tutte le risposte; non riceverai altre notifiche fino alla tua prossima visita.
Se vuoi vedere la risposta piu' recente dalla tua ultima visita, clicca sul seguente link:
{U_NEWEST_POST}
Per visualizzare l'argomento clicca sul seguente link:
{U_TOPIC}
Per visualizzare il forum clicca sul seguente link:
{U_FORUM}
Se non desideri piu' controllare questo argomento puoi cliccare su "Annulla sottoscrizione argomento" che trovi sull'argomento sottoscritto, o cliccando sul link seguente:
{U_STOP_WATCHING_TOPIC}
{EMAIL_SIG}
E' facile intuire che la variabile del primo link è 
{U_NEWEST_POST}
Ora questa variabile viene creata nel file function_posting.php e precisamente con la riga
Codice: Seleziona tutto
'U_NEWEST_POST'			=> generate_board_url() . "/viewtopic.$phpEx?f=$forum_id&t=$topic_id&p=$post_id&e=$post_id",
che secondo me dovrebbe invece essere
Codice: Seleziona tutto
'U_NEWEST_POST'			=> generate_board_url() . "/viewtopic.$phpEx?f=$forum_id&t=$topic_id&p=$post_id#p$post_id",
 
			 
			
					
				Re: Problema link nelle mail
				Inviato: 29/08/2012, 22:10
				da Carlo
				Il login pare essere una cosa voluta.
Infatti, nel file 
viewtopic.php è possibile rintracciare ciò:
Codice: Seleziona tutto
// Redirect to login or to the correct post upon emailed notification links
if (isset($_GET['e']))
{
    $jump_to = request_var('e', 0);
    $redirect_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id");
    if ($user->data['user_id'] == ANONYMOUS)
    {
        login_box($redirect_url . "&p=$post_id&e=$jump_to", $user->lang['LOGIN_NOTIFY_TOPIC']);
    }
    if ($jump_to > 0)
    {
        // We direct the already logged in user to the correct post...
        redirect($redirect_url . ((!$post_id) ? "&p=$jump_to" : "&p=$post_id") . "#p$jump_to");
    }
} 
Il codice fa questo: se nell'URL è specificato il parametro "e", vuol dire che l'utente ha cliccato sul link di una e-mail, quindi passa prima per il login e poi da qui viene rinviato alla stessa pagina passando di nuovo il parametro "e" che contiene l'ID del post.
Dopo il login, questo codice nota che è un utente del forum e lo rimanda alla stessa pagina, sostituendo nell'URL il parametro "e" con "p", ed aggiungendo l'ancora "#pPOST_ID".
 
			 
			
					
				Re: Problema link nelle mail
				Inviato: 29/08/2012, 22:17
				da Micogian
				Hai ragione, non avevo notato questa parte di codice. Mi sembrava strano un errore del genere.
			 
			
					
				Re: Problema link nelle mail
				Inviato: 29/08/2012, 22:26
				da Carlo
				Forse ho capito il motivo per cui viene richiesto il login.
Se per esempio mi iscrivo a questo argomento, ricevo un e-mail appena viene scritto un post.
Nel frattempo (io devo ancora leggere il post), ne viene scritto un altro. Questa volta, non riceverò un e-mail, in quanto non ho ancora letto il post per cui mi è stata inviata un e-mail.
Ora decido di leggere l'argomento, andando manualmente sul forum e aprendo questo argomento (da ospite). Dopo la mia lettura, un nuovo post viene scritto, ma io non vengo ancora notificato, in quanto ho effettuato l'ultima lettura come ospite, e per phpBB io, in qualità di utente registrato, non ho ancora letto l'argomento.
Il parametro "e" presente nel link, forza l'utente ad autenticarsi, in modo tale che phpBB possa segnare l'argomento come letto, e quindi ricevere altre notifiche se un nuovo post viene scritto.
			 
			
					
				Re: Problema link nelle mail
				Inviato: 29/08/2012, 23:25
				da Micogian
				Il tuo ragionamento non fa una grinza, il parametro "e" non poteva essere un errore ed è ovvio che sia voluto.
			 
			
					
				Re: Problema link nelle mail
				Inviato: 30/08/2012, 8:30
				da giova95
				Vi ringrazio per le risposte tempestive.
Mi scuso per la segnalazione errata di un falso bug, in ogni caso penso che a qualcosa sia servito, ora se qualcuno vuole cambiare questo aspetto sa come farlo.
Penso che lo lascerò così com'è vista l'effettiva utilità 
Grazie ancora