Das ist eigentlich recht easy aufgebaut, es zählt allerdings erstmal nur die Gesamt Klicks und nicht die pro Tag /Monat / Jahr aber das wäre ja schnell gemacht, mit drei weiteren Datenbank feldern.
Datenbank
-- Adminer 3.7.1 MySQL dump
SET NAMES utf8;
SET foreign_key_checks = 0;
SET time_zone = '+02:00';
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
DROP TABLE IF EXISTS `ic1_stats_content`;
CREATE TABLE `ic1_stats_content` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`content` varchar(255) COLLATE latin1_general_ci NOT NULL,
`counter` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
-- 2014-10-07 18:06:26
Dann benötigst du folgende Funktion, diese kannst du z.B. mit in die statistik.php kopieren.
# loggt die aufgerufene Content-Seite
function content_stats($m) {
$numrows = db_count_query("SELECT COUNT(id) FROM `prefix_stats_content` WHERE content = '".$m."'");
if ($numrows == 0) {
if(db_query("INSERT INTO `prefix_stats_content` (content, counter) VALUES ('".$m."', '1')")) {
debug ('"'.$m.'" zu ContentStats hinzugefuegt');
} else {
debug ('"'.$m.'" konnte nicht geloggt werden');
}
} else
if ($numrows >= 1) {
db_query("UPDATE `prefix_stats_content` SET counter = counter +1 WHERE content = '".$m."'");
debug ('ContentStats aktualisiert...');
}
}
Dann muss die Funktion integriert werden, dazu in der func/user.php
nach der Funktion user_update_database suchen und dort folgendes nach dem $dif einfügen
global $allgAr;
if (empty($menuComplete)) {
$menuComplete = $allgAr['smodul'] . ' (Startseite)';
}
if (function_exists('content_stats')) {
content_stats($menuComplete);
}
debug('"' . $menuComplete . '" als Aufenthaltsort erkannt');
So damit sollte das schon mal gehen.
Ich hoffe ich habe jetzt nicht vergessen, ansosnten dient es dir vielleicht als ansatz