Meist gelesene Seiten [Topics, 2]
Wieder einmal habe ich auf dem Thema herumgekaut - und dann Google Bard gefragt. Die KI hatte tatsächliche eine überraschend einfache Antwort: Berechne einfach die durchschnittlichen Aufrufe pro Tag. Dann wird auch das Alter mitgerechnet.
Dafür brauche ich nur ein weiteres Feld: Den Zähler. Weil aber schon geraume Zeit in das Feld topic_score reingezählt wird, muss dieses umbenannt werden zu topic_score_counter und das Feld topic_score neu angelegt werden. Das passiert in upgrade.php. Ebendort werden dann auch gleich mal die ganzen Werte für topic_score neu berechnet und schwupp: passt.
Ab dann wird bei jedem Seitenaufruf in view.final.php ausgeführt:
if(!empty($_SERVER['HTTP_USER_AGENT']) and preg_match('~(bot|crawl)~i',
$_SERVER['HTTP_USER_AGENT'])){
//Bot or Crawler: https://stackoverflow.com/questions/17515381/exclude-bots-and-spiders-from-a-view-counter-in-php
} else {
$topic_score_counter = (int) $topic['topic_score_counter'];
$topic_score_counter ++;
//Startzeit:
$posted_first = (int) $topic['posted_first'];
if ($posted_first == 0) {$posted_first =(int) $topic['published_when'];} //0 korrigieren
$age = floor ( ($t - $posted_first) / (3600 * 24) );
$visitsPerDay = $topic_score_counter / $age;
//Das ist meistens unter 1,
dh score ist mal 1000
$topic_score = (int) floor(1000 * $visitsPerDay);
if ($topic['title'] == '' OR $topic_score_counter < 10) {$topic_score = 0;} //neu angelegt
$theq = "UPDATE ".TABLE_PREFIX."mod_".$tablename. " SET topic_score = $topic_score,
topic_score_counter = $topic_score_counter,
posted_first = $posted_first WHERE topic_id = ".TOPIC_ID.";";
$database->query($theq);
}
Das könnte ich sicher noch verfeinern. Aber fürs erste wird es reichen. Kommt mit der nächsten Topics-Version 1.2.4
Für Tipps und Verbesserungsvorschläge bin ich natürlich offen!

fragstanEin Design für große Ansprüche
lesefaken
lichtfjyrDie helle Seite von Naebfjyr
Tooplate Blue Wave Resp.
KlawinverSchlicht, klar, funktioniert gut
AeromstingTragfähig
DanFuh NueEin Remake von Danfuh Dark 2
Naebfjyr2Big responsive slideshow #2