function onAfterInitialise() { // Get Lifetime / Session Time from Global Configuration of Joomla! $config =& JFactory::getConfig(); $lifetime = (int) $config->getValue('config.lifetime'); $offset = (double) $config->getValue('config.offset'); // Get duration to insert new log. Default = 15 minutes / 900 seconds $vlifetime = $this->params->get('session_time', 15); $vlifetime = min($vlifetime, $lifetime); $vlifetime *= 60; // Determine Date/Time Now $now = mktime(); $hour_start = $now - $now % 3600; $vvisit_path = JPATH_ADMINISTRATOR . DS . "components" . DS . "com_vvisit_counter" . DS . "helpers"; $vvisit_exists = file_exists($vvisit_path . DS . "vinaora_visitors_counter.php"); if ($vvisit_exists) { require_once $vvisit_path . DS . "vinaora_visitors_counter.php"; } else { return; } // Get Last Time in the table #__vvcounter_logs $ltime = extVinaoraVisitorsCounter::lastTimeLog(); if (!$ltime) { $visits = extVinaoraVisitorsCounter::getVisitsOnline($vlifetime); extVinaoraVisitorsCounter::insertLog($now, $visits); // Update $ltime $ltime = $now; } else { if ($ltime < $hour_start) { // Get visits from Session and insert new Log $visits = extVinaoraVisitorsCounter::getVisitsFromSession($ltime + 1, $hour_start); extVinaoraVisitorsCounter::insertLog($hour_start, $visits); $ltime = $hour_start; } // Update $now $now = mktime(); if ($now >= $ltime + $vlifetime) { $visits = extVinaoraVisitorsCounter::getVisitsFromSession($ltime + 1); extVinaoraVisitorsCounter::insertLog($now, $visits); $ltime = $now; } } }
$month_visits += $today_visits; } // Count Last Month's Visits if ($s_lmonth) { if ($iscache) { $visits_array = $cache->call(array('extVinaoraVisitorsCounter', 'getVisits'), $local_lmonthstart, $local_monthstart); } else { $visits_array = extVinaoraVisitorsCounter::getVisits($local_lmonthstart, $local_monthstart); } $lmonth_visits = $visits_array['visits']; } // Count Online in x minutes $online_time = ONLINE_TIME_DEFAULT; $online_time *= 60; if ($s_online) { $online_visits_array = extVinaoraVisitorsCounter::getVisits(0, 0, $online_time); //$online_visits = $visits_array['visits']; } // END: CACULATE VISITORS /* ------------------------------------------------------------------------------------------------ */ // Show non-zero statistic if ($autohide && !$yesterday_visits) { $s_yesterday = false; } if ($autohide && !$lweek_visits) { $s_lweek = false; } if ($autohide && !$lmonth_visits) { $s_lmonth = false; } $time =& JFactory::getDate();
function migrateTable($now = '') { $now = empty($now) ? mktime() : (int) $now; $visits_array = array("visits" => 0, "guests" => 0, "members" => 0, "bots" => 0); $config =& JFactory::getConfig(); $offset = (double) $config->getValue('config.offset'); $issunday = true; $datetime =& extVisitCounterDateTime::getTimeStart($offset, $issunday, $now); $daystart = $datetime["daystart"]; $local_daystart = $datetime["local_daystart"]; $yesterdaystart = $datetime["yesterdaystart"]; $local_yesterdaystart = $datetime["local_yesterdaystart"]; $weekstart = $datetime["weekstart"]; $local_weekstart = $datetime["local_weekstart"]; $lweekstart = $datetime["lweekstart"]; $local_lweekstart = $datetime["local_lweekstart"]; $monthstart = $datetime["monthstart"]; $local_monthstart = $datetime["local_monthstart"]; $lmonthstart = $datetime["lmonthstart"]; $local_lmonthstart = $datetime["local_lmonthstart"]; asort($datetime); $visits_array['visits'] = extVisitCounterUpgrade::getVisits(0, current($datetime)); extVinaoraVisitorsCounter::insertLog(current($datetime), $visits_array); while ($cur_time = current($datetime)) { $next_time = next($datetime); if ($cur_time != $next_time && !empty($next_time)) { $visits_array['visits'] = extVisitCounterUpgrade::getVisits($cur_time, $next_time); extVinaoraVisitorsCounter::insertLog($next_time, $visits_array); } } $visits_array['visits'] = extVisitCounterUpgrade::getVisits(end($datetime), 0); extVinaoraVisitorsCounter::insertLog($now - 1, $visits_array); }