Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: On 23 Července 2013, 07:24:02

Název: Detekce nepřečtených příspěvků na zdejším fóru
Přispěvatel: On 23 Července 2013, 07:24:02
Ahoj,

zrovna bych potřeboval do svého webu (PHP) zakomponovat funkci, která detekuje, byl-li příspěvek z diskuze přečten nebo ne.
Pokud ano, dojde k nějaké notifikaci (zde na fóru je to "new" u každého ještě nepřečteného příspěvku).

Souvisí to nějak se session, ale nepodařilo se mi zjistit jak..poradil by někdo?
Jediné co mě napadlo je zapisovat do DB u každého jména poslední URL v diskuzi.
Pokud přibude nový příspěvek (nové URL) a tudíž se nebude shodovat s tím, co je v DB, tak to zanotifikuje..asi by to nějak fungovalo, ale hádám, že to půjde nějak lépe?

díky
Název: Re:Detekce nepřečtených příspěvků na zdejším fóru
Přispěvatel: ETNyx 23 Července 2013, 09:47:47
Ahoj,

sessions jsou záležitostí daného serveru, pokud tedy nemáš přístup k serveru kde forum bezi tak se k nim asi nedostaneš. Od sessions se dostane jen jejich ID aby se mohly sesssion správně přiřadit ke správnému uživateli.

Nicméně SMF má API, ale je potřeba jej povolit/nainstalovat na konkrétním fóru, zda-li je zde nevím.

Tak asi jediná možnost na kterou se budeš moci spolehnout. Bude si sosnout uvodni stránku třeba pomocí curl a pro zjednodušení použít phpsimplehtmldoom (bo tak nějak se jmenuje ta knohovna) pro její parsování. Když si všimneš tak uplně dole v patičce úvodky je poslední příspěvěk a jeho čas, to prožeň pomoci strtotime a uloz do dtb pak to jen kontroluj s předchozí uloženou hodnotou. Pěkně to nahrň do cronu a jeto.

EDIT: jop to asi nebude to co jsi chtěl, že??? teďka jsem si to přečet ještě jednou :-D
Název: Re:Detekce nepřečtených příspěvků na zdejším fóru
Přispěvatel: On 23 Července 2013, 10:27:02
No, pravda, že cron do mého plánu nějak nezapadá :))

Ale přístup na server mám, je to můj server, kde mám webové aplikace, takže mám kontrolu nad vším..ta diskuze, to je velmi jednoduchá diskuze, žádné diskuzní fórum..lidi si tam jen vyměňuji info ohledně plánování nějakých událostí (chlastačky, fotbálky, counter-strike nebo tak něco :) )..takže hledám nějaké jednoduché, elegantní řešení pro zobrazení nepřečtených zpráv...

EDIT: tak něco jsem našel tady: http://diskuse.jakpsatweb.cz/?action=vthread&forum=28&topic=129692
Název: Re:Detekce nepřečtených příspěvků na zdejším fóru
Přispěvatel: ETNyx 23 Července 2013, 10:58:28
Ahh ja to pochopil tak že chceš sledovat forum.ubuntu.cz :-D

Tady asi bude záležet jak je ta diskuze napsaná. Každopádně budeš muset rozhodnout kde se ty data budou skladovat a každá má své pro a proti,... Když jsm měl napsané svoje pidi forum tak jsem porovnával celkový počet příspěvků ve vybraných diskuzí (nechtěl jsem upozorňovat na všechny, ale jen na 2) a protože přístup do fóra měli jen registrovaní uživatelé tak jsem ukládal součty do dtb k jednotlivým uživatelům. Protože cookies a sessions zpravidla nemají neomezenou platnost a v dtb jsem si to poladil sám. Nicméně pokud mají přístup do diskuze i neregistovaní členové bude lepší zvoli cookies, protože sessions mají zpravidla kratší platnost než cookies a datově to cpát do dtb by mohlo být náročné, budeš tak zpravovat roboty a všechny co tam přijdou navíc třeba z jeden človek z pěti PC bude mít pět záznamů,....
Název: Re:Detekce nepřečtených příspěvků na zdejším fóru
Přispěvatel: On 24 Července 2013, 13:02:20
Určitě to bude jen pro registrované uživatele...sledovat a porovnávat počet zpráv by šlo, ale jeden uživatel může založit X diskuzí. To bych musel ukládat pro jednoho uživatele počet u každé jeho založené diskuze..což by mi v tabulce "users" udělalo spíš binec. Možná se na to vyse*u a dám na úvodní stránku výpis poslední reakce..tím dotyčný hned uvidí, jestli tuto reakci zná nebo ne :)