|
|
@ -30,6 +30,7 @@ |
|
|
|
global $config; |
|
|
|
$query = query("SELECT * FROM ``news`` ORDER BY `time` DESC") or error(db_error()); |
|
|
|
$news = $query->fetchAll(PDO::FETCH_ASSOC); |
|
|
|
$stats = Categories::getPostStatistics($settings); |
|
|
|
return Element( |
|
|
|
'themes/categories/frames.html', |
|
|
|
Array( |
|
|
@ -37,6 +38,7 @@ |
|
|
|
'settings' => $settings, |
|
|
|
'categories' => Categories::getCategories($config), |
|
|
|
'news' => $news, |
|
|
|
'stats' => $stats, |
|
|
|
'boardlist' => createBoardlist(false) |
|
|
|
|
|
|
|
) |
|
|
@ -83,6 +85,38 @@ |
|
|
|
|
|
|
|
return $categories; |
|
|
|
} |
|
|
|
|
|
|
|
private static function getPostStatistics($settings) { |
|
|
|
$boards = query("SELECT uri FROM ``boards``"); |
|
|
|
$unique = Array(); |
|
|
|
$pph = 0; |
|
|
|
|
|
|
|
foreach ($boards->fetchAll() as $_board) { |
|
|
|
$pph_query = query( |
|
|
|
sprintf("SELECT COUNT(*) AS count FROM ``posts_%s`` WHERE time > %d", |
|
|
|
$_board['uri'], |
|
|
|
time()-3600) |
|
|
|
) or error(db_error()); |
|
|
|
|
|
|
|
$pph += $pph_query->fetch()['count']; |
|
|
|
|
|
|
|
$unique_query = query( |
|
|
|
sprintf("SELECT ip FROM ``posts_%s`` WHERE time > %d", |
|
|
|
$_board['uri'], |
|
|
|
time()-3600) |
|
|
|
) or error(db_error()); |
|
|
|
|
|
|
|
foreach ($unique_query->fetchAll() as $_k => $row) { |
|
|
|
$unique[$row['ip']] = true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
$unique_ip_count = count($unique); |
|
|
|
|
|
|
|
return Array('pph' => $pph, 'unique_ip_count' => $unique_ip_count); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
?> |
|
|
|