PDA

Zobacz pełną wersję : Who's online



online
03-10-2007, 23:58
Czy moze ktos polecic dobry modul who's online, ktory bedzie od razu liczyl gosci i uzytkownikow przy pierwszym wejsciu na strone, bez odswiezania. Moze jest jakis hack na mod_whoisonline, zeby zaczal normalnie dzialac? Dzieki.

haponiuk
04-10-2007, 00:08
A może tu http://extensions.joomla.org/component/option,com_mtree/task,listcats/cat_id,1807/Itemid,35/ znajdziesz alternatywne rozwiązanie?

online
04-10-2007, 00:22
Dzieki, ale to juz sprawdzilem. Jak do tej pory najlepiej dziala mod_liveuserspro16f z linkiem do CB. Wstawilem go na jedna strone. Na innych dalej probuje rozpracowac stanadardowy modul.

birds22
12-11-2007, 21:27
Też próbuję rozwiązać ten temat. Z tego co zauważyłem to problemem nie jest moduł mod_whoisonline. Moduł wykonuje tylko proste zapytanie do tabeli #_session. Powodem jest to, że do tabeli wpis o nowej sesji dokonuje się dopiero po odświeżeniu strony lub wybraniu dowolnego linka.


Na dzień dzisiejszy (2007-11-14) problem rozwiązałem troszkę brzydko:
Dane :
Joomla! 1.0.13 utf-8
mod_whosonline.php,v 1.1 2007/04/01 09:06:59 amummey Exp $

dodałem wpis do modułu ustawiający ilość gości na 1 w momencie, gdy moduł wyliczy, że nie ma, żadnej sesji.



<?php
// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );
$showmode = $params->get( 'showmode', 0 );
$output = '';
// show online count
if ($showmode==0 || $showmode==2) {
$query = "SELECT guest, usertype"
. "\n FROM #__session"
;
$database->setQuery( $query );
$sessions = $database->loadObjectList();
// calculate number of guests and members
$user_array = 0;
$guest_array = 0;
foreach( $sessions as $session ) {
// if guest increase guest count by 1
if ( $session->guest == 1 && !$session->usertype ) {
$guest_array++;
}
// if member increase member count by 1
if ( $session->guest == 0 ) {
$user_array++;
}
}
// ta linijka oniżej to właśnie ten niezbyt ładny wpis - na razie działa ale szukam dalej
if ($guest_array == 0) {$guest_array = 1;}
// check if any guest or member is on the site
if ($guest_array != 0 || $user_array != 0) {