-
dilemma forum
ciao a tutti... mi rivolgo soprattutto a chi ha gia creato un forum (debug, marcio ecc) e a tutti coloro che lo sanno... per ogni mess come si fa a far cambiare img o comunque mostrare scritte diverse se un utente ha gia letto il mess o lo deve leggere? servirebbe una tabella per ogni topic... nn riesco a trovare la soluzione...
ciao!!
giako
-
Intendi come qui su AV, vero?
HEHEHE bella domanda!
E da molto che tento di capire.... a dir la verità non mi ci sono sbattuto poi tanto, mi sono inventato una cavolatina per metterci cmq qualcosa, ma non a livello di singoli topic, ma delle stanze! ;)
Sorry, aspetto anche io una risposta soddisfacente! :)
Ciaoooooooo!!!!!!!!!
-
azz! confidavo in te!! sigh sob :D
se qualcuno lo sa please risp!
cmq ho provato a cercare nei sorgenti del forum ma ci sono circa 850 rige per pagina nn ce capisco una mazza...
ciao!!
giako
-
Bisognerebbe spulciare i sorgenti del vBulletin, magari c'è una tabella dedicata nel db....
Ciaooo!!!
-
usare una tabella procurerebbe un database enorme...
phpbb in teoria funzia così:
appena l'utete entra avvia la sessione e contrassegna come "nuovi" tutti i messaggi che sono stati inviati dopo il suo ultimo "click" (dopo la sua ultima visita)
a quel punto appena un utente entra in un topic questo salva in un cookie la data e l'ora dell'ultimo accesso a quel topic...
così di ogni thread visitato in quella sessione l'utente sa cos'ha visto e cosa no...
ovviamente se fa il log out e rientra tutti i topics gli risultano come letti in quanto la sua ultima visita è recente ;)
in particolare questo è il codice di phpbb (viewtopic.php):
Codice PHP:
//
// Set a cookie for this topic
//
if ( $userdata['session_logged_in'] )
{
$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
if ( !empty($tracking_topics[$topic_id]) && !empty($tracking_forums[$forum_id]) )
{
$topic_last_read = ( $tracking_topics[$topic_id] > $tracking_forums[$forum_id] ) ? $tracking_topics[$topic_id] : $tracking_forums[$forum_id];
}
else if ( !empty($tracking_topics[$topic_id]) || !empty($tracking_forums[$forum_id]) )
{
$topic_last_read = ( !empty($tracking_topics[$topic_id]) ) ? $tracking_topics[$topic_id] : $tracking_forums[$forum_id];
}
else
{
$topic_last_read = $userdata['user_lastvisit'];
}
if ( count($tracking_topics) >= 150 && empty($tracking_topics[$topic_id]) )
{
asort($tracking_topics);
unset($tracking_topics[key($tracking_topics)]);
}
$tracking_topics[$topic_id] = time();
setcookie($board_config['cookie_name'] . '_t', serialize($tracking_topics), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
}
vbulletin ce l'avrei anche qua... ma non perdo nemmeno tempo... perchè non so se si possono postare i sorgenti (penso di no... :/)
PS: ho notato solo ora guardando il codice che il massimo conteggio viene fatto per 150topics... oltre il cookie viene resettato e si riparte da zero...
-
azz!! grazie mille evcz... usare il db occuperebbe troppe tab mannaggia...
ciao!!
giako