[2.3] Who Read This Thread?

rellek

relativ sensationell
Teammitglied
AW: Who Read This Thread?

Hast du das IP-Addon richtig eingebaut?

Weil ich hab mal die beiden relevanten Zeilen extrahiert und da läufts:
PHP:
<?php

$row = Array('ips' => '123.456.789\n234.567.890\n12356.4567.5344');
print_r($row);

$row['ips'] = explode('\n', $row['ips']);
print_r($row);
echo count($row['ips'])-1;
echo "\n";
echo $row['ips'] = $row['ips'][count($row['ips'])-1];

?>
gibt das aus:
Code:
Array
(
    [ips] => 123.456.789\n234.567.890\n12356.4567.5344
)
Array
(
    [ips] => Array
        (
            [0] => 123.456.789
            [1] => 234.567.890
            [2] => 12356.4567.5344
        )

)
2
12356.4567.5344
Zuerst alles (so sollte es auch in der Datenbank stehen), dann gesplittet nach IP, dann die letzte ID und zum Schluss nur den letzten Eintrag.
 

EleaNor

Formally known as <b>Hell_Boy</b>
AW: Who Read This Thread?

Hm, im normalfall schon..

Ich schaue mal nach und melde mich nochmal ok ;)
Aber Danke dir erst mal.. :D
 

rellek

relativ sensationell
Teammitglied
AW: Who Read This Thread?

wichtig sind nur die änderungen in der thread.php. das template funktioniert ja offensichtlich :)
 

EleaNor

Formally known as <b>Hell_Boy</b>
AW: Who Read This Thread?

Hm, die Änderungen hab ich gemacht ???
Also hatte ich schon ??
 

rellek

relativ sensationell
Teammitglied
AW: Who Read This Thread?

sry, bin grad in Köln wegen gamescom, Internet ist Glückssache :(
deshalb nur zwischen tür und angel:
könnte man mal deine dateien (die geänderten) sowie die templates vom hack bekommen?
wann ich da nachschauen kann, weiß ich aber noch nciht, weil das hier nicht so wirklich angenehm ist. aber montag bin ich wieder daheim.
 

EleaNor

Formally known as <b>Hell_Boy</b>
AW: Who Read This Thread?

Kein Problem,
war selber die Tage net daheim :D ;)
Hier dann die Daten ;)
 

Anhänge

  • backup.rar
    19,8 KB · Aufrufe: 20

EleaNor

Formally known as <b>Hell_Boy</b>
AW: Who Read This Thread?

HM, wolte mal nachfragen wie es ausschaut ???

Schon irgendwie was feststellen können ??? :D ;)
 

rellek

relativ sensationell
Teammitglied
AW: Who Read This Thread?

Ach ja, das kann ja nu eigentlich nur was total simples sein, wo keiner drauf kommen kann. Darum zweite Variante. Klappt das?

statt:
Code:
  $row['ips'] = explode('\n', $row['ips']);
  $row['ips'] = $row['ips'][count($row['ips'])-1];

das:
Code:
$row['ips'] = substr($row['ips'], strrpos($row['ips'], "n"));

in der misc.php

Das sollte theoretisch auch die letzte Zeile liefern. Wenn auch nicht ganz so elegant.
 
D

deleted 2809

Guest
AW: Who Read This Thread?

Hab da auch interesse dran das man nur die letzte IP des User sieht, höchstens die letzten 3.
 

rellek

relativ sensationell
Teammitglied
AW: Who Read This Thread?

Für die Nachwelt. Betrifft wohl alle Versionen.

BUGFIX: Gleiche User werden - bei neueren PHP-Versionen - als verschiedene User eingetragen.
thread.php, suche:
PHP:
$readcount=$db->query_first("SELECT ips, COUNT(*) FROM bb".$n."_threads_users WHERE threadid='$threadid' AND userid='$wbbuserdata[userid]' GROUP BY userid");

if($readcount[0]==0){
ersetze durch:
PHP:
$readcount=$db->query_first("SELECT ips, COUNT(*) AS c FROM bb".$n."_threads_users WHERE threadid='$threadid' AND userid='$wbbuserdata[userid]' GROUP BY userid");

if($readcount['c']==0){
---------------------------

ERWEITERUNG fürs IP-Addon:
Zeige nur die letzte IP eines Users an:
misc.php, suche:
PHP:
  $lastreaddate=formatdate($wbbuserdata['dateformat'],$row['readtime'],1);
  $lastreadtime=formatdate($wbbuserdata['timeformat'],$row['readtime']);
danach einfügen:
PHP:
  $row['ips'] = explode("\n", $row['ips']);
$row['ips'] = $row['ips'][count($row['ips'])-1];
---------------------------

ERWEITERUNG fürs IP-Addon
Zeige nur die letzten n IPs eines Users an. ACHTUNG: NICHT gleichzeitig mit "zeige nur letzte IP" verwenden!!!
misc.php, suche:
PHP:
   $lastreaddate=formatdate($wbbuserdata['dateformat'],$row['readtime'],1);
   $lastreadtime=formatdate($wbbuserdata['timeformat'],$row['readtime']);
danach einfügen:
PHP:
  $row['ips'] = explode("\n", $row['ips']);
    $anzahl = 5;
    
    $tmpips = '';
    for($x = count($row['ips'])-$anzahl; $x < count($row['ips']); $x++)
        $tmpips .= $row['ips'][$x]."<br />";
    
    $row['ips'] = substr($tmpips, 0, -6);
Den Wert bei "$anzahl" ruhig anpassen, wenn 5 nicht ok ist.
 
D

deleted 2809

Guest
AW: Who Read This Thread?

Wie schon bei Twitter erwähnt, ich hab beide Varianten probiert und sie funktionieren beide einwandfrei. ;)

thx rellek :yo
 

The Fury

New Member
AW: Who Read This Thread?

Ahoi,

habe mal den Bugfix benutzt, aber mir werden immer noch 2 Gleiche User angezeigt.

MfG
 
Oben