Ciao a tutti.
Ho installato sul mio sito la Coppermine Photo Gallery, la quale prevede anche il multilanguage.
Ho settato il tutto in modo che sia possibile vedere la galleria con menu in italiano e inglese, tale informazione e' conservata sulla macchina dell'utente, tramite un cookie che si chiama cpg133_data.
Dal momento che voglio anche inserire una piccola pagina di notizie in stile blog, e' necessario che il linguaggio del blog e quello della galleria siano solidali.
Leggere il cookie scritto da Coppermine e ricavarne le informazioni sul linguaggio correntemente selezionato e' facile e se voglio ora posso far si' che il blog "segua" la lingua scelta nella galley.
Il problema sorge quando voglio SETTARE il linguaggio nel blog e riottenerlo uguale nella galleria. In sostanza anche se faccio un setcookie in modo corretto (almeno mi sembra che lo sia!) il cookie precedentemente scritto dalla gallery rimane invariato!!!
La funzione che utilizzo e' questa:
codice:
function my_set_language($cookieName, $cookie, $newLang)
{
//mi ricavo il linguaggio dal cookie corrispondente
//serve la decodifica perche' coppermine salva le info di lingua assieme a molta altra roba
$decoded = base64_decode($cookie);
$lines = explode (":",$decoded);
$lastline = array_pop($lines);
$pieces = explode("\"",$lastline);
$currentLanguage = $pieces[1];
//creo una nuova string uguale a quella letta, ma con il nuovo linguaggio settato
$decoded = base64_decode($cookie);
$nonLanguageText = explode($currentLanguage, $decoded);
$newLanguageString = base64_encode($nonLanguageText[0].$newLang.$nonLanguageText[1]);
//scrivo il nuovo cookie con la stringa appena ricavata
//questa parte non funziona!!!
setcookie ($cookieName, $newLanguageString, time() + 86400, "/");
}
Ho provato anche semplicemente a cancellare il cookie invece che sovrascriverlo, ma quello se ne fa ugualmente un baffo e rimane li'!!!!
Aiut!