[ Vuk Nikolić @ 13.07.2005. 23:32 ] @
| cao svima,
odmah da kazem, ne zelim gotov kod, vec ideju kako da resim sledeci problem.
duze vreme radim na reorganizaciji mog foruma (sam sa ga radio od pocetka, zato ne zelim gotov kod :) ) i zelim da uradim sledece: da dok korisnik nije online a neko postavio poruku, da on ima obavestenje da u tom forumu (odnosno toj temi) ima novih poruka kad se vrati online.
imam ideju da se prilikom otvaranja svakog foruma registruje novo polje u $_SESSION-u u sledecoj formi $_SESSION['forum_$id'] = $trenutno_vreme, pri cemu je ovo $id id tog foruma, a $trenutno_vreme timestamp koji kaze koje je trenutno vreme, i analogno za temu $_SESSION['tema_$id'] = $trenutno_vreme a takodje postoji podatak u bazi kada je korisnik posljednji put bio online (koji drzim u $_SESSION['poslednja_poseta']).
ovaj sistem radi, sve dok korisnik ne zatvori browser, odnosno dok se sesija ne zavrsi.
e sad ja mislio da onda za svaku temu i forum pravim cookie-je ali to mi nekako ne deluje ko dobro resenje (npr korisnik otvori 100 tema i sad treba da ima i sto kukija, surovo).
sad mi treba vasa ideja, kako ovo resiti, ja mogu na ovaj nacin sa gomilom kukija, ali mi se ne svidja.
razmisljao sam da u bazi pamtim koji korisnik je kad pogledao koju temu, ali bi ta tabela bila ogromna i sve bi zakomplikovala (npr 100 korisnika 50 tema = 5000 suvisnih podataka u bazi)...
jel ima neko neki predlog :) |
[ byM4k5 @ 14.07.2005. 00:31 ] @
Citat:
green day: zelim da uradim sledece: da dok korisnik nije online a neko postavio poruku, da on ima obavestenje da u tom forumu (odnosno toj temi) ima novih poruka kad se vrati online.
Query novih postova i post tabele i samo ih isprintas.
Citat:
green day: razmisljao sam da u bazi pamtim koji korisnik je kad pogledao koju temu, ali bi ta tabela bila ogromna i sve bi zakomplikovala (npr 100 korisnika 50 tema = 5000 suvisnih podataka u bazi)...
Pogledaj neko vec gotovo rijesenje ovih OpenSource foruma. Mozda da pamtis kao niz (ne)posjecene nove teme.
[ Vuk Nikolić @ 14.07.2005. 10:54 ] @
Citat:
byM4k5: Query novih postova i post tabele i samo ih isprintas.
da, to jeste glavna ideja, ali me interesuje gde da pamtim podatke o tome ko je kad sta video.
[ m4j3v1c4 @ 14.07.2005. 20:43 ] @
Dodas polje u tabeli sa korisnicima koje ce da drzi vrijeme kada je korisnik zadnji put bio aktivan (npr "last_active" - ovo polje update-ujes svaki put kad klikne na neku stranicu foruma).
Kad dodje sledeci put, jednostavno provjeris gdje postoje poruke sa timestamp-om vecim od onog koji je zapisan kod njega "last_active" i u skladu s tim radis sta ti treba.
Hm... sad mi pade na pamet... kad dodje drugi put, imace na uvid gdje ima novih poruka, ali cim klikne jos negdje last_active ce da bude novi i automatski sve ostale poruke biti kao procitane :|
Heeeelp, cini mi se da sam na tragu, ali treba jos mudrijeh glava :)
[ m4j3v1c4 @ 14.07.2005. 20:49 ] @
Sjetio sam se :)
Kad dodje ponovo na forum, proletis kroz topic-e u kojima ima poruka sa vecim timestamp-om od onog koji stoji u "last_active", a zatim napravis sesiju u koju ces smjestiti niz sa njihovim id-ovima (topica, ne poruka :))
Kad korisnik cita neku temu, provjeris da li je njen id u nizu koji si zapamtio u sesiji, i ako ga ima onda ga uklonis iz niza (= topic procitan).
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.